AI 四巨头 Google、DeepMind、Microsoft、Uber 深度学习框架大比拼-精品文档资料整理.docx

上传人:安*** 文档编号:73268755 上传时间:2023-02-17 格式:DOCX 页数:13 大小:19.32KB
返回 下载 相关 举报
AI 四巨头 Google、DeepMind、Microsoft、Uber 深度学习框架大比拼-精品文档资料整理.docx_第1页
第1页 / 共13页
AI 四巨头 Google、DeepMind、Microsoft、Uber 深度学习框架大比拼-精品文档资料整理.docx_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《AI 四巨头 Google、DeepMind、Microsoft、Uber 深度学习框架大比拼-精品文档资料整理.docx》由会员分享,可在线阅读,更多相关《AI 四巨头 Google、DeepMind、Microsoft、Uber 深度学习框架大比拼-精品文档资料整理.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、AI 四巨头 Google、DeepMind、Microsoft、Uber 深度学习框架大比拼 编者按 Google、Uber、DeepMind以及Microsoft这四大科技公司是当前将深度学习研究广泛应用于自身业务的典型代表 跻身全球深度学习研究程度最高的科技公司之列。GPipe、Horovod、TF Replicator以及DeepSpeed分别是这四家公司开发应用的深度学习框架 它们结合了深度学习研究及其根底设施的前沿技术 以进步深度学习模型的训练效率。这四个深度学习框架各有什么特点以及优势呢 本文将对此做一个根本介绍。 作者 |Jesus Rodriguez 译者 | 苏本如 责编

2、| 夕颜 封图 | CSDN下载自东方IC 出品 | CSDN ID CSDNnews 以下为译文 大规模深度学习训练是在现实世界中构建深度学习解决方案最具挑战性的方面之一。正如俗语所讲 你最大的优点可以成为你最大的缺点 这一点自然也适用于深度学习模型。整个深度学习空间在一定程度上取决于深度神经网络 DNN 跨越GPU拓扑的才能。然而 同样的扩展才能导致了计算密集型程序的创立 这给大多数组织带来了操作上的挑战。从训练到优化 深度学习工程的生命周期需要强健的根底设施构建块 以便可以并行化以及扩展计算工作负载。 尽管深度学习框架正在快速开展 但相应的根底架构模型仍处于初期阶段。在过去的几年度里 技

3、术巨头谷歌、微软、优步 Uber 、DeepMind以及其他公司定期发布了各自的研究成果 以便在大型GPU等根底设施上实现深度学习模型的并行化。 分布式以及并行化计算的原理与深度学习程序生命周期的几乎所有阶段都息息相关。训练一个深度学习模型可能是一个非常昂贵的任务 运行也是如此。显而易见的答案是 可以利用大型GPU网络来分配深度学习程序的工作负载 但这绝非易事。众所周知 并发以及并行编程是非常复杂的 尤其在应用于大型神经网络时更是如此。大型科技公司每天都在面临这些挑战 因为它们必须为关键业务应用运行极其复杂的深层神经网络。 今天 我想回首一下谷歌、微软、DeepMind、以及优步 Uber 等

4、科技巨头用于并行化大规模深度学习模型训练的一些顶级框架。详细来讲 我们将讨论以下四个框架 谷歌的 GPipe 优步的Horovod DeepMind的TF-Replicator 微软的 DeepSpeed 谷歌的GPipe GPipe专注于为深度学习工程进步训练工作量。从根底设施的角度来看 训练经过的复杂性是深度学习模型中经常被无视的一个方面。训练数据集越来越大 也越来越复杂。例如 在医疗保健领域 遇到需要使用数百万高分辨率图像进展训练的模型已不罕见。因此 训练经过通常需要很长的时间才能完成 并且由于内存以及CPU消耗而导致的本钱也非常高。 将深度学习模型的并行性分为数据并行性以及模型并行性

