Before it
Training ran in 32-bit floating point throughout.
The problem
Memory and bandwidth, not arithmetic, were the binding constraints on model size.
What it introduced
Keep weights in 16-bit for the forward and backward pass, with loss scaling and a 32-bit master copy for stability.
Why it matters
It roughly halved the memory cost of training, which is part of why billion-parameter models became affordable.
What modern models inherit
Reduced precision as the default, now extended to bf16 and fp8.
What came next
Megatron, ZeRO and every large training run since depend on it.