提升12倍!中国香港浸会大学与MassGrid发布低带宽高效AI训练新算法

作者: 佚名 2019-05-10 10:30:42

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

 随着训练数据量的增加和深度神经网络(DNN)的日益复杂,分布式计算环境(如GPU集群)被广泛采用,以加速DNN的训练。分布式计算网络在机器学习方面的瓶颈在于节点之间的数据传输效率,那如何在这一网络下高效地进行AI训练?

2018年,中国香港浸会大学异构计算实验室与MassGrid合作,通过研究提出一种可用于低带宽网络的全局Top-k稀疏化的分布式同步SGD算法,并通过实验论证出在低带宽网络下也能高效进行AI训练。目前实验结果及相关论文已被ICDCS workshop收录。

数据并行的分布式同步随机梯度下降(S-SGD)方法是训练大规模神经网络常用的优化器之一。与单节点的SGD相比,S-SGD将工作负载分配给多个计算节点以加速训练,但它也引入了在每次迭代中交换模型参数或梯度的通信开销。

举例说明

假设有P个节点用S-SGD训练DNN模型。在每次迭代中,所有计算节点都会采用不同的小批量(mini-batch)数据来并行计算模型的梯度。然后,对每个节点的梯度进行平均后来更新模型,这便引入较大的通信开销。

由于计算节点的加速器(如GPU和TPU)的计算能力比网络速度的增长快得多,网络通信性能通常成为训练的性能瓶颈,特别是当通信与计算比率很高时。

许多大型IT公司使用昂贵的高速网络(如40 / 100Gbps IB或以太网)来减少通信压力,但仍有许多研究人员和小公司只能使用由1Gig-Ethernet等低带宽网络连接的消费级GPU。

为了克服通信的性能瓶颈,可以通过使用更大的mini-batch来增加工作负载从而降低通信与计算比,或者减少每次通信过程中所需的通信量:

  • 一方面,许多大批量SGD技术已经提出了一些优化策略来提高mini-batch而不会丢失模型准确性。
  • 另一方面,研究人员也已经提出了梯度稀疏化,量化和压缩等方法,在不影响收敛速度的情况下显着减小交换梯度的数量以降低通信量。

在模型/梯度压缩技术中,Top-k稀疏化是关键方法之一,它可以将每个节点梯度稀疏到约为原来的千分之一(即 99.9%的梯度置为零而无需传输这些零值)。

Top-k稀疏化是一种较有效的梯度压缩方法,相关研究已做进行了实验和理论论证。

Top-k稀疏化的S-SGD在每次迭代中只需传输少量的梯度进行平均也不影响模型收敛或精度。然而,稀疏化后的非零值梯度所在的索引位置在不同的计算节点是不一致的,这使得高效的稀疏化梯度聚合成为一项挑战。

在稠密梯度上使用基于环形的AllReduce方法(DenseAllReduce)的通信复杂度为 O(P + m),其中 P为计算节点个数,m为参数/梯度的数量。而在Top-k稀疏化中,假设每个节点的梯度稠密度为ρ,即 k = ρ×m ,因为每个节点非零值的对应的索引在不同节点是不一致的。

因此,每次通信需要传输 2k个值(梯度值和索引)。采用AllGather对这2k个值进行聚合(简称TopKAllReduce)则需要O(kP)的通信复杂度。当扩展到大规模集群时(即P很大),即使k较小也仍会产生显着的通信开销。

Top-k稀疏化的主要思想是基于这样一个事实,即具有较大绝对值的梯度可以为模型收敛做出更多贡献。因为在Top-k算法中,即使P个计算节点在聚合后***可生成 k×P个非零值梯度,但***绝对值***的 k个梯度值对于模型更新则更重要。

基于这一观察,香港浸会大学异构计算实验室MassGrid的研究人员,提出了一种有效的Top-k稀疏化方法来解决TopKAllReduce的低效问题。

具体而言,根据不同节点的梯度绝对值来选择全局的Top-k(简称gTop-k)梯度。在本文中,研究人员主要讨论使用AllReduce的分布式S-SGD来应用gTop-k稀疏化,但它也适用于基于参数服务器的分布式S-SGD。

gTop-k可以很好地利用树结构从所有节点中选择全局top-k值,并称之为gTopKAllReduce,而通信复杂性从原来的O(kP)减少到O(klogP)。表1中总结了不同梯度聚合方法的通信复杂度。

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

