Staged Training for Transformer Language Models
Sheng Shen, Pete Walsh, Kurt Keutzer, Jesse Dodge, Matthew Peters, Iz Beltagy
TL;DR
This work tackles the high compute cost of training large transformer language models by introducing staged training with growth operators that progressively enlarge a model from a small to a large one. The width and depth growth operators are designed to be loss-preserving and training-dynamics-preserving, and they operate on the full training state, including optimizer state and learning-rate schedules. A principled, schedule-based approach built on scaling laws (Kaplan et al.) yields compute-efficient growth timings, and practical methods estimate the necessary constants from small models. Empirically, the approach achieves up to 22% compute savings on GPT-2–style autoregressive models while matching the target model’s performance; the authors also provide public code and show that the method outperforms prior growth techniques that do not preserve loss or training dynamics. Overall, staged training with loss- and dynamics-preserving growth offers a practical pathway to more compute-efficient scaling of transformer language models, with broad applicability to autoregressive and possibly other transformer families.
Abstract
The current standard approach to scaling transformer language models trains each model size from a different random initialization. As an alternative, we consider a staged training setup that begins with a small model and incrementally increases the amount of compute used for training by applying a "growth operator" to increase the model depth and width. By initializing each stage with the output of the previous one, the training process effectively re-uses the compute from prior stages and becomes more efficient. Our growth operators each take as input the entire training state (including model parameters, optimizer state, learning rate schedule, etc.) and output a new training state from which training continues. We identify two important properties of these growth operators, namely that they preserve both the loss and the "training dynamics" after applying the operator. While the loss-preserving property has been discussed previously, to the best of our knowledge this work is the first to identify the importance of preserving the training dynamics (the rate of decrease of the loss during training). To find the optimal schedule for stages, we use the scaling laws from (Kaplan et al., 2020) to find a precise schedule that gives the most compute saving by starting a new stage when training efficiency starts decreasing. We empirically validate our growth operators and staged training for autoregressive language models, showing up to 22% compute savings compared to a strong baseline trained from scratch. Our code is available at https://github.com/allenai/staged-training.
