东莞市中启塑胶欢迎您!

您现在的位置: 网站首页 > 弹性体资讯 > 聚氨酯知识 > TPU加工问题 >

介绍Google、deepmind、Microsoft和Uber Cup大规模培训深

来源:www.0tpe.com 发布时间:2020-09-15热度:
大规模培训是在现实世界中建立深厚的学习解决方案的最具挑战性的方面之一。从培训到优化,深刻学习程序的生命周期需要强大的基础设施构建模块,能够并行化和扩展计算工作负载...
中启专业TPU、TPE、TPR、TPV生产厂家

介绍Google、deepmind、Microsoft和Uber Cup大规模培训深

大规模培训是在现实世界中建立深厚的学习解决方案的最具挑战性的方面之一。从培训到优化,深刻学习程序的生命周期需要强大的基础设施构建模块,能够并行化和扩展计算工作负载。虽然深学习框架的迅速发展,相应的基础设施模式仍处于起步阶段。在过去的几年中,科技巨头谷歌,微软,尤伯杯,DeepMind等公司都定期发布研究成果在大型基础设施GPU实现深度学习模型的并行化。

分布式和并行化计算的原理与深度学习程序生命周期的几乎所有阶段都息息相关。训练一个深度学习模型是一项非常昂贵的练习,它的执行也是如此。显而易见的答案是,可以利用大型GPU网络来分配深度学习程序的工作负载,但这绝非易事。众所周知,并发和并行编程是非常复杂的,在应用于大型神经网络时更是如此。今天,我想回顾一下在谷歌、DeepMind、Microsoft和Uber中用于并行化大规模深度学习模型训练的一些顶级架构。

谷歌的GPipe

GPipe侧重于扩大培训工作量深度学习项目。从基础设施的角度来看,培训过程的复杂性,往往是在深的学习模式忽视的一个方面。训练数据集变得越来越大,越来越复杂。例如,在医疗保健领域,它的情况并不少见到需要使用数以百万计的高分辨率图像的进行培训,遇到模型。其结果是,在训练过程通常需要很长的时间才能完成,而且由于内存和CPU消耗的成本也非常高。

深划分学习模型的并行性数据并行模型和并行是研究深度学习模型的并行度的有效方法。数据并行方法使用了大量的机群集的分割的输入数据。型号并行尝试的模式转变到加速与专用硬件来加速模型训练,如GPU或TPU。几乎所有的训练数据集可以按照一定的逻辑被并行化,但该模型是不这样。例如,一些深层次的学习模型是由可独立训练的并联支路。在这种情况下,典型的策略是将计算分为多个分区并分配不同的分区,以不同的分支。然而,这种策略具有顺序地堆叠的层的深度学习模式,这带来高效的并行计算的挑战缺点。

GPipe应用技术称为管道的数据和模型的并行结合。从概念上讲,GPipe是使用同步随机梯度下降和流水线并行进行训练分布式机器学习库,并且是适合于任何多个连续层构成的DNN。 GPipe把一个模型分成不同的加速器并自动把一个小批量的训练实例成更小的微批次。这种模式使GPipe的加速器并行运行,最大限度地训练过程的可扩展性。

下面的图说明了神经网络的四个促进剂中的GPipe模型的分割。 FK是第k个分区的化合物向前计算功能。 BK是相应的反向传播的功能。 BK取决于所述上BK + 1和FK的中间活化。在模型的上半部分,我们可以看到网络线索的顺序性资源利用不足。图为GPipe方法,其中输入小批量被划分成更小的宏批次,其可以由加速器的同时进行加工的下部。

介绍Google、deepmind、Microsoft和Uber Cup大规模培训深

尤伯杯Horovod

Horovod是尤伯杯ML栈,在社会上已经变得非常流行,已通过从AI巨头如DeepMind或OpenAI研究团队之一。从概念上讲,Horovod是运行分布式大规模深度学习培训工作的框架。

Horovod用途消息传递接口栈如的openmpi,使培训工作就没有任何修饰高度并行和分布式基础架构上运行。您可以运行分布式TensorFlow培训工作在Horovod通过以下四个简单的步骤:

hvd.init()初始化Horovod。config.gpu_options.visible_device_list =

介绍Google、deepmind、Microsoft和Uber Cup大规模培训深

