Noise Is Not the Main Factor Behind the Gap Between SGD and Adam on Transformers, but Sign Descent Might Be
Frederik Kunstner, Jacques Chen, Jonathan Wilder Lavington, Mark Schmidt
TL;DR
Problem: Why does Adam outperform SGD on transformer models, and is stochastic noise responsible? Approach: systematically vary batch size from small to full, comparing SGD and Adam with and without momentum, and testing sign-descent-like and normalized-update variants. Findings: removing stochasticity does not close the gap; Adam's advantage grows with batch size, and sign descent with momentum closes much of the gap in full batch; normalization helps SGD but does not fully match Adam. Significance: reveals that deterministic optimization dynamics largely shape the performance gap and highlights a potential path to simpler, sign-based methods to analyze and improve training of transformers.
Abstract
The success of the Adam optimizer on a wide array of architectures has made it the default in settings where stochastic gradient descent (SGD) performs poorly. However, our theoretical understanding of this discrepancy is lagging, preventing the development of significant improvements on either algorithm. Recent work advances the hypothesis that Adam and other heuristics like gradient clipping outperform SGD on language tasks because the distribution of the error induced by sampling has heavy tails. This suggests that Adam outperform SGD because it uses a more robust gradient estimate. We evaluate this hypothesis by varying the batch size, up to the entire dataset, to control for stochasticity. We present evidence that stochasticity and heavy-tailed noise are not major factors in the performance gap between SGD and Adam. Rather, Adam performs better as the batch size increases, while SGD is less effective at taking advantage of the reduction in noise. This raises the question as to why Adam outperforms SGD in the full-batch setting. Through further investigation of simpler variants of SGD, we find that the behavior of Adam with large batches is similar to sign descent with momentum.
