Distributed Deep Learning Using Synchronous Stochastic Gradient Descent
This work addresses the computational bottleneck of training large neural networks for researchers and practitioners by enabling efficient distributed training on standard hardware.
The paper tackles distributed deep learning by implementing a synchronous stochastic gradient descent algorithm that scales convolutional neural networks across hundreds of nodes without altering hyperparameters or compressing data, achieving up to 90X scaling on 128 nodes for VGG-A CNN training.
We design and implement a distributed multinode synchronous SGD algorithm, without altering hyper parameters, or compressing data, or altering algorithmic behavior. We perform a detailed analysis of scaling, and identify optimal design points for different networks. We demonstrate scaling of CNNs on 100s of nodes, and present what we believe to be record training throughputs. A 512 minibatch VGG-A CNN training run is scaled 90X on 128 nodes. Also 256 minibatch VGG-A and OverFeat-FAST networks are scaled 53X and 42X respectively on a 64 node cluster. We also demonstrate the generality of our approach via best-in-class 6.5X scaling for a 7-layer DNN on 16 nodes. Thereafter we attempt to democratize deep-learning by training on an Ethernet based AWS cluster and show ~14X scaling on 16 nodes.