在实验研究及所发表的论文中主要贡献如下:

  1. 研究人员观察到Top-k稀疏化的聚合结果可以在更新模型前做进一步稀疏化
  2. 在分布式SGD上提出了一种有效的全局Top-k稀疏化算法,称为gTop-k S-SGD,用于加速深度神经网络的分布式训练。
  3. 在主流的深度学习框架PyTorch和MPI上实现了gTop-k S-SGD,代码和参数配置将在GitHub上开源。
  4. 多种神经网络数据集进行了实验验证,实验结果表明gTop- k S-SGD在低带宽网络GPU集群上(MassGrid矿机集群)显着地提高系统的扩展效率。
  5. MassGrid分布式计算网络使用虚拟化技术将全球范围可用的计算资源虚拟成通用计算设备,可快速部署连接组网进行大规模分布式计算,具有成本低,使用灵活等优势。本次实验中MassGrid提供了配置如下的矿机集群:

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

训练方法

gTop-k的关键思想

在Top-k S-SGD中,每个节点在本地选出k个梯度值,然后所有节点进行聚合得到。研究人员发现并非所有(其非零元素数量为且)都有助于模型收敛。

具体来说,可以进一步稀疏化为,这样每次模型更新只需要更少数量的非零梯度。换句话说,可以进一步从中选择top-k个***绝对值的梯度(表示为)来更新模型,同时保证模型的收敛速度。一个4节点的示例如图1所示。

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

△ 图1 从Top-k算法中的最多k×P个非零值进一步选择k个梯度示例

为验证相比对收敛速度没有影响,通过训练ResNet 来进行对比,实验结果如图2所示。

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

△ 图2 从Top-k算法中选择k个梯度进行模型更新的收敛结果

gTopKAllReduce:gTop-k稀疏化的高效AllReduce算法

从表1可以看到AllGather集合对从不规则索引进行AllReduce操作效率很低,特别是P对通信性能的影响。而新提出的有效算法的主要目的是减轻变量P对通信开销的影响。因为最终只需要选择k个值对模型进行更新,所以在通信过程中,每次只需要传输k个非0值。

利用树状结构进行两两通信,每次只传输k个非0值,而接收者则会有2k个值,为下次传输也只传输k个值,接收者从2k个值中再选出k个值传递给下一个接收者。由于两两通信是可以同时进行,因此对于P个节点,只需要logP轮通信,一个8节点的示例如图3所示。

由图3可以看出,第1个节点在每一轮通信中都会接收另一个节点的k个非0元素,在***一轮通信后,第1个节点则选出了k个非0元素然后广播给其他节点,所以整体的通信开销为:2αlogP + 4kβlogP。当机器规模P变大时,gTop-k还能维持较高的扩展性。算法伪代码为图4所示。

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

△ 图3 对8个节点,共需要3轮通信,每轮通信只传输k个非0值

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

△ 图4 gTopKAllReduce算法伪代码

实验结果

中国香港浸会大学异构计算实验室与MassGrid的研究人员在32台矿机环境上进行实验,每台矿机使用一个Nvidia P102-100显卡。

首先验证gTop-k S-SGD的收敛性。之后,对三种S-SGD算法(即基于稠密梯度的S-SGD,Top-k S-SGD和gTop-k S-SGD)的训练效率进行了比较。

实验具体硬件配置如表II所示

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

用于实验的神经网络配置如表III所示

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

gTop-k的收敛性能

总体来看,在不同数据集上三种不同类型的DNN的收敛结果表明研究人员提出的gTop-k S-SGD在训练期间不会损坏模型性能。

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

△ 图5 gTop-k S-SGD收敛性能

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

gTop-k的扩展性能

与S-SGD和Top-k S-SGD相比,在32个计算节点的集群环境上,gTop-k S-SGD比S-SGD快6.7倍,比Top-k S-SGD平均快1.4倍。不同的模型和不同节点数加速比如图6和表IV所示。

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

△ 图6不同节点数的扩展效率对比

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

△ 表7不同模型的扩展效率对比

局部稀疏化时间(tcompr.)和通信时间(tcommu.)。结果如图11所示。

