提高12倍!香港浸会大学和MassGrid发布低带宽高效AI训练新算法-量子比特

允中从凹非寺出发

量子报道|公众号QbitAI

随着训练数据量的增加和深度神经网络(DNN)的复杂化,为了加速DNN的训练,广泛采用GPU集群等分布式计算环境。分布式计算网络机器学习的瓶颈是节点间的数据传输效率,如何在这个网络下有效地进行AI培训?

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

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

举例说明

假设S-SGD中有p个节点训练DNN模型。对于每个迭代,所有计算节点使用不同的小批量数据并行计算模型的坡度。然后,当对各节点的梯度进行平均化来更新模型时,导入大的通信开销。

由于计算节点的GPU和TPU等加速器的处理能力远远快于网络速度的增长,特别是在通信和计算比例较高的情况下,网络通信的性能往往会成为培训的性能瓶颈。

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

要克服通信性能瓶颈,可以使用更大的mini-batch来增加工作负载,降低通信与计算的比例,或者减少每个通信所需的通信量。

另一方面,大量SGD技术已经提出了一些优化策略,在不失去模型准确性的情况下提高mini-batch。另一方面,还提出了梯度剔除、量化、压缩等方法,在不影响收敛速度的情况下,大幅度减少切换梯度的数量来降低业务量。

在“模型”>“梯度压缩”技术中,“顶部-k剔除”是一种重要的方法,它可以将每个节点的梯度剔除到大约千分之一。也就是说,在不传输这些零值的情况下,将99.9%的坡度设置为零。

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

Top-k稀疏的S-SGD只会在每次迭代中传递少量的梯度并进行平均,不会影响模型的收敛和精度。但是,稀疏化的非零值梯度所在的索引位置因计算节点的不同而不一致,因此难以进行有效的稀疏化梯度聚合。

当使用基于环的密集梯度的AllReduce方法DenseAllReduce时,通信的复杂性为o(p+m)这里,p是计算节点数,m是参数/梯度的数。另一方面,在Top-k稀疏化中,将各节点的梯度稠密度ρ、即k=ρ×m,因为对应于每个节点的非零值的索引不匹配。

因此,每个通信需要传输2k个值(梯度值和索引)要使用AllGather聚合(TopKAllReduce)2k个值,需要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总结了不同梯度聚合方法的通信复杂度。

在实验研究和发表的论文中主要贡献如下。

观察到Top-k稀疏化的聚合结果可以在更新模型之前进一步稀疏。在分布式SGD中,提出了一种称为gTop-kS-SGD的有效全局Top-k稀疏化算法,用于加速深神经网络的分布式训练。在主流的深度学习框架PyTorch和MPI中实现gTop-k S-SGD,代码和参数的配置在GitHub中成为开源。通过多种神经网络和数据集的实验验证,gTop-kS-SGD在低带宽网络GPU集群上(MassGrid、矿机集群)大大提高了系统的扩展效率。MassGrid分布式计算网络能够使用虚拟化技术将世界范围内可利用的计算资源虚拟化为通用计算设备,迅速导入连接网络来进行大规模的分布式计算,能够以低成本、具有柔软性等优点。在这次实验中,我们提供了如下配置的矿机集群。

培训方法

gTop-k的重要思想

在Top-kS-SGD中,每个节点在本地选择k个坡度值,并将所有节点聚合在一起。研究者们发现,非零元素的数量且不是所有这些都有助于模型的收敛。

具体地,可以进一步稀疏,使得每次更新模型都需要更少的非零梯度。也就是说,在保证模型收敛速度的同时,还可以从其中选择最大绝对值的top-k个梯度(以更新模型)图1示出了4个节点的示例。

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

为了验证比较不影响收敛速度,对ResNet进行训练和比较,实验结果如图2所示。

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

gTopKAllReduce:gTop-k剔除的高效AllReduce算法

由表1可知,AllGather集合从不规则的索引进行AllReduce操作效率差,特别是p对通信性能有影响。新提出的有效算法的主要目的是减少变量p对通信开销的影响。因为最终只需选择k个值来更新模型,所以在通信中每次只需传输k个0以外的值即可。

利用树结构进行两个通信,一次只发送k个0以外的值,但接收者具有2k个值,为了下次发送也只发送k个值,接收者从2k个值中再选择k个值传递给下一个接收者。由于两个通信可以同时进行,所以需要对p个节点进行logP循环通信,图3表示1个8节点的例子。

从图3可以看出,第一节点在每次通信时接收另一节点的k个非0元素,在最后一次通信之后,第一节点选择k个非0元素向其他节点广播,因此总通信开销为2αlogP + 4kβ成为logP。当机械规模p增大时,gTop-k可保持高扩展性。在图4中示出了算法的伪代码。

△图3对于8个节点,合计需要3次通信,每1次通信仅传输k个0以外的值

△图4gTopKAllReduce算法伪码

实验结果

香港浸会大学异构化计算实验室和MassGrid研究人员在32台矿机环境下进行实验,每台矿机使用Nvidia P102-100显卡。

首先验证gTop-k S-SGD的收敛性。然后比较三种S-SGD算法,即基于稠密梯度的S-SGD、Top-kS-SGD和gTop-kS-SGD的训练效率。

实验的具体硬件结构如表II所示

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

gTop-k收敛性能

总体来看,三种DNN在不同数据集上的收敛结果表明,研究人员提出的gTop-kS-SGD在训练过程中不会损害模型的性能。

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

gTop-k可扩展性

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

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

△表7各模型的扩展效率比较

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

另一方面,在VGG-16和AlexNet模型的时间分割中,通信开销远远大于计算。因为VGG-16和AlexNet有三个完全连接的图层,拥有大量参数,但计算速度相对较快。这些反映了即使使用gTopk稀疏化,图6中的SSGD的缩放效率也低。

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

另外,请注意,坡度稀疏化所需的时间与VGG-16和AlexNet模型的计算时间相同。主要原因是GPU上的Top-k选择效率低,在SIMD架构上高度并行可能不容易。研究人员将此作为未来优化的方向。

实验总结

分布式同步随机梯度下降(SSGD)被广泛用于训练大规模深度神经网络(DNN),但通常需要计算工人(例如GPU)之间的非常高的通信带宽来迭代地交换梯度。

最近,提出了用于减少工人之间交换的数据量的Topk稀疏化技术。Topk稀疏可使大多数梯度为零,而不影响模型的收敛。

通过对不同DNN的广泛实验,该研究验证了gTop-kS-SGD具有与S-SGD基本一致的收敛性能,泛化性能只有轻微的退化。

在扩展效率方面,研究人员在具有32个GPU机器互连到1Gbps以太网络的集群(MassGrid矿山机器集群)上评估gTopk。

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

传输门

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

-结束了

诚实的招聘

量子比特招聘编辑/记者,工作地点在北京中关村。期待有才华、热情的学生加入我们!有关详细信息,请在量子比特公众号(QbitaI)对话界面中回复“招聘”两个字。

量子比特QbitaI头线合同作者

#8217;#8217; 追踪AI技术和产品的新动向

返回列表
上一篇:
下一篇:

文章评论