8-Bit Approximations for Parallelism in Deep Learning
Tim Dettmers
TL;DR
This work addresses the bottleneck of inter-device communication in large-scale deep learning by introducing 8-bit gradient and activation approximations that compress 32-bit data without measurable loss in accuracy on benchmarks spanning MNIST to ImageNet. It presents four 8-bit data representations, with a dynamic exponent and a binary-tree mantissa that improve approximation quality and combine with a sub-batch strategy to hide communication costs in both data and model parallelism. A predictive speedup model, validated against hardware benchmarks, shows substantial gains on large GPU clusters (e.g., up to ~50x with 96 GPUs) while maintaining competitive accuracy, establishing 8-bit approximations as state-of-the-art for model parallelism in CNNs. The results imply significant practical impact for scalable CNN training on very large GPU systems, motivating further hardware and algorithmic advances to exploit high-bandwidth networks and memory architectures.
Abstract
The creation of practical deep learning data-products often requires parallelization across processors and computers to make deep learning feasible on large data sets, but bottlenecks in communication bandwidth make it difficult to attain good speedups through parallelism. Here we develop and test 8-bit approximation algorithms which make better use of the available bandwidth by compressing 32-bit gradients and nonlinear activations to 8-bit approximations. We show that these approximations do not decrease predictive performance on MNIST, CIFAR10, and ImageNet for both model and data parallelism and provide a data transfer speedup of 2x relative to 32-bit parallelism. We build a predictive model for speedups based on our experimental data, verify its validity on known speedup data, and show that we can obtain a speedup of 50x and more on a system of 96 GPUs compared to a speedup of 23x for 32-bit. We compare our data types with other methods and show that 8-bit approximations achieve state-of-the-art speedups for model parallelism. Thus 8-bit approximation is an efficient method to parallelize convolutional networks on very large systems of GPUs.
