0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

将各自的成果开源——微软的PipeDream和谷歌的GPipe

人工智能与大数据技术 来源:大数据文摘 作者:大数据文摘 2020-11-23 11:15 次阅读

微软和谷歌一直在积极研究用于训练深度神经网络的新框架,并且在最近将各自的成果开源——微软的PipeDream和谷歌的GPipe。 原则上看,他们都遵循了类似的原则来训练深度学习模型。这两个项目已在各自的研究论文(PipeDream,GPipe)中进行了详细介绍,这篇文章将对此进行总结。 先放上GitHub开源地址 微软: https://github.com/msr-fiddle/pipedream 谷歌: https://github.com/tensorflow/lingvo/blob/master/lingvo/core/gpipe.py 众所周知,在实验过程中,虽然训练基本模型比较琐碎,但复杂度却随模型的质量和大小线性增加。例如,2014年ImageNet视觉识别挑战赛的冠军是GoogleNet,它通过400万个参数获得了74.8%的top1准确性,而仅仅三年之后,2017年ImageNet挑战赛的冠军就使用1.458亿个参数(多了36倍)的最新神经网络实现了top1准确率——82.7%。但是,在同一时期,GPU内存仅增加了约3倍。

随着模型缩放以达到更高的准确性,对这些模型的训练变得越来越具有挑战性。前面的样本也显示了,依靠GPU基础结构的改进来实现更好的训练是不可持续的。我们需要分布式计算方法,这些方法可以并行化跨不同节点的训练工作量,以扩展训练规模。分布式训练的概念听起来很琐碎,但实际上却极其复杂。

谷歌的GPipe

GPipe专注于扩展深度学习计划的训练工作量。从基础架构的角度来看,训练过程的复杂性是深度学习模型经常被忽视的一个方面。训练数据集越来越大,越来越复杂。例如,在医疗保健领域,需要使用数百万个高分辨率图像进行训练的模型并不罕见。结果,训练过程通常要花费很长时间才能完成,并且内存和CPU消耗非常大。 思考深度学习模型的分布式的有效方法是将其划分为数据分布式和模型分布式。数据分布式方法采用大型机器集群,将输入数据拆分到它们之间。模型分布式尝试将模型移至具有特定硬件的加速器,例如GPU或TPU,以加速模型训练。 概念上看,几乎所有训练数据集都可以按照一定的逻辑进行分布式训练,但是关于模型的说法却不尽相同。例如,一些深度学习模型由可以独立训练的并行分支组成。在那种情况下,经典策略是将计算划分为多个分区,并将不同的分区分配给不同的分支。但是,这种策略在按顺序堆叠各层的深度学习模型中是不足的, GPipe通过利用一种称为流水线的技术将数据和模型分布式结合在一起。从概念上讲,GPipe是一个分布式机器学习库,它使用同步随机梯度下降和流水线分布式进行训练,适用于由多个连续层组成的任何DNN。 GPipe在不同的加速器之间划分模型,并自动将一小批训练样本拆分为较小的微批。该模型允许GPipe的加速器并行运行,从而最大限度地提高了训练过程的可扩展性。 下图说明了具有连续层的神经网络的GPipe模型在四个加速器之间分配。Fk是第k个分区的复合正向计算函数。Bk是相应的反向传播函数。Bk取决于上层的Bk + 1和Fk的中间激活。在顶级模型中,我们可以看到网络的顺序性质如何导致资源利用不足。下图显示了GPipe方法,其中将输入的迷你批处理分为较小的宏批处理,这些宏批处理可由加速器同时处理。

图片来源: https://arxiv.org/pdf/1811.06965.pdf

微软的PipeDream

几个月前,微软研究院宣布创建Project Fiddle,这是一系列旨在简化分布式深度学习的研究项目。PipeDreams是Fiddle项目首次发布的版本之一,专注于深度学习模型训练的并行化。 PipeDream采用与其他方法不同的方法来利用称为管道分布式的技术来扩展深度学习模型的训练。这种方法试图解决数据和模型并行技术的一些挑战,例如GPipe中使用的技术。 通常,在云基础架构上进行训练时,数据并行方法在规模上会承受较高的通信成本,并且随着时间的推移会提高GPU计算速度。类似地,模型分布式技术通常在利用硬件资源上更加效率低下,程序员需要决定如何在给定硬件部署的情况下拆分其特定模型,给他们带来了不必要的负担。

