Computer Arithmetic
In mixed-precision AI training, why are master weights kept in FP32 while most computation is done in FP16 or bfloat16?
- AWhen small updates are added to weights, a low-precision format would lose them to absorption
- BFP32 computes faster than FP16, so all weight calculations are left to FP32
- CFP16 and bfloat16 values are not allowed to be stored in memory
Show answer and explanation
Answer: A. When small updates are added to weights, a low-precision format would lose them to absorption
Training repeatedly adds very small amounts, learning rate × gradient, to the weights. FP16 and bfloat16 have short significands, so if an update is too small relative to the weight, the rounded sum equals the old weight and the update vanishes (absorption). Weights are therefore kept in FP32 so updates accumulate correctly, while lower-precision copies are used for the forward and backward passes. Lower precision computes faster, and low-precision values can certainly be stored.
- A. Correct. It prevents small updates from vanishing through absorption.
- B. Lower precision computes faster.
- C. Low-precision values can be stored in memory.