Faster Neural Network Training with Data Echoing
This addresses the problem of training slowdown due to data pipeline bottlenecks for machine learning practitioners, offering a practical solution to improve efficiency.
The paper tackles the bottleneck of data preprocessing and I/O in neural network training by introducing data echoing, which reuses intermediate outputs to reduce upstream computation. It achieved a 3.25x decrease in wall-clock time for ResNet-50 on ImageNet when training data is read over a network.
In the twilight of Moore's law, GPUs and other specialized hardware accelerators have dramatically sped up neural network training. However, earlier stages of the training pipeline, such as disk I/O and data preprocessing, do not run on accelerators. As accelerators continue to improve, these earlier stages will increasingly become the bottleneck. In this paper, we introduce "data echoing," which reduces the total computation used by earlier pipeline stages and speeds up training whenever computation upstream from accelerators dominates the training time. Data echoing reuses (or "echoes") intermediate outputs from earlier pipeline stages in order to reclaim idle capacity. We investigate the behavior of different data echoing algorithms on various workloads, for various amounts of echoing, and for various batch sizes. We find that in all settings, at least one data echoing algorithm can match the baseline's predictive performance using less upstream computation. We measured a factor of 3.25 decrease in wall-clock time for ResNet-50 on ImageNet when reading training data over a network.