世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致

选自 arXiv [转载出处:www.11jj.com]

作者:Nouamane Laanait、Joshua Romero等 [好文分享:www.11jj.com]

机械之心编译

分布式角力切实需要在多少 GPU 上演习,但你见过在排名第一的超算上演习深度模型,在 2.76 万块 V100 GPU 演习模型的体式吗?首要的是,经由新的通信策略,这么多 GPU 还能实现近线性的加速比,橡树岭国度实验室和英伟达等机构的这项研究真的 Amazing。


论文链接:https://arxiv.org/pdf/1909.11150.pdf


在这篇论文中,研究者介绍了同步分布式 DL 中一种新型通信策略,它首要由梯度缩减编排和梯度张量分组策略组成。这些新手艺令角力和通信之间发生了最完美的重叠,并且完成了近线性的 GPU 扩展。


也就是说,在 Summit 超算中,它能使用 2.76 万块 V 100 GPU 高效地演习模型,且扩展系数达到了惊人的 0.93。0.93 是个什么概念?我们可以经由 TensorFlow 的官方 Benchmark 熟悉一番。如下所示,60 块 GPU 幻想景遇下能获得 60 倍的加速,然则以前 TF 演习 ResNet-152 只能获得 50 倍的加速。


世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致

图片起原:https://www.tensorflow.org/guide/performance/benchmarks


这还只是 60 块 GPU,它的扩展系数就只有 0.83。此外,若是 GPU 扩展到 1000 甚至更多,那么这个系数还会急剧下降。


尽管比来多少分布式演习策略也能达到近线性扩展,例如 Ring All Reduce 或刘霁等研究者提出的 DoubleSqueeze(ICML 2019) 等等,但如这篇论文能在超算、在 2.76 万块 V 100 GPU 上实现近线性的加速机能,照样非常少见。


此外,首要的是,研究者展示了大规模分布式 DL 演习在科学角力问题中的强大能力,它能更合理地行使超算的能力。本文并不重点介绍这一部门,感情趣的读者可查阅原论文。


什么是分布式演习


直观上,分布式演习只不过是由一块 GPU 扩展到多块 GPU,但随之而来的是各类问题:模型、数据怎么瓜分?梯度怎么撒布、模型怎么更新?


在分布式角力中,一般我们可以将不合的角力机视为不合的角力节点,它们经由互联网相连而组成整个角力集群。现在首要的就是找到一种体式将角力力与模型演习相「连络」,也就是分布式策略。最直观的两种策略或许就是模型并行与数据并行,它们从不合的角度思虑若何瓜分模型演习过程。


个中模型并行指的是从逻辑上将模型瓜分为不合的部门,然后再安置到不合的角力节点,就像 AlexNet 那样。这种体式首要解决的是模型参数量过大等耗显存的景遇。数据并行指的是将数据集瓜分为不合的子模块,然后馈送到不合的节点中。与模型不合,数据天然就是可并行的,是以实践中大部门问题都采用数据并行策略。


在数据并行中,具体还有多种并行策略,例如同步 SGD 和异步 SGD 等。它们是最常见的分布式演习体式,TensorFlow、PyTorch 等框架都可以直接调用这几种模式。

世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致

同步 SGD 与异步 SGD 的更新过程,个中同步 SGD 会等所有处事器完成角力,异步 SGD 不合的处事器会自力更新参数。


数据并行的问题在哪?


尽管数据并行是使用最遍及的体式,但它瑕玷也非常光鲜。作为一种分布式策略,数据并行需要的通信量非常大,需要在演习过程中执行壅塞通信鸠合来同步 DNN 梯度。在单个演习措施中,角力和通信把握之间的次优重叠会带来通信开销,或造成数据并行分布式深度进修效率低下。


在使用 10 到 100 块 GPU/TPU 加速器的中小规模系统中,因为系统噪声和负载改变的存在,这些扩展低效或许很难检测并获得系统地优化。然而,需要留意的是,即使只是 5-10% 的扩展低效也会在大量演习措施和演习过程中储蓄,从而进一步加深深度进修对情形的损坏。


数据并行实现的扩展低效在大规模系统中示意最为光鲜,如在 1000-10000 块芯片的加速系统中,多少分布式策略会发生大量损失。在本文中,研究者提出,超级角力机是斥地和测试能实现数据并行近线性扩展的梯度缩减策略的幻想系统。


