Understanding and Optimizing Packed Neural Network Training for Hyper-Parameter Tuning
arXiv:2002.02885
Abstract
As neural networks are increasingly employed in machine learning practice, how to efficiently share limited training resources among a diverse set of model training tasks becomes a crucial issue. To achieve better utilization of the shared resources, we explore the idea of jointly training multiple neural network models on a single GPU in this paper. We realize this idea by proposing a primitive, called pack. We further present a comprehensive empirical study of pack and end-to-end experiments that suggest significant improvements for hyperparameter tuning. The results suggest: (1) packing two models can bring up to 40% performance improvement over unpacked setups for a single training step and the improvement increases when packing more models; (2) the benefit of the pack primitive largely depends on a number of factors including memory capacity, chip architecture, neural network structure, and batch size; (3) there exists a trade-off between packing and unpacking when training multiple neural network models on limited resources; (4) a pack-aware Hyperband is up to 2.7x faster than the original Hyperband, with this improvement growing as memory size increases and subsequently the density of models packed.
References in corpus (9)
- An Analysis of Deep Neural Network Models for Practical Applications
- Tune: A Research Platform for Distributed Model Selection and Training
- Practical recommendations for gradient-based training of deep architectures
- TFLMS: Large Model Support in TensorFlow by Graph Rewriting
- Themis: Fair and Efficient GPU Cluster Scheduling
- Efficient Memory Management for GPU-based Deep Learning Systems
- MotherNets: Rapid Deep Ensemble Learning
- Profile-guided memory optimization for deep neural networks
- Exploiting Reuse in Pipeline-Aware Hyperparameter Tuning