Image Classification at Supercomputer Scale
arXiv:1811.06992
Abstract
Deep learning is extremely computationally intensive, and hardware vendors have responded by building faster accelerators in large clusters. Training deep learning models at petaFLOPS scale requires overcoming both algorithmic and systems software challenges. In this paper, we discuss three systems-related optimizations: (1) distributed batch normalization to control per-replica batch sizes, (2) input pipeline optimizations to sustain model throughput, and (3) 2-D torus all-reduce to speed up gradient summation. We combine these optimizations to train ResNet-50 on ImageNet to 76.3% accuracy in 2.2 minutes on a 1024-chip TPU v3 Pod with a training throughput of over 1.05 million images/second and no accuracy drop.
Presented as part of Systems for ML Workshop @ NIPS 2018
References in corpus (1)
Cited by in corpus (32)
- Integer Quantization for Deep Learning Inference: Principles and Empirical Evaluation
- MLPerf Training Benchmark
- Large Batch Optimization for Deep Learning: Training BERT in 76 minutes
- Optimization for deep learning: theory and algorithms
- Massively Distributed SGD: ImageNet/ResNet-50 Training in a Flash
- Yet Another Accelerated SGD: ResNet-50 Training on ImageNet in 74.7 seconds
- Communication optimization strategies for distributed deep neural network training: A survey
- Augment your batch: better training with larger batches
- Resource-Efficient Deep Learning: A Survey on Model-, Arithmetic-, and Implementation-Level Techniques
- Large batch size training of neural networks with adversarial training and second-order information
- Faster Neural Network Training with Data Echoing
- Tesseract: Parallelize the Tensor Parallelism Efficiently
- SPRING: A Sparsity-Aware Reduced-Precision Monolithic 3D CNN Accelerator Architecture for Training and Inference
- Data Movement Is All You Need: A Case Study on Optimizing Transformers
- CODEBench: A Neural Architecture and Hardware Accelerator Co-Design Framework
- HPC AI500: The Methodology, Tools, Roofline Performance Models, and Metrics for Benchmarking HPC AI Systems
- Large-Batch Training for LSTM and Beyond
- Large-Scale Deep Learning Optimizations: A Comprehensive Survey
- Making EfficientNet More Efficient: Exploring Batch-Independent Normalization, Group Convolutions and Reduced Resolution Training
- A Large Batch Optimizer Reality Check: Traditional, Generic Optimizers Suffice Across Batch Sizes
- Benchmarking the Performance and Energy Efficiency of AI Accelerators for AI Training
- S-SGD: Symmetrical Stochastic Gradient Descent with Weight Noise Injection for Reaching Flat Minima
- Stochastic Optimization with Laggard Data Pipelines
- HPC AI500: Representative, Repeatable and Simple HPC AI Benchmarking
- Distributed Low Precision Training Without Mixed Precision
- Selective sampling for accelerating training of deep neural networks
- Concurrent Adversarial Learning for Large-Batch Training
- Large Batch Training Does Not Need Warmup
- Scalable and Practical Natural Gradient for Large-Scale Deep Learning
- DaSGD: Squeezing SGD Parallelization Performance in Distributed Training Using Delayed Averaging
- Representation range needs for 16-bit neural network training
- Progressive Compressed Records: Taking a Byte out of Deep Learning Data