STR(hvd.local_rank())分配用于每个TensorFlow处理的GPU。选择= hvd.DistributedOptimizer(优化)使用Horovod优化器来包装任何常规TensorFlow优化器,其使用环allreduce以平均梯度。hvd.BroadcastGlobalVariablesHook(0)广播从所述第一过程变量的所有其它过程,以确保一致的初始化。这是一个基本的TensorFlow培训工作的模板:

介绍Google、deepmind、Microsoft和Uber Cup大规模培训深

DeepMind的TF-复制

TF-复制着重于与TensorFlow程序如何利用张量处理单元(TPU)的可扩展性的不同方面。 TPU被认为是最先进的AI芯片之一,提供了学习机的工作负载当地的可扩展性。然而,在TensorFlow程序中使用TPU需要专用的API,这将导致可移植性问题和障碍,通过对数据的科学家谁不熟悉底层硬件模型。 DeepMind的TF拷贝机通过提供一个简单的和

介绍Google、deepmind、Microsoft和Uber Cup大规模培训深

友好的发展规划模型,利用在TensorFlow程序的TPU解决了这个问题。

TF-复制专注于可扩展性的另一个方面,那就是TensorFlow程序是如何受益TPU。 TPU被认为是最先进的人工智能芯片,它提供了学习机的工作负载的可扩展性原生之一。然而,在一个TensorFlow程序使用TPU需要专用的API,这可能会导致可移植性问题。 DeepMind的TF-复制提供了更简单和开发人员友好的编程模型在TensorFlow程序中使用TPU。

TF-复制谎言在“同图形复制”模式,其中每一个设备的计算被复制到相同TensorFlow图表魔法。设备之间的通信是通过在该装置的相应的子图连接节点来实现。为了实现这一水平的并行化,TF-Replicator使用TensorFlow图表重写模型插入在图中的设备之间的本地通信。当提供一个TensorFlow图表,TF-复制第一构造,每个设备的独立的计算和叶,其中用户指定了跨装置计算的占位符。一旦所有设备的子图已建成,TF-复制将使用的占位符代替实际的跨设备的计算将它们连接起来。

介绍Google、deepmind、Microsoft和Uber Cup大规模培训深

从一个编程模型点,使用TF-复制写入的代码类似于单个装置写入本地TensorFlow代码。用户只需要定义(1)的公共数据集的输入功能,和(2)定义它的模型的逻辑的阶梯函数(例如,梯度下降的单个步骤)。下面的Python代码片段展示了一个简单的TF-复制程序:

介绍Google、deepmind、Microsoft和Uber Cup大规模培训深

介绍Google、deepmind、Microsoft和Uber Cup大规模培训深

为了优化不同设备之间的通信,TF-复制利用最先进的MPI接口。在一些实验中,DeepMind能够与2048批次大小来训练了著名BigGAN模型对TPUv3吊舱的512个核心。目前,TF-Replicator是DeepMind的主要TPU编程接口。

微软DeepSpeed

微软的DeepSpeed ??是一个新的开源框架,把重点放在优化的大深度学习模型的训练。目前的版本包括第一个实现零和其他优化方法。从编程的角度来看,DeepSpeed ??是建立在PyTorch。它提供了一个简单的API,允许工程师利用并行化技术培训,只需几行代码。 DeepSpeed ??摘要大规模培训所有困难的方面,如并行,混合精度,渐变积累,检查点,允许开发人员专注于建立模型。

DeepScale已在四个关键领域表现出色:

·规模:DeepSpeed ??提供系统支持高达100个十亿参数运行模式。与其他培训优化框架相比,这代表了一个10倍的改善。

速度:在初始测试中,DeepSpeed ??呈吞吐量,这是4至5倍,其他的库??。费用:训练使用DeepSpeed ??模型的成本比其他方法低三倍。可用性:DeepSpeed ??并不需要重构PyTorch模型,可用于只有几行代码。

介绍Google、deepmind、Microsoft和Uber Cup大规模培训深

并行化深度学习模型的训练是一个非常复杂的工作超出大多数机器学习团队的专业能力。使用的技术公司,如谷歌,微软,尤伯杯或DeepMind创建框架和架构无疑可以简化这些任务。

本文主题:介绍Google、deepmind、Microsoft和Uber Cup大规模培训深:http://www.0tpe.com/tpujgwt/10832.html

责任编辑:中启