中文

通过两级梯度平均实现分布式SGD的O(1)通信

机器学习 2020-06-17 v2 分布式、并行与集群计算 机器学习

摘要

大型神经网络模型给分布式随机梯度下降(SGD)带来了巨大的通信挑战,对于n个参数的模型,每个工作节点的通信复杂度为O(n)。许多稀疏化和量化技术被提出来压缩梯度,有些将通信复杂度降低到O(k),其中k << n。在本文中,我们引入了一种称为两级梯度平均(A2SGD)的策略,在计算两个全局平均值以更新模型之前,将每个工作节点的所有梯度合并为仅两个局部平均值。A2SGD还保留局部误差以维持方差,从而实现快速收敛。我们的理论分析表明,A2SGD的收敛性与默认的分布式SGD算法类似。我们的评估验证了理论结论,并证明A2SGD显著减少了每个工作节点的通信流量,并且与Top-K和QSGD相比,分别将LSTM-PTB的整体训练时间提高了3.2倍和23.2倍。据我们所知,A2SGD是第一个实现分布式SGD每个工作节点O(1)通信复杂度的算法。

关键词

引用

@article{arxiv.2006.07405,
  title  = {O(1) Communication for Distributed SGD through Two-Level Gradient Averaging},
  author = {Subhadeep Bhattacharya and Weikuan Yu and Fahim Tahmid Chowdhury},
  journal= {arXiv preprint arXiv:2006.07405},
  year   = {2020}
}