图片来源: http://www.microsoft.com/zh-cn/research/uploads/prod/2019/08/fiddle_pipedream_sosp19.pdf PipeDream尝试通过使用称为管道分布式的技术来克服数据模型分布式方法的一些挑战。 从概念上讲,管道分布计算涉及将DNN模型的各层划分为多个阶段,其中每个阶段均由模型中的一组连续层组成。每个阶段都映射到一个单独的GPU,该GPU对该阶段中的所有层执行正向传递(和反向传递)。 给定一个特定的深度神经网络,PipeDream会基于在单个GPU上执行的简短概要分析,自动确定如何对DNN的运算符进行分区,在不同阶段之间平衡计算负载,同时最大程度地减少与目标平台的通信。即使存在模型多样性(计算和通信)和平台多样性(互连拓扑和分层带宽),PipeDream也会有效地实现负载平衡。PipeDream训练分布式的方法的原理比数据模型分布式方法具有多个优点。 对于初学者而言,PipeDream需要在工作程序节点之间进行较少的通信,因为管道执行中的每个工作程序仅需要将渐变的子集和输出激活信息传达给单个其他工作程序。

图片来源: https://www.microsoft.com/zh-cn/research/uploads/prod/2019/08/fiddle_pipedream_sosp19.pdf 训练分布式是构建更大、更准确的深度学习模型的关键挑战之一。分布式训练方法是深度学习社区中一个活跃的研究领域,需要将有效的并发编程技术与深度学习模型的本质相结合。尽管仍处于早期阶段,但Google的GPipe和Microsoft的PipeDream本身已经是很优秀的产品,它是深度学习开发人员可用的两种最具创造性的分布式训练方法。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微软
    +关注

    关注

    4

    文章

    6218

    浏览量

    103071
  • 谷歌
    +关注

    关注

    27

    文章

    5838

    浏览量

    103228
  • 深度学习
    +关注

    关注

    73

    文章

    5224

    浏览量

    119866

原文标题:微软和谷歌分别开源分布式深度学习框架,各自厉害在哪?

