abstract
- 分布式框架中两大主要的瓶颈:计算或者通信。
- 梯度压缩可以缓解网络瓶颈,并且业内已经有了比较好的针对深度模型训练时的梯度压缩瓶颈(DGC)。
- 我们主要关注稀疏场景下的梯度压缩问题:高内存消耗、收敛速度变慢、严重的参数陈旧问题。
- 我们分别提出了三个方法来应对以上挑战:1.利用动量近似减少内存消耗;2.利用长期梯度补偿加快收敛;3.利用本地累积量更新缓和参数陈旧问题。
- 实验效果:达到了99.9%的压缩率,并且每轮的收敛速度没有变慢。
DGC
- momentum correction:避免丢失动量的加速效果。
- local gradient clipping(避免梯度爆炸,传统方法是先汇聚后clip,DGC要先clip后汇聚)
- momentum factor masking:避免陈旧值,staleness
- warm-up training:训练初期梯度变化剧烈,不使用梯度压缩
- momentum correction and local gradient clipping用来保证收敛效果;momentum factor masking和warm-up training用来避免陈旧值的影响
SGC
- momentum approximation: 使用梯度累积量对动量进行近似,在梯度压缩场景下对动量进行近似,保证了收敛效果。
- long-term gradient compensation: 分析了全局动量和局部动量的关系,并提出了两者结合的方案,来加速收敛效果。
- local update: 稀疏场景下的梯度压缩,staleness问题更加严重。缓解全局模型和延迟更新不一致的问题。借助Nesterov的方法,先对模型进行更新,后计算梯度,相当于先向前看一步,这样缓解了两者不一致的问题。