How to scale distributed deep learning?
arXiv:1611.04581
Abstract
Training time on large datasets for deep neural networks is the principal workflow bottleneck in a number of important applications of deep learning, such as object classification and detection in automatic driver assistance systems (ADAS). To minimize training time, the training of a deep neural network must be scaled beyond a single machine to as many machines as possible by distributing the optimization method used for training. While a number of approaches have been proposed for distributed stochastic gradient descent (SGD), at the current time synchronous approaches to distributed SGD appear to be showing the greatest performance at large scale. Synchronous scaling of SGD suffers from the need to synchronize all processors on each gradient step and is not resilient in the face of failing or lagging processors. In asynchronous approaches using parameter servers, training is slowed by contention to the parameter server. In this paper we compare the convergence of synchronous and asynchronous SGD for training a modern ResNet network architecture on the ImageNet classification problem. We also propose an asynchronous method, gossiping SGD, that aims to retain the positive features of both systems by replacing the all-reduce collective operation of synchronous training with a gossip aggregation algorithm. We find, perhaps counterintuitively, that asynchronous SGD, including both elastic averaging and gossiping, converges faster at fewer nodes (up to about 32 nodes), whereas synchronous SGD scales better to more nodes (up to about 100 nodes).
Extended version of paper accepted at ML Sys 2016 (at NIPS 2016)
Cited by in corpus (18)
- Demystifying Parallel and Distributed Deep Learning: An In-Depth Concurrency Analysis
- Communication-Efficient Distributed Deep Learning: A Comprehensive Survey
- GossipGraD: Scalable Deep Learning using Gossip Communication based Asynchronous Gradient Descent
- The Evolution of Distributed Systems for Graph Neural Networks and their Origin in Graph Processing and Deep Learning: A Survey
- Taming Unbalanced Training Workloads in Deep Learning with Partial Collective Operations
- On the Computational Inefficiency of Large Batch Sizes for Stochastic Gradient Descent
- Decentralized Bayesian Learning over Graphs
- Parle: parallelizing stochastic gradient descent
- Synergy between Machine/Deep Learning and Software Engineering: How Far Are We?
- Exploring the Design Space of Deep Convolutional Neural Networks at Large Scale
- Understanding Training Efficiency of Deep Learning Recommendation Models at Scale
- Elastic Gossip: Distributing Neural Network Training Using Gossip-like Protocols
- Multi-Level Local SGD for Heterogeneous Hierarchical Networks
- Contextualizing Enhances Gradient Based Meta Learning
- A Low Complexity Decentralized Neural Net with Centralized Equivalence using Layer-wise Learning
- Machine Learning Systems for Intelligent Services in the IoT: A Survey
- A Random Gossip BMUF Process for Neural Language Modeling
- Integrated Model, Batch and Domain Parallelism in Training Neural Networks