Cosine Learning Rate Schedule › Trapezoidal Schedules: A Modern Alternative
Language AI HandbookAll chapters Cosine Learning Rate Schedule › Trapezoidal Schedules: A Modern AlternativeOne section · Sections in this chapter10 / 14 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
A more recent alternative that has gained attention for large-scale language model training is the trapezoidal (or "trapezoid") schedule. Rather than decaying from the very beginning, the trapezoidal schedule keeps the learning rate at its peak for most of training, then drops it sharply in a brief cooldown phase at the end.
The schedule has three phases:
- Warmup: Linear ramp from 0 to over steps.
- Stable: Constant learning rate at for steps (typically 80-90% of total training).
- Cooldown: Cosine or linear decay from to over steps.
The motivation for this schedule is compute-budget flexibility. With a cosine schedule, you must decide the total training duration in advance, because the decay rate depends on . If you want to train for 20% longer (perhaps because the model is still improving), the entire cosine curve needs to be rescaled. With a trapezoidal schedule, you can extend the stable phase arbitrarily without affecting the decay curve: just train for longer at the constant peak rate, then apply the same cooldown at the end.
Recent work including the Chinchilla analysis and follow-up scaling papers has noted that the final cooldown phase is disproportionately important for model quality. A model trained at constant learning rate for a very long time, then cooled down over a few thousand steps, can match or exceed the quality of a model trained with a cosine schedule for the same total compute. This property makes the trapezoidal schedule particularly useful for continual or incremental training, where the exact endpoint is not known in advance.
