Raghuram Shankar
← Diffusion Language Models

Part 1 · Background

Autoregressive generation: the typewriter

Almost every LLM you have used — GPT, Claude, Gemini, Llama — generates text autoregressively: it predicts one token, appends it, feeds the extended text back in, predicts the next, and so on, strictly left to right. Mathematically it factorizes the probability of a sentence as a chain of next-token predictions:

P(x) = P(x1) · P(x2 | x1) · P(x3 | x1, x2) · ⋯ · P(xN | x1, …, xN−1)

x a sequence of N tokens · xi the token at position i · each factor conditions only on the tokens before it — the autoregressive choice

Note something important: this factorization is fully general. The chain rule of probability lets you decompose any joint distribution this way. Autoregression’s limits are not about what it can represent — they are about how it must compute.

The
→
cat
→
sat
→
on
→
the
→
mat
The typewriter: six tokens means six full forward passes through the network, each one waiting for the previous to finish. Nothing already typed can ever be changed.

Two properties of this design matter for our story:

For a chatbot answering a single question, this was tolerable. But the field is moving toward agents and reasoning models that generate thousands of tokens of intermediate thinking, call tools, and chain many steps together. Every extra token of “thinking” is paid for in wall-clock time, multiplied across every step of a workflow. (Note the one thing faster decoding cannot fix: agent round k+1 still has to wait for round k — which is precisely why the per-round latency is the lever that matters.) Inception’s framing on the very page we’re studying: “AI shouldn’t behave like a one-way typewriter” — it should behave like an editor.

Here is the whole argument as one picture — hover to compare (the y-axis is logarithmic):

An AR model’s sequential passes grow linearly with output length; a dLLM’s stay flat at its step count. At N = 1,000 tokens the gap is 1,000 passes versus a few dozen — and this ratio, not raw FLOPs, is what sets wall-clock latency in the bandwidth-bound decode regime described above.