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

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

3天内不再提示

微软和谷歌分别开源分布式深度学习框架对比

工程师邓生 来源:大数据文摘微信公众号 作者:Miggy 2020-11-01 10:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

微软和谷歌一直在积极研究用于训练深度神经网络的新框架,并且在最近将各自的成果开源——微软的 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 本身已经是很优秀的产品,它是深度学习开发人员可用的两种最具创造性的分布式训练方法。
责任编辑:PSY

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

    关注

    4

    文章

    6719

    浏览量

    107351
  • 谷歌
    +关注

    关注

    27

    文章

    6244

    浏览量

    110258
  • 神经网络
    +关注

    关注

    42

    文章

    4827

    浏览量

    106796
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何解决分布式光伏计量难题?

    分布式光伏成增长主力 据《2025-2030年中国分布式光伏行业市场前景预测及未来发展趋势研究报告》显示,2024年中国分布式光伏新增装机118.18GW,同比增长23%,占光伏新增装机总量的43
    的头像 发表于 11-07 14:55 149次阅读
    如何解决<b class='flag-5'>分布式</b>光伏计量难题?

    【节能学院】Acrel-1000DP分布式光伏监控系统在奉贤平高食品 4.4MW 分布式光伏中应用

    摘要:在“双碳”和新型电力系统建设背景下,分布式光伏接入比例不断提高,对配电网电压、调度运行及调峰等环节造成强烈冲击。本文设计包含平台层、设备层二层架构体系的分布式光伏管控平台,以及小容量工商业
    的头像 发表于 08-23 08:04 3306次阅读
    【节能学院】Acrel-1000DP<b class='flag-5'>分布式</b>光伏监控系统在奉贤平高食品 4.4MW <b class='flag-5'>分布式</b>光伏中应用

    分布式光伏发电监测系统技术方案

    分布式光伏发电监测系统技术方案 柏峰【BF-GFQX】一、系统目标 :分布式光伏发电监测系统旨在通过智能化的监测手段,实现对分布式光伏电站的全方位、高精度、实时化管理。该系统能
    的头像 发表于 08-22 10:51 2884次阅读
    <b class='flag-5'>分布式</b>光伏发电监测系统技术方案

    Ceph分布式存储系统解析

    在当今数据爆炸的时代,企业对存储系统的需求日益增长,传统的集中式存储已经无法满足大规模数据处理的要求。分布式存储系统应运而生,而Ceph作为开源分布式存储系统的佼佼者,以其高可用性、高扩展性和统一存储架构赢得了众多企业的青睐。
    的头像 发表于 07-14 11:15 713次阅读

    双电机分布式驱动汽车高速稳定性机电耦合控制

    摘要:为了利用所设计的双电机防滑差速驱动系统来提高分布式驱动汽车的动力学性能,在前期同轴耦合驱动控制理论研究的基础上,开展该车的高速稳定性机电耦合控制研究。建立并验证包含所设计驱动系统在内的分布式
    发表于 06-18 16:37

    润和软件StackRUNS异构分布式推理框架的应用案例

    江苏润和软件股份有限公司(以下简称“润和软件”)自主研发的StackRUNS异构分布式推理框架已在实际场景中取得显著成效,成功应用于大型园区多模态模型演练及高校满血版DeepSeek-MoE 671B的运行,有效推动了大模型技术的快速落地。
    的头像 发表于 06-13 09:11 1092次阅读
    润和软件StackRUNS异构<b class='flag-5'>分布式</b>推理<b class='flag-5'>框架</b>的应用案例

    润和软件发布StackRUNS异构分布式推理框架

    当下,AI模型规模持续膨胀、多模态应用场景日益复杂,企业正面临异构算力资源碎片化带来的严峻挑战。为应对行业痛点,江苏润和软件股份有限公司(以下简称“润和软件”)正式发布自主研发的StackRUNS异构分布式推理框架,高效融合异构算力,精细化配置算力资源,释放算力效能。
    的头像 发表于 06-13 09:10 1193次阅读
    润和软件发布StackRUNS异构<b class='flag-5'>分布式</b>推理<b class='flag-5'>框架</b>

    曙光存储领跑中国分布式存储市场

    近日,赛迪顾问发布《中国分布式存储市场研究报告(2025)》,指出2024 年中国分布式存储市场首次超过集中式存储,规模达 198.2 亿元,增速 43.7%。
    的头像 发表于 05-19 16:50 1011次阅读

    使用VirtualLab Fusion中分布式计算的AR波导测试图像模拟

    总计算时间超过31小时。通过使用一个由8个多核PC组成的网络,提供35个客户端分布式计算,将模拟时间减少到1小时5分钟。基本模拟任务基本任务集合:FOV使用分布式计算的集合模拟概述模拟时间节省96%的计算时间!!!
    发表于 04-10 08:48

    分布式光伏发运维系统实际应用案例分享

    安科瑞刘鸿鹏 摘 要 分布式光伏发电系统其核心特点是发电设备靠近用电负荷中心,通常安装在屋顶、建筑立面或闲置空地上,截至2025年,分布式光伏发电系统在全球和中国范围内取得了显著发展,成为能源转型
    的头像 发表于 04-09 14:46 991次阅读
    <b class='flag-5'>分布式</b>光伏发运维系统实际应用案例分享

    分布式光伏如何实现防逆流?

    分布式光伏如何实现防逆流
    的头像 发表于 03-24 13:31 595次阅读
    <b class='flag-5'>分布式</b>光伏如何实现防逆流?

    分布式云化数据库有哪些类型

    分布式云化数据库有哪些类型?分布式云化数据库主要类型包括:关系型分布式数据库、非关系型分布式数据库、新SQL分布式数据库、以列方式存储数据、
    的头像 发表于 01-15 09:43 871次阅读

    基于ptp的分布式系统设计

    在现代分布式系统中,精确的时间同步对于确保数据一致性、系统稳定性和性能至关重要。PTP(Precision Time Protocol)是一种网络协议,用于在分布式系统中实现高精度的时间同步
    的头像 发表于 12-29 10:09 975次阅读

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据文件资产迁移

    使用分布式数据对象迁移数据,当需要迁移的数据较大(100KB以上)或需要迁移文件时,可以使用分布式数据对象。原理与接口说明详见分布式数据对象跨设备数据同步。 说明:自API 12起,由于直接使用跨
    发表于 12-24 10:11

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据权限与基础数据

    使用分布式数据对象迁移数据,当需要迁移的数据较大(100KB以上)或需要迁移文件时,可以使用分布式数据对象。原理与接口说明详见分布式数据对象跨设备数据同步。 说明:自API 12起,由于直接使用跨
    发表于 12-24 09:40