Skip to main content
QUICK REVIEW

[论文解读] Faster Distributed Deep Net Training: Computation and Communication Decoupled Stochastic Gradient Descent

Shuheng Shen, Linli Xu|arXiv (Cornell University)|Jun 28, 2019
Stochastic Gradient Optimization Techniques参考文献 24被引用 4
一句话总结

该论文提出 CoCoD-SGD,一种计算与通信解耦的随机梯度下降算法,在减少通信频率的同时并行执行计算与通信,在 16 块 GPU 上使用 ResNet18 和 VGG16 时,训练速度相比传统同步 SGD 最快提升 2-3 倍,并在同构与异构环境中均实现了线性迭代加速。

ABSTRACT

With the increase in the amount of data and the expansion of model scale, distributed parallel training becomes an important and successful technique to address the optimization challenges. Nevertheless, although distributed stochastic gradient descent (SGD) algorithms can achieve a linear iteration speedup, they are limited significantly in practice by the communication cost, making it difficult to achieve a linear time speedup. In this paper, we propose a computation and communication decoupled stochastic gradient descent (CoCoD-SGD) algorithm to run computation and communication in parallel to reduce the communication cost. We prove that CoCoD-SGD has a linear iteration speedup with respect to the total computation capability of the hardware resources. In addition, it has a lower communication complexity and better time speedup comparing with traditional distributed SGD algorithms. Experiments on deep neural network training demonstrate the significant improvements of CoCoD-SGD: when training ResNet18 and VGG16 with 16 Geforce GTX 1080Ti GPUs, CoCoD-SGD is up to 2-3$ imes$ faster than traditional synchronous SGD.

研究动机与目标

  • 解决分布式深度学习中的通信瓶颈问题,该问题尽管计算能力强大,却限制了线性时间加速。
  • 克服传统同步 SGD 的低效性,其计算与通信紧密耦合,通信期间仅部分硬件资源被利用。
  • 开发一种分布式优化算法,实现计算与通信的并行执行,以提升硬件利用率。
  • 在同构与异构硬件环境中,实现相对于整体计算能力的线性迭代加速。
  • 在不牺牲模型准确率的前提下,实际应用中实现更优的时间加速与收敛效率。

提出的方法

  • 通过允许工作者在启动通信后立即继续本地梯度计算,而非等待通信完成,实现计算与通信的解耦。
  • 引入周期性通信而非每轮迭代均通信,降低整体通信复杂度。
  • 使用通信得到的全局梯度以及本地与全局模型之间的差异来更新本地模型,以保持收敛稳定性。
  • 理论分析证明,在同构环境中实现线性迭代加速,并在异构环境中实现相对于总计算能力的线性迭代加速。
  • 通过根据工作者速度动态调整通信频率与批量大小,支持同构与异构环境。
  • 实现一种通信协议,使计算与通信阶段能够重叠,最大限度减少工作者的空闲时间。

实验结果

研究问题

  • RQ1在分布式 SGD 中能否有效解耦计算与通信,以提升硬件利用率并降低通信开销?
  • RQ2所提出的 CoCoD-SGD 算法在同构环境中是否能实现与工作者数量成线性关系的迭代加速?
  • RQ3CoCoD-SGD 在异构环境中是否能保持相对于总计算能力的线性迭代加速?
  • RQ4与现有分布式 SGD 变体(如 S-SGD、Pipe-SGD 和 Local-SGD)相比,CoCoD-SGD 的实际时间加速是多少?
  • RQ5CoCoD-SGD 在同构与异构环境中是否在实现更快收敛的同时保持模型准确率?

主要发现

  • 在 16 块 GPU 上,CoCoD-SGD 对 ResNet18 和 VGG16 的训练速度相比传统同步 SGD 最快提升 2-3 倍。
  • 在异构环境中,CoCoD-SGD 相较于 S-SGD 实现了 2.5 倍(ResNet18)和 3 倍(VGG16)的时间加速。
  • 与 S-SGD 相比,该算法保持或略微提升测试准确率,ResNet18 在 CIFAR-10 上的最终测试准确率为 94.33%,VGG16 在 CIFAR-100 上为 75.74%。
  • 在异构环境中,CoCoD-SGD 对不同工作者速度具有鲁棒性,即使在使用比例采样增强的 S-SGD 和 Pipe-SGD 情况下,仍能保持快速收敛。
  • 理论分析证实,CoCoD-SGD 在同构与异构环境中均实现线性迭代加速。
  • 实验表明,CoCoD-SGD 在降低通信复杂度的同时,通过重叠计算与通信实现了硬件资源的充分利用。

更好的研究,从现在开始

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

无需绑定信用卡

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