The autoregressive bottleneck
A transformer generates text one token at a time: to produce token t it must have already produced t-1. Each token is a full forward pass over billions of parameters, and at batch size 1 that pass is memory-bandwidth bound, the GPU spends most of its time streaming weights from memory, not doing math. So the arithmetic units sit mostly idle, and end-to-end latency scales almost linearly with the number of tokens.
The key observation: verifying a proposed sequence is cheap in a way that generating it is not. If you already had a candidate continuation, one forward pass could score every position in it at once, using the idle compute the sequential loop wastes. Speculative decoding is built entirely on turning generation into verification.

