基于自适应求和的分布式训练扩展
分布式、并行与集群计算
2020-06-05 v1 机器学习
摘要
随机梯度下降(SGD)是一种固有的顺序训练算法——计算第 批的梯度依赖于从第 批学到的模型参数。先前打破这种依赖关系的方法并不遵循该顺序(例如,对每批梯度求和,而这并非顺序 SGD 的做法),因此可能面临较差的收敛性。本文提出一种称为 Adasum(自适应求和,adaptive sum)的梯度组合新方法,其收敛速度快于先前工作。Adasum 易于实现,几乎与简单求和梯度一样高效,并已集成到开源工具包 Horovod 中。本文首先为 Adasum 提供形式化依据,随后通过实证表明 Adasum 比先前的梯度累积方法更准确。接着引入一系列案例研究,展示 Adasum 可作用于多种框架(TensorFlow 和 PyTorch),将多种优化器(Momentum-SGD、Adam 和 LAMB)扩展到更大的批大小,同时仍保持良好的下游精度。最后,证明 Adasum 收敛。综上,Adasum 在 MLPerf Resnet50 基准上将 Momentum-SGD 在通信前扩展到 64K 样本(无 MLPerf v0.5 提交在超过 16K 时收敛),在 BERT-LARGE 上将 Adam 优化器在通信前扩展到 64K 样本(先前工作显示 Adam 在 16K 时停止扩展),在 BERT-LARGE 上将 LAMB 优化器在通信前扩展到 128K(先前工作使用 64K),且均保持下游精度指标。最后,若用户无需扩展,我们展示在 BERT-LARGE 上采用 Adasum 的 LAMB 比基线少 30% 步数即收敛。
引用
@article{arxiv.2006.02924,
title = {Scaling Distributed Training with Adaptive Summation},
author = {Saeed Maleki and Madan Musuvathi and Todd Mytkowicz and Olli Saarikivi and Tianju Xu and Vadim Eksarevskiy and Jaliya Ekanayake and Emad Barsoum},
journal= {arXiv preprint arXiv:2006.02924},
year = {2020}
}