TensorOpt: Exploring the Tradeoffs in Distributed DNN Training with Auto-Parallelism
This work addresses the need for flexible and efficient distributed training for DNN practitioners, though it is incremental as it builds on prior single-objective methods.
The paper tackles the problem of optimizing distributed DNN training by proposing FT, an algorithm that finds a set of parallelization strategies to trade off objectives like execution time and memory consumption, with experimental results showing efficient runtime and accurate cost estimation.
A good parallelization strategy can significantly improve the efficiency or reduce the cost for the distributed training of deep neural networks (DNNs). Recently, several methods have been proposed to find efficient parallelization strategies but they all optimize a single objective (e.g., execution time, memory consumption) and produce only one strategy. We propose FT, an efficient algorithm that searches for an optimal set of parallelization strategies to allow the trade-off among different objectives. FT can adapt to different scenarios by minimizing the memory consumption when the number of devices is limited and fully utilize additional resources to reduce the execution time. For popular DNN models (e.g., vision, language), an in-depth analysis is conducted to understand the trade-offs among different objectives and their influence on the parallelization strategies. We also develop a user-friendly system, called TensorOpt, which allows users to run their distributed DNN training jobs without caring the details of parallelization strategies. Experimental results show that FT runs efficiently and provides accurate estimation of runtime costs, and TensorOpt is more flexible in adapting to resource availability compared with existing frameworks.