Concepedia

TLDR

High network communication cost for synchronizing gradients and parameters is the well‑known bottleneck of distributed training. The authors propose TernGrad, a method that uses ternary gradients to accelerate distributed deep learning in data parallelism. TernGrad compresses gradients to three levels \{-1,0,1\}, applies layer‑wise ternarization and gradient clipping, and uses a performance model to analyze scalability. Experiments demonstrate that TernGrad converges, incurs no accuracy loss on AlexNet, causes less than 2 % loss on GoogLeNet, and yields significant speed gains across various networks. Our source code is available.

Abstract

High network communication cost for synchronizing gradients and parameters is the well-known bottleneck of distributed training. In this work, we propose TernGrad that uses ternary gradients to accelerate distributed deep learning in data parallelism. Our approach requires only three numerical levels {-1,0,1}, which can aggressively reduce the communication time. We mathematically prove the convergence of TernGrad under the assumption of a bound on gradients. Guided by the bound, we propose layer-wise ternarizing and gradient clipping to improve its convergence. Our experiments show that applying TernGrad on AlexNet does not incur any accuracy loss and can even improve accuracy. The accuracy loss of GoogLeNet induced by TernGrad is less than 2% on average. Finally, a performance model is proposed to study the scalability of TernGrad. Experiments show significant speed gains for various deep neural networks. Our source code is available.