将数据并行扩展到大规模的超级角力机系统也是由后者的传统负载(包括科学的数值模拟)鼓动的。尤其首要的是,将深度进修应用到科学模拟中来加速执行、削减算力需求,常日需要使用 DNN 来切近耐久存在的逆问题的解。在本文中,研究者经由改善梯度缩减策略展示了这一倾向的第一步。


用超算测测数据并行


本文中展示的所有测量数据都是在橡树岭国度实验室的超级角力机 Summit 上获得的,它也是今朝世界上角力速度排名第一的超级角力机。


Summit 系统包含 256 个机架,上面遍布 IBM Power System AC922 角力节点(总共有大约 4600 个节点),每个角力节点配有 2 个 IBM POWER9 CPU 和 6 块 NVIDIA V100 GPU。


研究者着眼于一个用于 DNN 分布式演习的数据并行体式。今朝规模最大的分布式 DNN 演习是由 Kurth 等人(2018)实施的,用来在天色模拟数据长进修一个瓜分义务。他们使用一个改削过的 DNN 瓜分模型(DeepLabV3),该模型的单个 GPU 角力机能可以达到 38.45 TFLOP_16(16 指的是 float 16 精度),相当于 V100 GPU 理论峰值速度的 31%。


不才图 1 中,研究者测量了分级 allreduce 多达 1024 个 Summit 节点的扩展效率。这种次线性扩展非常光鲜,原因在于大型节点上的 worker 协作低效,导致通信和角力之间的重叠较差。

世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致

图 1:不合梯度缩减策略对于扩展效率的影响。


核心思惟:梯度缩减策略


要在超算这种超大规模算力上实现近线性的扩展,那么就需要构建更好的分布式策略。研究者透露,他们首要的供献即实现了新的梯度缩减(gradient reduction)策略,从而在角力与通信之间实现了最优的重叠,这令 GPU 扩展机能达到了新的 SOTA。


直观而言,梯度缩减策略包括(1)轻量级的处事器协调手艺(BitAllReduce)、(2)梯度张量分组策略(Grouping)。这两种编排策略从不合层面提升了用 Horovod 实现的分布式深度进修机能。


 BitAllReduce 和 Grouping 对 GPU 扩展效率的影响拜别在图 1 顶用黑线和红线浮现。同时,它们带来了跨越 8 倍的缩放效率(图 1、2)。这些梯度缩减策略与角力..无关,并且纰谬节点的连通收集拓扑组织进行任何假设。

世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致

图 2:Horovod 时间线展示了经由编排 Bitvector Allreduce 和 Grouping 带来的提升,个中蓝色的垂直线为环(cycle)标记。


首先,Bitvector Allreduce 批改了经由鸠合(collective)进行梯度张量缩减的协调体式(参见图 3)。Bitvector Allreduce 的首要思惟是使用缓存的元数据,并令它与每个梯度张量相关系,从而许可内陆接见每个 MPI-rank,以全局地协调执行鸠合把握(collective operation)。从本质上讲,我们用单个鸠合(Bitvector 上的 MPI Allreduce)替代了 Horovod 的原始处事器策略(请参见图 3b)。


世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致

图 3:协调策略对比,3a:在原始协调策略中,Rank 0:(i) 收集请求 T_n;(ii) 确定所有等级中的通用请求;(iii) 构建关系响应 R_n; (iv) 将响应的有序列表广播到所有等级的执行过程中。3b:改善后的协调策略,每一个等级都搜检响应是不是在缓存中,并响应地在 Bitvector 中的设置位。


其次,研究者引入了「分组」方案,它将梯度张量看做图着色算法。本质上来说,每一个 MPI 等级凭证它的角力依靠性图对节点进行上色,个中节点就等于梯度张量。然后,我们就能凭证不合的颜色将梯度张量分组(如图 4 所示)。然后,仅针对所有等级上都已经预备完全的组进行鸠合把握(Collective operation)。「分组」的优势之一是使用户能够无邪地以斥地 DNN 模型系统组织的体式制订鸠合,从而实现更高的效率。

世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致

图 4:分组图示。左侧展示了由生成请求 T_n 构建的义务图,个平分歧的义务为不合的节点,该义务图经由虚线框透露 Horovod 在三个子环中可见的请求。节点经由不合的颜色透露义务可以分为两组:蓝色实线的节点和绿色虚线的节点。


