Learning Rate Schedule

A learning rate schedule changes the update size during training. It can determine whether training is stable, fast, or brittle.

The update rule usually uses the learning rate at optimizer step :

where is the optimizer-specific update direction. The schedule defines .

A simple warmup schedule is:

A cosine decay schedule is:

Piecewise schedules make the step boundary explicit:

The variable should be defined by training step accounting. In most deep learning code, is the optimizer step, not the micro-step.

Schedule Contract

FieldQuestion
Step unitoptimizer step, micro-step, sample, token, or epoch?
Warmupnumber of steps and maximum LR
Decaycosine, linear, exponential, step, constant, WSD, or custom
Minimum LRfinal learning rate or zero?
Parameter groupssame schedule for all parameters or separate groups?
Resume statescheduler step saved in checkpoint?

Record the total training budget with the schedule:

for token models, or the matching sample/object count for non-text data.

Common Patterns

PatternFormula SketchUse
constantsmall or stable runs
linear warmupavoid unstable early updates
cosine decaysmooth decay to common deep learning default
linear decaysimple finite-budget training
step decaymultiply by factor at milestonesclassical training recipes
WSDwarmup, stable plateau, decaylong pretraining-style runs

Different schedules can change the effective training recipe even when architecture and dataset are unchanged.

Batch and Accumulation Coupling

If gradient accumulation changes, the number of optimizer steps can change unless explicitly controlled:

The scheduler usually steps once per optimizer update:

not once per micro-batch. This distinction matters for reproducibility and paper comparisons.

Paper Reading Risks

RiskWhy It Matters
unspecified warmupearly instability or unfair comparison
different total stepsmore compute hidden as better method
schedule tuned per baselinebaseline may be under-optimized
missing resume stateresumed runs follow a different LR curve
separate LR groupsbackbone, head, embeddings, or adapters learn at different speeds

Checks

  • Is warmup needed for large batch, mixed precision, or unstable early training?
  • Is total step count defined before choosing the schedule?
  • Are steps counted as micro-steps, optimizer steps, consumed samples, or epochs?
  • Does changing accumulation keep the intended number of optimizer steps or consumed samples?
  • Are scheduler state and current step saved in checkpoints?
  • Are comparisons fair when different methods use different schedules?
  • Are reported results tied to compute budget, consumed samples/tokens, and schedule?
  • Are baselines using comparable tuning effort and schedule families?