GPipe: Efficient Training of Giant Neural Networks Using Pipeline Parallelism

Abstract

Scaling up deep neural network capacity has been known as an effective approach to improving model quality for several different machine learning tasks. In many cases, increasing model capacity beyond the memory limit of a single accelerator has required developing special algorithms or infrastructure. These solutions are often architecture-specific and do not transfer to other machine learning tasks. To address the need for efficient and task-independent model parallelism, we introduce TensorPipe, a pipeline parallelism library that allows scaling any network that can be expressed as a sequence of layers. By pipelining different sub-sequences of layers on separate accelerators, TensorPipe provides the flexibility of scaling a variety of different networks to gigantic sizes efficiently. Moreover, TensorPipe utilizes a novel batch-splitting pipelining algorithm, resulting in almost linear speedup when a model is partitioned across multiple accelerators. We demonstrate the advantages of TensorPipe by training large-scale neural networks on two different tasks with distinct network architectures: (i)Image Classification: We train a 557-million-parameter AmoebaNet model and attain a top-1 accuracy of 84.4% on ImageNet-2012, (ii)Multilingual Neural Machine Translation: We train a single 6-billion-parameter, 128-layer Transformer model on a corpus spanning over 100 languages and achieve better quality than all bilingual models.

Cite

Text

Huang et al. "GPipe: Efficient Training of Giant Neural Networks Using Pipeline Parallelism." Neural Information Processing Systems, 2019.

Markdown

[Huang et al. "GPipe: Efficient Training of Giant Neural Networks Using Pipeline Parallelism." Neural Information Processing Systems, 2019.](https://mlanthology.org/neurips/2019/huang2019neurips-gpipe/)

BibTeX

@inproceedings{huang2019neurips-gpipe,
  title     = {{GPipe: Efficient Training of Giant Neural Networks Using Pipeline Parallelism}},
  author    = {Huang, Yanping and Cheng, Youlong and Bapna, Ankur and Firat, Orhan and Chen, Dehao and Chen, Mia and Lee, HyoukJoong and Ngiam, Jiquan and Le, Quoc V and Wu, Yonghui and Chen, Zhifeng},
  booktitle = {Neural Information Processing Systems},
  year      = {2019},
  pages     = {103-112},
  url       = {https://mlanthology.org/neurips/2019/huang2019neurips-gpipe/}
}