In plain words: GPUs training one network together must constantly swap their updates, which usually slows everything down. A new communication layer merges those swaps into fewer, smaller messages sent while the GPUs keep computing, finishing ImageNet/AlexNet training in 1.5 minutes where typical systems barely speed up.
Abstract · Optimizing Network Performance for Distributed DNN Training on GPU Clusters: ImageNet/AlexNet Training in 1.5 Minutes
It is important to scale out deep neural network (DNN) training for reducing model training time. The high communication overhead is one of the major performance bottlenecks for distributed DNN training across multiple GPUs. Our investigations have shown that popular open-source DNN systems could only achieve 2.5 speedup ratio on 64 GPUs connected by 56 Gbps network. To address this problem, we propose a communication backend named GradientFlow for distributed DNN training, and employ a set of network optimization techniques. First, we integrate ring-based allreduce, mixed-precision training, and computation/communication overlap into GradientFlow. Second, we propose lazy allreduce to improve network throughput by fusing multiple communication operations into a single one, and design coarse-grained sparse communication to reduce network traffic by only transmitting important gradient chunks. When training ImageNet/AlexNet on 512 GPUs, our approach achieves 410.2 speedup ratio and completes 95-epoch training in 1.5 minutes, which outperforms existing approaches.
Peng Sun, Wansen Feng, Ruobing Han, Shengen Yan, Yonggang Wen
arXiv:1902.06855 · cs.DC · submitted Feb 19, 2019 · updated Oct 22, 2019
abstract · pdf · html
As a comparison, a Google TPUv3 pod with 1024 chips got to 75.2% accuracy with ResNet-50 in 1.8 minutes, and 76.2% accuracy in 2.2 minutes with an optimizer change and distributed batch normalization [1].
[1]: https://arxiv.org/abs/1811.06992