最后,研究者发现 Grouping 和 Bitvector Allreduce 能自力地使用,然则连系使用能获得更多的机能提升。这里只是简要介绍了梯度缩减策略的思惟,更多的实现细节可以查阅原论文第四章节。


试验究竟


超级角力机上执行应用轨范效率的一个首要指标是测得的功耗。稀奇是,使用 Allreduce 这样的壅塞鸠合,会导致在 GPU / CPU 上执行的所有把握住手,直到返回来自鸠合的事实。


下图 5 展示了作者使用 Bitvector Allreduce 和 Grouping 进行分布式演习时 Summit 上首要硬件组件的功耗。


世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致

图 5:在 4600 个节点长进行分布式演习时,Summit 的功耗理会。功耗信息收集自一次分布式演习中 Summit 的首要硬件组件(GPU,CPU 等)。


除了功耗之外,作者还使用新的梯度缩减策略概述了分布式演习的角力机能。给出的机能测量均包括:(1)I / O(数据读取和模型搜检核的写入),(2)DNN 正向和反向撒布执行的角力,以及(3)嵌入角力图中的通信运算。

世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致


在表 1 中,作者使用前面描述的机能评估体式,总结了在单个 Summit 节点上执行应用(一个演习步)时的数学运算、时间以及整体机能。


最后,使用第 2.3 节中描述的通信策略,研究者们能够在分布式深度进修时代(图 6)在 4600 个节点上实现 0.93 的扩展效率,并达到 1.54(2)(2.15(2)))EFLOPS_16。

世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致

图 6:使用改善的梯度缩减策略扩展至 27,600 个 V100 GPU 时分布式深度进修的扩展效率和持续机能


机械之心「SOTA模型」最新上线15大领域、127个义务,机械进修 SOTA 研究一网打尽。
世界第一超算跑深度学习模型,2.76万块V100 GPU将分布式训练扩展到极致

www.jiqizhixin.com/sota

PC 接见,体验更佳

自媒体 微信号:11jj 扫描二维码关注公众号
爱八卦,爱爆料。

小编推荐

  1. 1

    车辆维修起争议 呼市一男子车没修好 是质量问题还是人为损坏?

      比来,呼市的高师长因为车出了故障就送到4S店修理,可是这车没修好不说还修出了一肚子气。  2022年1月,高师长在呼市中庆林达林肯中心花

  2. 2

    怎么跑步跑得快不累(跑步怎么跑得快)

    大家好,小乐今天来为大家解答怎么跑步跑得快不累以下问题,跑步怎么跑得快很多人还不知道,现在让我们一起来看看吧!1、想要跑步跑得快,首先

  3. 3

    交叉关系举例(交叉关系举例三个词)

    大家好,小丽今天来为大家解答交叉关系举例以下问题,交叉关系举例三个词很多人还不知道,现在让我们一起来看看吧!1、比如,陕西人:专家,

  4. 4

    空待(空待君不回)

    大家好,小乐今天来为大家解答空待以下问题,空待君不回很多人还不知道,现在让我们一起来看看吧!1、《空待》是一首由王朝和天依合作的VOC

  5. 5

    工大榜样·保研特辑④|咸红旭:唯有坚持不懈才能找到答案

    研途漫漫,他们披星带月荆棘丛丛,他们甘之如饴保研路上他们用无悔的对峙践行着心中的妄想收获了满径花香本期让我们一路走近保研学子机械设

  6. 6

    防灾减灾科普|“南昌多人被大风吹落坠亡”,为什么会出现这种毁灭性的强对流天气?如何防范?

    比来,江南、华南强对流天色频发,3 月 31 日凌晨,江西省南昌市突发强对流天色,最强时段是 3:00 前后,南昌市、南昌县观测到了 9 级大风,进贤

  7. 7

    怎么关闭开机自动启动的软件(怎么关闭开机自动启动软件win7)

    大家好,小伟今天来为大家解答怎么关闭开机自动启动的软件以下问题,怎么关闭开机自动启动软件win7很多人还不知道,现在让我们一起来看看吧!

  8. 8

    世界美院排名(世界美院排名前100)

    大家好,小娟今天来为大家解答世界美院排名以下问题,世界美院排名前100很多人还不知道,现在让我们一起来看看吧!1、2023年米兰布雷拉美术学院

Copyright 2024.依依自媒体,让大家了解更多图文资讯!