文章出处:【微信号:TheBigData1024,微信公众号:人工智能与大数据技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    谷歌模型框架是什么软件?谷歌模型框架怎么用?

    谷歌模型框架通常指的是谷歌开发的用于机器学习和人工智能的软件框架,其中最著名的是TensorFlow。TensorFlow是一个开源的机器学习框架,由谷歌的机器学习团队开发,用于构建和
    的头像 发表于 03-01 16:25 220次阅读

    谷歌模型软件有哪些好用的

    谷歌模型软件的好用程度可能因个人需求和技能水平而异,但以下是一些广受欢迎的谷歌模型软件,它们在各自的领域内有着出色的表现。
    的头像 发表于 02-29 18:17 539次阅读

    谷歌发布轻量级开源人工智能模型Gemma

    谷歌近日宣布推出开源人工智能(AI)模型系列Gemma,旨在为开发人员和研究人员提供一个负责任的AI构建平台。这一举措标志着自2022年OpenAI的ChatGPT引领AI聊天机器人热潮后,谷歌首次发布重要的
    的头像 发表于 02-23 11:38 398次阅读

    谷歌大型模型终于开放源代码,迟到但重要的开源战略

    在人工智能领域,谷歌可以算是开源的鼻祖。今天几乎所有的大语言模型,都基于谷歌在 2017 年发布的 Transformer 论文;谷歌的发布的 BERT、T5,都是最早的一批
    发表于 02-22 18:14 189次阅读
    <b class='flag-5'>谷歌</b>大型模型终于开放源代码,迟到但重要的<b class='flag-5'>开源</b>战略

    美FTC将调查科技巨头 包括微软谷歌OpenAI等五公司

    美FTC将调查科技巨头 包括微软谷歌OpenAI等五公司 据外媒报道,近期美国联邦贸易委员会(FTC)因为担心扭曲创新、破坏公平竞争;对一些科技巨头的大额投资进行了调查,包括了微软、亚马逊、
    的头像 发表于 01-26 20:26 1688次阅读

    芯原与谷歌携手合作开源项目Open Se Cura

    2023年12月19日,中国上海——芯原股份 (芯原,股票代码:688521.SH) 今日宣布与谷歌合作支持新推出的开源项目Open Se Cura。
    的头像 发表于 12-19 09:07 245次阅读

    润和软件携开源共建成果亮相中国国际软博会,共话“开源”产业化落地

    原子开源基金会黄金捐赠人受邀参展,携OpenHarmony、openEuler、开源大师兄三大开源项目共建成果亮相大会成果展区 ,完整展示了
    的头像 发表于 09-05 14:20 240次阅读
    润和软件携<b class='flag-5'>开源</b>共建<b class='flag-5'>成果</b>亮相中国国际软博会,共话“<b class='flag-5'>开源</b>”产业化落地

    谷歌助手LED控制开源分享

    电子发烧友网站提供《谷歌助手LED控制开源分享.zip》资料免费下载
    发表于 06-30 09:51 0次下载
    <b class='flag-5'>谷歌</b>助手LED控制<b class='flag-5'>开源</b>分享

    2023开放原子全球开源峰会 | 润和软件全面推进开源战略,落地成果斐然

    6月11日-13日,2023开放原子全球开源峰会在北京圆满举行。本届峰会旨在搭建全球开源生态发展合作交流平台,聚焦开源生态建设发展路径,解析开源生态产业政策,分享
    的头像 发表于 06-21 10:00 420次阅读
    2023开放原子全球<b class='flag-5'>开源</b>峰会 | 润和软件全面推进<b class='flag-5'>开源</b>战略,落地<b class='flag-5'>成果</b>斐然

    共建、共享开源EDA核心共性技术框架|2023开放原子全球开源峰会开源EDA分论坛成功举办

    ;执行总监何均宏主持论坛。 开放原子开源基金会理事长孙文龙 孙文龙表示,开源是推进基础软硬件建设的重要条件和基础。开源通过汇聚创新资源、构建信任环境,促进知识、智慧、技术、成果等的共
    发表于 06-16 13:45

    2023开放原子全球开源峰会 | 润和软件全面推进开源战略,落地成果斐然

    6月11日-13日,2023开放原子全球开源峰会在北京圆满举行。本届峰会旨在搭建全球开源生态发展合作交流平台,聚焦开源生态建设发展路径,解析开源生态产业政策,分享
    的头像 发表于 06-14 10:20 448次阅读

    谷歌开源内部Rust Crate审计结果

    “Rust 可以轻松地将代码封装和共享到 crate 中,crate 是可重用的软件组件,就像其他语言中的包一样。我们拥抱广泛的开源 Rust crate 生态系统,既利用了谷歌以外编写的 crates,也发布了我们自己的几个 crates。”
    的头像 发表于 05-29 11:10 541次阅读

    微软发布 Azure Linux 正式版

    服务(AKS)的一个开源容器主机操作系统,它针对 Azure 进行了优化,旨在使开发人员更容易使用微软的工具来部署和管理容器工作负载。Azure Linux 源于微软的 CBL-Mariner 项目,是“自我独立的 Linux
    发表于 05-28 08:34

    重磅!微软开源Deep Speed Chat,人人拥有ChatGPT……

    关注微软科技视频号 了解更多科技前沿资讯 点亮在看,给BUG点好看 原文标题:重磅!微软开源Deep Speed Chat,人人拥有ChatGPT…… 文章出处:【微信公众号:微软科技
    的头像 发表于 05-11 20:16 362次阅读
    重磅!<b class='flag-5'>微软</b><b class='flag-5'>开源</b>Deep Speed Chat,人人拥有ChatGPT……

    开源硬件大赛】基于V853的多功能串口服务器——成品成果展示

    开源硬件大赛】基于V853的多功能串口服务器——成品成果展示
    的头像 发表于 04-30 18:16 3774次阅读
    【<b class='flag-5'>开源</b>硬件大赛】基于V853的多功能串口服务器——成品<b class='flag-5'>成果</b>展示