PaSE: Parallelization Strategies for Efficient DNN Training
Venmugil Elango
TL;DR
PaSE addresses the challenge of automatically discovering efficient parallelization strategies for DNN training by modeling the network as a computation graph and minimizing a cost that balances computation and communication across devices. It introduces a dynamic-programming approach augmented by a vertex-sequencing technique (GenerateSeq) to keep dependent sets small, enabling efficient computation of near-optimal strategies that mix data and parameter parallelism. Through experiments on AlexNet, InceptionV3, RNNLM, and Transformer, PaSE achieves up to 1.85× speedup on 1080Ti GPUs and up to 4× on 2080Ti GPUs over data-parallel baselines, outperforming expert-designed strategies and FlexFlow. The method provides practical automatic strategy discovery without semantic model changes, with a modular cost model and a scalable search that leverages sparse DNN graphs in common architectures.
Abstract
Training a deep neural network (DNN) requires substantial computational and memory requirements. It is common to use multiple devices to train a DNN to reduce the overall training time. There are several choices to parallelize each layer in a DNN. Exhaustively searching this list to find an optimal parallelization strategy is prohibitively time consuming and impractical. The standard practice is to use data parallelism because of its simplicity. However, data parallelism is often sub-optimal, and suffers from poor performance and high memory requirement. Expert-designed strategies have been proposed on a case-by-case basis using domain specific knowledge. These expert-designed strategies do not generalize well to DNNs other than the ones for which they were designed, and are not always necessarily the best choice. In this paper, we propose an approach to automatically find efficient parallelization strategies for DNNs from their computation graphs. We present an efficient algorithm to compute these strategies within a reasonable time in practice. We evaluate the effectiveness of our approach on various DNNs. We also compare the performance of the strategies identified by our approach against data parallelism, expert-designed strategies, and the state-of-the-art approaches. Our results show that the strategies found using our approach outperform the baseline data parallelism strategy in all the cases. In addition, our strategies achieve better performance than the expert-designed strategies and the state-of-the-art approaches.
