Prefill and decode — the two phases of generation
Prefill processes the whole prompt in one parallel, compute-bound pass; decode then generates one token per step and is limited by memory reads.
This difference drives most serving optimizations (section 23.2).