一方面,在VGG-16和AlexNet型号的时间细分中通信开销远大于计算。因为VGG-16和AlexNet有三个完全连接的层,具有大量参数,而计算速度相对较快。这些也反映出即使使用gTop-k稀疏化,图6中S-SGD的缩放效率也很低。

另一方面,通信和稀疏化的时间远小于使用ResNet20和ResNet-50计算的时间,这表明通信计算比率低,因此即使在低带宽网络上,扩展效率也可高达80%。

此外,应注意梯度稀疏化所用的时间是与VGG-16和AlexNet型号的计算时间相当。主要原因是GPU上的Top-k选择效率低下,并且在SIMD架构上高度并行化可能并非易事。研究人员将此作为未来的优化方向。

提升12倍!香港浸会大学与MassGrid发布低带宽高效AI训练新算法

实验总结

分布式同步随机梯度下降(S-SGD)已经广泛用于训练大规模深度神经网络(DNN),但是它通常需要计算工作者(例如,GPU)之间非常高的通信带宽以迭代交换梯度。

最近,已经提出了Top-k稀疏化技术来减少工人之间要交换的数据量。Top-k稀疏化可以将大部分梯度归零,而不会影响模型收敛。

通过对不同DNN的广泛实验,这一研究验证了gTop-k S-SGD与S-SGD具有几乎一致的收敛性能,并且在泛化性能上只有轻微的降级

在扩展效率方面,研究人员在具有32个GPU机器的集群上(MassGrid矿机集群)评估gTop-k,这些机器与1 Gbps以太网互连。

实验结果表明,该方法比S-SGD实现了2.7-12倍的缩放效率,比现有的Top-k S-SGD提高了1.1-1.7倍

传送门

论文原文链接:https://arxiv.org/abs/1901.04359

更多关于MassGrid的应用场景请查询:www.massgrid.com

AI 数据 人工智能
上一篇:人工智能赋能视频行业,新娱乐时代的变局已定 下一篇:前沿科技分享:把脑信号译成语音 AI算法让有望让失语人士正常发声
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

谷歌前董事长:人工智能无法自己开创市场

未来不是由机器支配,未来由拥有无限想象力的人支配。

佚名 ·  16h前
谷歌的一项新研究,让机器狗小跑起来成为可能

有观点认为,尽管机器人很能干,能代替人类实现很多事情,但自然形成的原始动物还是比他们好很多。之所以这样说是因为,他们很难直接从狗身上学会像狗一样去走路。

郭仁贤 ·  1天前
「新基建」下大火的工业智能,问题依旧很多

「新基建」火了。连同 5G、人工智能、物联网等信息数字化基础设施,都成为国家新的发展方向,不仅在这些新领域内的从业者们明确了目标,传统行业对数字化转型的需求也蓄势待发。

赵子潇 ·  3天前
特征工程是啥东东?为何需要实现自动化?

如今人工智能(AI)变得越来越普遍和必要。从防止欺诈、实时异常检测到预测客户流失,企业客户每天都在寻找机器学习(ML)的新应用。ML的底层是什么?这项技术如何进行预测?使AI发挥神奇功效的秘诀又是什么?

布加迪 ·  4天前
AI如何改变人类社会的各种业务模式?

在过去的20年中,一些愤世嫉俗的人一直担心,人工智能(AI)的发展会破坏企业结构,导致大量失业和财富不平等加剧。下一个十年将是AI的十年。我们期望看到什么变化?答案是基本流程的转变和减少。

CDA数据分析师 ·  4天前
新冠疫情动态:十大创新,助力对抗COVID-19

从感染快速检测到3D打印解决方案,全球各地的科技企业正携手奋进,希望找到足以战胜新冠病毒大流行的突破性方法。目前有哪些创新成果值得关注?本文将带大家一探究竟。

佚名 ·  4天前
全球首个翻译引擎进化归来 “细节狂魔”搞定方言

最近,一款在线机器翻译软件在日本大火。这款翻译软件名叫DeepL,大火的原因正是因为它工作太负责了,翻译得太过准确,在日本引起了热议。

刘俊寰 ·  4天前
应用程序管理中的AI/ML用例

基于人工智能的操作 (AIOps) 是人工智能和传统 AM/IM 操作的融合。与所有其他领域一样,AI 将对运营管理产生重大影响。

佚名 ·  4天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载