Skip to main content
QUICK REVIEW

[论文解读] A DAG Model of Synchronous Stochastic Gradient Descent in Distributed Deep Learning

Shaohuai Shi, Qiang Wang|arXiv (Cornell University)|May 10, 2018
Advanced Neural Network Applications参考文献 24被引用 8
一句话总结

本文提出一种新颖的有向无环图(DAG)模型,用于分析和优化分布式深度学习中同步随机梯度下降(S-SGD)的性能,显式建模了计算与通信阶段。研究发现,即使在使用高带宽互连(如InfiniBand和NVLink)的现代GPU上,梯度通信开销仍限制了系统扩展性,并识别出通过将I/O与梯度聚合与计算重叠来提升性能的优化机会。

ABSTRACT

With huge amounts of training data, deep learning has made great breakthroughs in many artificial intelligence (AI) applications. However, such large-scale data sets present computational challenges, requiring training to be distributed on a cluster equipped with accelerators like GPUs. With the fast increase of GPU computing power, the data communications among GPUs have become a potential bottleneck on the overall training performance. In this paper, we first propose a general directed acyclic graph (DAG) model to describe the distributed synchronous stochastic gradient descent (S-SGD) algorithm, which has been widely used in distributed deep learning frameworks. To understand the practical impact of data communications on training performance, we conduct extensive empirical studies on four state-of-the-art distributed deep learning frameworks (i.e., Caffe-MPI, CNTK, MXNet and TensorFlow) over multi-GPU and multi-node environments with different data communication techniques, including PCIe, NVLink, 10GbE, and InfiniBand. Through both analytical and experimental studies, we identify the potential bottlenecks and overheads that could be further optimized. At last, we make the data set of our experimental traces publicly available, which could be used to support simulation-based studies.

研究动机与目标

  • 理解数据通信对使用同步SGD的分布式深度学习训练性能的影响。
  • 分析最先进深度学习框架(Caffe-MPI、CNTK、MXNet、TensorFlow)在多GPU和多节点环境下的扩展性限制。
  • 识别阻碍高性能GPU上高效扩展的系统级瓶颈,包括通信、I/O和计算。
  • 提供一个公开可用的、逐层的追踪数据集,用于基于模拟的性能研究和框架优化。

提出的方法

  • 构建一个通用的DAG模型,其中节点表示计算或通信任务,边表示S-SGD工作流中的依赖约束。
  • 利用DAG模型分析调度策略,特别是将I/O和梯度聚合与计算重叠以隐藏通信延迟。
  • 通过PCIe、NVLink、10GbE和InfiniBand在多GPU和多节点集群上,对四种深度学习框架(Caffe-MPI、CNTK、MXNet、TensorFlow)进行实证评估。
  • 收集并发布AlexNet、GoogleNet和ResNet-50在K80和V100 GPU上的详细逐层性能追踪数据(前向/反向时间、梯度通信时间、梯度大小)。
  • 分析不同通信技术及框架特定实现对训练迭代时间与扩展效率的影响。
  • 通过将DAG模型的迭代时间预测值与Caffe-MPI的实际测量值对比,验证了该模型的预测准确性,平均误差为4.6%–9.4%。

实验结果

研究问题

  • RQ1不同的数据通信技术(PCIe、NVLink、10GbE、InfiniBand)如何影响分布式深度学习中S-SGD的训练性能?
  • RQ2当前深度学习框架在多任务重叠(如I/O与梯度聚合与计算重叠)方面,能在多大程度上隐藏通信开销?
  • RQ3为何尽管采用了InfiniBand等先进互连技术,框架在高端GPU(如V100)上仍扩展性差?
  • RQ4梯度通信中的性能瓶颈是什么?它们在不同神经网络架构之间如何变化?
  • RQ5DAG模型能否准确预测训练迭代时间,并指导分布式训练中的优化策略?

主要发现

  • DAG模型能准确预测训练迭代时间,与Caffe-MPI实测结果相比,平均预测误差为:AlexNet 9.4%,GoogleNet 4.7%,ResNet-50 4.6%。
  • CNTK未能将梯度通信与计算重叠,导致通信开销更高,扩展性能劣于Caffe-MPI、MXNet和TensorFlow。
  • 即使在100Gbps InfiniBand下,V100 GPU上的梯度通信仍是瓶颈,尤其是在使用Tensor Cores时,原因在于节点间通信的优化不足。
  • 由于反向传播期间的逐层通信模式,InfiniBand上观察到网络带宽利用率低下,表明数据传输调度存在不足。
  • 所提出的DAG模型揭示了两个关键优化机会:将I/O与计算重叠,以及将梯度聚合与计算重叠,两者均可提升扩展效率。
  • 公开发布的追踪数据集包含三种CNN在K80和V100 GPU上的逐层时间与梯度大小测量数据,支持基于模拟的性能分析与框架评估。

更好的研究,从现在开始

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

无需绑定信用卡

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