Training DNN Models over Heterogeneous Clusters with Optimal Performance
Chengyi Nie, Jessica Maghakian, Zhenhua Liu
TL;DR
Cannikin presents a formal framework and a practical system for near-optimal training of DNNs over heterogeneous GPU clusters by learning OptPerf and optimally distributing per-node batch sizes. It combines joint performance modeling of compute and communication with overlap-aware optimization, and introduces a gradient-noise-scale based advanced estimation and weighted gradient aggregation to preserve convergence. Through a PyTorch implementation built atop AdaptDL, Cannikin demonstrates substantial reductions in convergence time and batch processing time across diverse workloads, while keeping prediction error low and overhead minimal. The work enables efficient, scalable distributed training in real-world heterogeneous environments and can be integrated with existing adaptive-batch-size engines and resource schedulers.
Abstract
Adjusting batch sizes and adaptively tuning other hyperparameters can significantly speed up deep neural network (DNN) training. Despite the ubiquity of heterogeneous clusters, existing adaptive DNN training techniques solely consider homogeneous environments. Optimizing distributed DNN training over heterogeneous clusters is technically challenging, and directly adapting existing techniques results in low utilization and poor performance. To solve this problem, we introduce Cannikin -- a novel data-parallel distributed training system. Cannikin achieves efficient and near-optimal performance by accurately modeling the optimal system performance and predicting adaptive batch size training metrics for DNNs in heterogeneous clusters. We implemented Cannikin in PyTorch and conducted experiments over 16 GPUs in Chameleon. Empirical results show that Cannikin reduces DNN training in heterogeneous clusters by up to $52\%$ compared to the state-of-the-art adaptive training system and up to $85\%$ compared to native PyTorch DistributedDataParallel.
