From promise to practice: realizing high-performance decentralized training

Zesen Wang, Jiaojiao Zhang, Xuyang Wu, Mikael Johansson
10/15/2024
cs.DCcs.LG

No official code found. Best implementation: WangZesen/Decent-DP (12 stars, MIT, last commit 2025-11-12). 1 more below.

Abstract

Decentralized training of deep neural networks has attracted significant attention for its theoretically superior scalability over synchronous data-parallel methods like All-Reduce. However, realizing this potential in multi-node training is challenging due to the complex design space that involves communication topologies, computation patterns, and optimization algorithms. This paper identifies three key factors that can lead to speedups over All-Reduce training and constructs a runtime model to determine when, how, and to what degree decentralization can yield shorter per-iteration runtimes. Furthermore, to support the decentralized training of transformer-based models, we study a decentralized Adam algorithm that allows for overlapping communications and computations, prove its convergence, and propose an accumulation technique to mitigate the high variance caused by small local batch sizes. We deploy the proposed approach in clusters with up to 64 GPUs and demonstrate its practicality and advantages in both runtime and generalization performance under a fixed iteration budget.

View on arXivView PDF

Code Implementations(2)

MIT

[ICLR'25] From Promise to Practice: Realizing High-performance Decentralized Training

40Shell, PythonDec 19, 20241 years agoMIT
MIT

A PyTorch extension that facilitates decentralized data parallel training. [ICLR'25] From Promise to Practice: Realizing High-performance Decentralized Training.

123PythonJun 4, 202411 months agoMIT

Similar Papers

Cite this paper

@article{wang2024from,
  title  = {From promise to practice: realizing high-performance decentralized training},
  author = {Zesen Wang and Jiaojiao Zhang and Xuyang Wu and Mikael Johansson},
  year   = {2024},
  eprint = {2410.11998},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2410.11998v1},
  journal = {ICLR 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2410.11998.svg)](https://codeofpaper.com/paper/2410.11998)

Discussion