5、是一种研究深度学习模型并行性的有效方法。数据并行方法使用大量的机器集群来拆分输入数据。模型并行性尝试将模型移至加速器上 如GPU或者TPU 它们具有加速模型训练的特殊硬件。在较高的层次上 几乎所有的训练数据集都可以按照一定的逻辑进展并行化 但在模型上却不是这样。例如 一些深度学习模型是由可以独立训练的并行分支组成的。在这种情况下 经典的策略是将计算划分为多个分区 并将不同的分区分配给不同的分支。然而 这种策略在连续堆叠层的深度学习模型中存在缺乏 这给高效并行计算带来了挑战。 GPipe采用一种称为管道的技术 将数据以及模型并行性结合起来。从概念上讲 GPipe是一个分布式机器学习库 它使用同步

6、随机梯度下降以及管道并行性进展训练 适用于任何由多个连续层组成的深度神经网络 DNN 。GPipe将一个模型划分到不同的加速器上 并自动将一个小批量的训练实例分割成更小的微批量。该模型允许GPipe的加速器并行运行 以最大限度地进步了训练经过的可伸缩性。 下列图讲明了具有多个连续层的神经网络的GPipe模型在四个加速器之间的划分。Fk是第k个划分的复合正向计算函数。Bk是对应的反向传播函数。Bk既依赖于上层的Bk 1 也依赖于Fk的中间激活。在图片的上部中 我们可以看到网络的顺序特性怎样导致资源利用缺乏的。图片的下部显示了GPipe方法 其中输入的小批量 mini-batch 被划分为更小的宏

7、批量 macro-batch 这些宏批量 macro-batch 可以由加速器同时处理。 谷歌开源了GPipe的一种实现 作为TensorFlow工程的一局部。 开源地址 s:/github /tensorflow/lingvo/blob/master/lingvo/core/gpipe.py 优步的 Horovod Horovod是Uber的机器学习 ML 堆栈之一 它已经在社区中非常流行 并且已经被DeepMind以及OpenAI等人工智能巨头的研究团队采用。从概念上讲 Horovod是一个用于大规模运行分布式深度学习训练工作的框架。 Horovod利用诸如OpenMPI之类的消息传递接口

