Skip to main content
QUICK REVIEW

[论文解读] Layered SGD: A Decentralized and Synchronous SGD Algorithm for Scalable Deep Neural Network Training

Kwangmin Yu, Thomas R. Flynn|arXiv (Cornell University)|Jun 13, 2019
Advanced Neural Network Applications参考文献 19被引用 8
一句话总结

分层随机梯度下降(LSGD)是一种去中心化的同步SGD算法,通过将工作者划分为子组并为每个子组配备专用通信节点,实现I/O与通信延迟的重叠,从而实现线性可扩展性,并保持标准SGD的精度。在ImageNet上的实验表明,LSGD在256张GPU上实现了93.1%的可扩展性效率,同时保持了72.79%的高精度。

ABSTRACT

Stochastic Gradient Descent (SGD) is the most popular algorithm for training deep neural networks (DNNs). As larger networks and datasets cause longer training times, training on distributed systems is common and distributed SGD variants, mainly asynchronous and synchronous SGD, are widely used. Asynchronous SGD is communication efficient but suffers from accuracy degradation due to delayed parameter updating. Synchronous SGD becomes communication intensive when the number of nodes increases regardless of its advantage. To address these issues, we introduce Layered SGD (LSGD), a new decentralized synchronous SGD algorithm. LSGD partitions computing resources into subgroups that each contain a communication layer (communicator) and a computation layer (worker). Each subgroup has centralized communication for parameter updates while communication between subgroups is handled by communicators. As a result, communication time is overlapped with I/O latency of workers. The efficiency of the algorithm is tested by training a deep network on the ImageNet classification task.

研究动机与目标

  • 解决同步分布式SGD中的可扩展性瓶颈,即随着节点数量增加,通信开销也随之上升的问题。
  • 克服异步SGD中由于参数更新延迟导致的精度下降问题。
  • 设计一种去中心化但数学上等价于标准SGD的替代方法,以保持梯度无偏和参数更新一致。
  • 通过分层的、分层的通信结构,将通信与I/O延迟重叠,实现在大规模集群上的高效训练。
  • 在保持标准SGD收敛特性的同时,实现吞吐量的线性扩展。

提出的方法

  • 将分布式工作者划分为若干子组,每组包含多个计算工作者和一个专用的仅通信节点(通信器),作为本地参数服务器。
  • 在每个子组内使用本地all-reduce操作同步参数,从而减少组间通信频率。
  • 将子组内all-reduce通信所花费的时间与计算工作者的I/O延迟(如数据加载)重叠。
  • 通过通信器实现组间通信,通信器作为中继节点,聚合并传播更新后的参数至各子组。
  • 通过保持相同的参数更新规则(相同的学习率、批量大小和初始化),确保与标准SGD的数学等价性,从而保证梯度无偏。
  • 采用线性学习率缩放规则并配合学习率预热策略,以在使用大批次大小时稳定训练。

实验结果

研究问题

  • RQ1一种去中心化的SGD变体是否能在提升通信效率的同时,保持与标准同步SGD相同的精度?
  • RQ2在分布式DNN训练中,通信延迟是否能有效与I/O延迟重叠,从而提升可扩展性?
  • RQ3LSGD中的分层、分层通信结构是否能在工作者数量增加时实现吞吐量的线性扩展?
  • RQ4在ResNet-50等大规模DNN上,LSGD与传统同步SGD(CSGD)相比,在精度和训练速度方面表现如何?
  • RQ5当使用大批次大小和线性缩放的学习率时,LSGD是否能保持收敛稳定性?

主要发现

  • LSGD在256张GPU上实现了93.1%的可扩展性效率,显著优于CSGD,后者在相同规模下效率下降至63.8%。
  • LSGD在32个工作者以内实现了近乎完美的线性吞吐量扩展,且在大规模下仍保持高效率,这得益于通信与I/O的重叠。
  • LSGD在256个工作者和16,384批次大小下,保持了与标准SGD相同的精度:ImageNet上的top-1验证精度为72.79%。
  • 在相同条件下,CSGD的精度略高(73.49%),但这是由于大批次大小带来的已知精度下降现象,而非算法偏差所致。
  • LSGD保持了与标准SGD相同的无偏梯度和参数更新规则,确保理论等价性和一致的收敛行为。
  • 预热策略有效缓解了在使用大学习率(如256个工作者时为6.4)时早期训练阶段的不稳定性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。