Skip to main content
← Lab

adamfreeze

confirmedshipPythonModel behavior & reasoningJuly 21, 2026

the question

Does storing Adam's second moment in bf16 bias it away from the true second moment, and can loss scaling correct that bias?

what came out

A bf16 second moment freezes once beta2 > 1 - 2^-(t+1) = 0.99609, so standard beta2=0.999 stops tracking. The bias flips sign with gradient skew: 0.24x low on steady gradients, 2.4x high on spiky ones. Loss scaling is scale-invariant and cannot fix it; stochastic rounding restores an unbiased 1.0x.

method & receipts

  • Result: confirmed
  • Tested — a correctness/benchmark suite ships alongside the code.

→ read the code and re-run it

github.com/v-code01/adamfreeze