Augment your batch: better training with larger batches
Elad Hoffer, Tal Ben-Nun, Itay Hubara, Niv Giladi, Torsten Hoefler, Daniel Soudry
TL;DR
<3-5 sentence high-level summary> The paper tackles the slowdown and generalization challenges of large-batch SGD by proposing Batch Augmentation (BA), which repeats each input within a batch under multiple data augmentations to form a larger effective batch without extra I/O. BA acts as a variance-reducing regularizer, maintaining correlated gradients across augmented copies and mitigating convergence issues associated with high lambda_max and fixed learning-rate schedules. Through theoretical discussion and extensive experiments on CIFAR-10/100, ImageNet, PTB, and distributed systems, BA demonstrates faster convergence, improved final accuracy, and better hardware utilization, even at very large batch sizes. The work shows BA can approximate or exceed the benefits of regime adaptation with less hyperparameter tuning, enabling scalable, efficient training on modern HPC resources.</paper_summary>
Abstract
Large-batch SGD is important for scaling training of deep neural networks. However, without fine-tuning hyperparameter schedules, the generalization of the model may be hampered. We propose to use batch augmentation: replicating instances of samples within the same batch with different data augmentations. Batch augmentation acts as a regularizer and an accelerator, increasing both generalization and performance scaling. We analyze the effect of batch augmentation on gradient variance and show that it empirically improves convergence for a wide variety of deep neural networks and datasets. Our results show that batch augmentation reduces the number of necessary SGD updates to achieve the same accuracy as the state-of-the-art. Overall, this simple yet effective method enables faster training and better generalization by allowing more computational resources to be used concurrently.