8、栈 来使训练作业可以在高度并行以及分布式的根底设施上运行 而无需进展任何修改。通过以下四个简单的步骤即可在Horovod中运行分布式TensorFlow训练工作 hvd.init()初始化Horovod。 config.gpu_options.visible_device_list str(hvd.local_rank()为每个TensorFlow进程分配一个GPU。 opt hvd.DistributedOptimizer(opt)使用Horovod优化器包装任何常规的TensorFlow优化器 该优化器使用ring-allreduce来处理平均梯度。 hvd.BroadcastGlobal

9、VariablesHook(0)将变量从第一个进程播送到所有其他进程 以确保一致的初始化。 下面这个代码例如是一个根本的TensorFlow训练作业的模板 你可以从中看到上面的四个步骤 1importtensorflowastf 2importhorovod.tensorflowashvd#InitializeHorovod 3hvd.init()#PinGPUtobeusedtoprocesslocalrank(oneGPUperprocess) 4config tf.ConfigProto() 5config.gpu_options.visible_device_list str(hvd.

10、local_rank()#Buildmodel 6loss 7opt tf.train.AdagradOptimizer(0.01)#AddHorovodDistributedOptimizer 8opt hvd.DistributedOptimizer(opt)#Addhooktobroadcastvariablesfromrank0toallotherprocessesduring 9#initialization.10hooks hvd.BroadcastGlobalVariablesHook(0)#Maketrainingoperation11train_op opt.minimize

11、(loss)#TheMonitoredTrainingSessiontakescareofsessioninitialization,12#restoringfromacheckpoint,savingtoacheckpoint,andclosingwhendone13#oranerroroccurs.14withtf.train.MonitoredTrainingSession(checkpoint_dir “/tmp/train_logs,15config config,16hooks hooks)asmon_sess:17whilenotmon_sess.should_stop():18

12、#Performsynchronoustraining.19mon_sess.run(train_op) DeepMind的TF-Replicator TF-Replicator专注于TensorFlow程序怎样利用Tensor处理单元 TPU 有关的可伸缩性的另一个方面。TPU被认为是最先进的人工智能芯片之一 它为机器学习工作负载提供了本机可扩展性。然而 在TensorFlow程序中使用TPU需要专门的API 这会给不熟悉底层硬件模型的数据科学家们带来可移植性问题以及采用障碍。DeepMind的TF Replicator通过提供一个更简单、对开发人员更友好的编程模型来利用TensorFlow

13、程序中的TPU 进而解决了这一难题。 TF-Replicator的魔力依赖于一种“图内复制 in-graph replication 模型 其中每个设备的计算被复制到同一张TensorFlow图中。设备之间的通信是通过连接设备对应子图中的节点来实现的。为了到达这种级别的并行化 TF-Replicator利用TensorFlow的图重写模型在图中的设备之间插入本机通信。当呈现一个TensorFlow图时 TF Replicator首先独立地为每个设备构建计算 并在用户指定跨设备计算的地方留下占位符。一旦构建了所有设备的子图 TF Replicator就会用实际的跨设备计算交换占位符来连接它们。

14、从编程模型的角度来看 使用TF-Replicator编写的代码看起来类似于为单个设备编写的本机TensorFlow代码。用户只需定义 1 一个公开数据集的输入函数 以及 2 一个定义其模型逻辑的阶跃函数 例如 梯度下降的单个阶跃 。下面的代码片段展示了一个简单的TF-Replicator程序 1#DeployingamodelwithTpuReplicator. 2repl tf_replicator.TpuReplicator( 3num_workers 1,num_tpu_cores_per_worker 8 4) 5withrepl.context(): 6model resnet_mo

15、del() 7base_optimizer tf.train.AdamOptimizer() 8optimizer repl.wrap_optimizer(base_optimizer)#.codetodefinereplicainput_fnandstep_fn.per_replica_loss repl.run(step_fn,input_fn) 9train_op tf.reduce_mean(per_replica_loss)withtf.train.MonitoredSession()assession:10repl.init(session)11foriinxrange(num_t

16、rain_steps):12session.run(train_op)13repl.shutdown(session) 为了优化不同设备之间的通信 TF-Replicator利用了最先进的MPI接口。在一些实验中 DeepMind可以在一个TPUv3 pod的512个核心上 以2048的batch size批量训练著名的BigGAN模型。目前 TF-Replicator是DeepMind公司的TPU的主要编程接口。 微软的DeepSpeed 微软的DeepSpeed是一个新的开源框架 专注于优化大型深度学习模型的训练。当前版本包含了ZeRO的第一个实现和其他优化方法。从编程的角度来看 Deep

17、Speed是在PyTorch之上构建的 它提供了一个简单的API 允许工程师只需几行代码就可以利用并行化技术来进展训练。DeepSpeed抽象了大规模训练的所有困难方面 例如并行化、混合精度、梯度累积以及检查点 使得开发人员可以专注于模型的构建。 从功能角度来看 DeepSpeed在以下四个关键方面表现出色 规模 DeepSpeed可以为运行高达1,000亿个参数的模型提供系统支持 这以及其他训练优化框架相比 进步了10倍。 速度 在最初的测试中 DeepSpeed表现出的吞吐量比其他库高出4-5倍。 本钱 可以使用DeepSpeed进展训练的模型 其本钱比其他替代方案少三倍。 可用性 Dee

18、pSpeed不需要重构PyTorch模型 仅需几行代码即可使用。 将深度学习模型的训练并行化是一项非常复杂的工作 超出了大多数机器学习团队的专业知识。利用谷歌、微软、优步或者DeepMind等科技公司创立的框架以及架构 肯定可以简化这些工作。 在不久的将来 我们祈望看到这些框架的一些版本包含在主流深度学习堆栈中 以加速核心深度学习社区准入的民主化。 原文链接 s:/towardsdatascience /the-frameworks-that-google-deepmind-microsoft-and-uber-use-to-train-deep-learning-models-at-scale-30be6295725 本文为CSDN翻译文章 转载请注明出处。 【END】 更多精彩推荐 斩获GitHub 2000 Star 阿里云开源的 Alink 机器学习平台怎样跑赢双11数据“博弈 | AI 技术生态论 今日福利 评论区留言入选 可获得价值299元的2020 AI开发者万人大会在线直播门票一张。 快来动动手指 写下你想讲的话吧。 点击浏览原文 精彩继续 你点的每个“在看 我都认真当成了喜欢

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 工程图纸

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