XPipe: Efficient Pipeline Model Parallelism for Multi-GPU DNN Training
arXiv:1911.04610
Abstract
We propose XPipe, an efficient asynchronous pipeline model parallelism approach for multi-GPU DNN training. XPipe is designed to use multiple GPUs to concurrently and continuously train different parts of a DNN model. To improve GPU utilization and achieve high throughput, it splits a mini-batch into a set of micro-batches. It allows the overlapping of the pipelines of multiple micro-batches, including those belonging to different mini-batches. Most importantly, the novel weight prediction strategy adopted by XPipe enables it to effectively address the weight inconsistency and staleness issues incurred by the asynchronous pipeline parallelism. As a result, XPipe incorporates the advantages of both synchronous and asynchronous pipeline model parallelism approaches. Concretely, it can achieve very comparable (even slightly better) model accuracy as its synchronous counterpart while obtaining higher throughput than it. Experimental results show that XPipe outperforms other state-of-the-art synchronous and asynchronous model parallelism approaches.
arXiv comment9 pages
References in corpus (12)
- Adam: A Method for Stochastic Optimization
- Very Deep Convolutional Networks for Large-Scale Image Recognition
- Distilling the Knowledge in a Neural Network
- Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation
- Deep Audio-Visual Speech Recognition
- Device Placement Optimization with Reinforcement Learning
- Demystifying Parallel and Distributed Deep Learning: An In-Depth Concurrency Analysis
- PipeDream: Fast and Efficient Pipeline Parallel DNN Training
- Efficient and Robust Parallel DNN Training through Model Parallelism on Multi-GPU Platform
- Decoupled Parallel Backpropagation with Convergence Guarantee
- Training Neural Networks Using Features Replay
- AMPNet: Asynchronous Model-Parallel Training for Dynamic Neural Networks
Cited by in corpus (9)
- torchgpipe: On-the-fly Pipeline Parallelism for Training Giant Models
- DAPPLE: A Pipelined Data Parallel Approach for Training Large Models
- Taming Momentum in a Distributed Asynchronous Environment
- Orchestrating the Development Lifecycle of Machine Learning-Based IoT Applications: A Taxonomy and Survey
- Deep Optimizer States: Towards Scalable Training of Transformer Models Using Interleaved Offloading
- Activations and Gradients Compression for Model-Parallel Training
- FTPipeHD: A Fault-Tolerant Pipeline-Parallel Distributed Training Framework for Heterogeneous Edge Devices
- Automatic Graph Partitioning for Very Large-scale Deep Learning
- ResIST: Layer-Wise Decomposition of ResNets for Distributed Training