Context: "The cat sat on the ___". Two students start from the same blank slate (uniform). One learns the way pretraining does: each step it sees one real next word, sampled the way real text would be. The other sees the teacher's full distribution every step. Same learning rate, same number of steps.
Try: kept = 1 turns the teacher into a hard label ("mat" only), and the student becomes overconfident. That's sequence-level distillation from greedy outputs. kept = 5 is what labs store in practice (top-k logits): close to full, a fraction of the storage. Higher T flattens what the student sees, so the small differences in the tail ("sofa vs. roof") carry more of the gradient.
The teacher thinks two different answers are good (two bumps). The student can only make one bump (a Gaussian with a center and width): that's limited capacity in miniature. Which KL you minimize decides what it gives up.
Forward = mode-covering. Huge penalty wherever the teacher has mass and the student doesn't, so it stretches to cover both bumps and puts probability in the valley, where the teacher says neither. In text, that's a blurry, hedged answer that mixes two good ones into a bad one.
Reverse = mode-seeking. Huge penalty wherever the student has mass and the teacher doesn't, so it commits to one bump and ignores the other. Text stays sharp, but diversity is lost. Change where it starts: it picks the nearer bump.
After "sat in", it's in a prefix it never trained on: the teacher never wrote that. Errors compound. This is exposure bias.
"in" gets a big per-token correction, and so does the student's own recovery after it ("the box" is fine given "in"). It learns in exactly the states it will really visit. It's like RL, but every token gets a dense grade instead of one reward at the end.
Numbers in this panel are illustrative. Panels 1 and 2 train live. On-policy losses usually use the reverse direction (per-token KL with pS first), which is one reason on-policy students come out crisp.