Training a language model with keeps a high-precision master copy of its weights for making updates but uses a lower-precision copy for generating practice examples. Standard round-to-nearest conversion of the master to the lower precision silently discards most small updates, creating a hidden lag where the data-generating model is tens of steps behind the one the optimizer thinks it is improving.
The fix replaces round-to-nearest with an unbiased method so no updates are systematically lost, and computes the training loss on the exact copy used for generating examples. This alignment, called Fair Cast, requires changing a single line in the weight export call.
Fair Cast led to faster and more stable learning in a majority of tests and prevented a collapse that consistently happened on long rollouts. It also makes the saved checkpoint agree with the served model, eliminating a discrepancy developers had been unable to detect.
