← All Posts

RL fries the models' brains on complex domains

Reward optimization chooses among the answers pretraining already taught, and the more ways there are to be right, the more that choosing costs.

boundary: fixed pass rate climbs

Jasper Gilley  ·  Independent researcher

RL from a blank slate conquers games. On language we pretrain first and use reward only to fine-tune at the end. Here is what reward optimization actually does to a model whose generating process we know exactly — three mechanisms, five levels of synonymy, two verifiers, and a boundary that never moves. Scroll

SECTION 01

The question

Games yield to RL from scratch. Language does not.

RL from a blank slate conquers games. On language we pretrain first and use reward only to fine-tune at the end. One major difference between the two: how many right answers each state admits.

The sharper question
Call the set of rules pretraining actually taught the model its basis: everything it can produce at all. Does reward optimization add to the basis, or only rearrange and degrade what is already there?
a game: one best move state the only reward language: many valid continuations prompt different strings, same meaning

A dial for “how many ways to say the same thing”

The Random Hierarchy Model: a grammar over 8 symbols. Each symbol rewrites into 2 children by one of \(m\) rules, and every rule is a different way of saying the same thing. Six levels down, a sequence of 64 tokens.

\(m{=}1\): one way to say everything, so the whole language is 8 sequences. A game. \(m{=}8\): every pairing of children is some rule, so every sequence is grammatical. Noise.

Sweep \(m\in\{1,2,3,4,6\}\) with tree shape, sequence length, model and rollout budget all fixed.

Cagnetta et al., Phys. Rev. X, 2024.

R X Y P Q S T c a e b f c a d picks 1 of m rules
3 bits66 bits103 bits 129 bits166 bits192 bits m=1m=2 m=3m=4 m=6m=8 8 sequences a game uniform noise sequence entropy, of 192 bits max
SECTION 02

A test bench with exact ground truth

The task: finish the sequence — and two ways to grade it

sample at temperature 1 prefix — 32 tokens, given suffix — 32 tokens, generated by the policy
exact — matches the suffix of the original sequence the prefix was cut from, token by token. A canonical-answer verifier: a synonym counts as wrong.
parse — any grammatical continuation. Score: the fraction of tree levels at which prefix\(+\)suffix parses. A validity verifier: a synonym counts as right. “Root-valid” means grammatical all the way up.
Start every mechanism from the same place
A separate model for each \(m\), pretrained until its loss plateaus. Every mechanism below starts from that checkpoint, so the question is always what reward does to a given basis.

Three mechanisms, one budget, ending at the cleanest one

REINFORCE no anchor — pure policy gradient + KL anchor to the frozen pretrained policy Expert iteration 6 rounds: sample 16 per prompt, keep the best, fine-tune on it same checkpoint same 384K rollouts both verifiers five values of m stronger
Two kinds of result
Bounds: the best any optimizer could do, computed exactly on the known tree. Attainment: what each mechanism actually captures, and at what cost.
Why end at expert iteration
Sample, keep what the verifier passes, fine-tune on it. Every policy-gradient method is a noisy version of that loop. If the clean version cannot teach the model a new rule, no noisier variant will.
SECTION 03

What is achievable at all

Demand one canonical answer, and there is nothing to optimize toward

exact-match accuracy uniform guess, 1 of 8 symbols 0.0960.0050.0005 ≈0≈0 m=1m=2 m=3m=4 m=6 guessable without reading the prefix the extra from reading the prefix: the headroom

Even at \(m{=}1\) the ceiling is 0.842, not 1: two root rules can share a left half, so the prefix does not always pin the root.

Computed exactly on the known tree, so no optimizer can beat it. Past \(m{=}1\) the prefix barely helps: 32 tokens in, the suffix is nearly independent of it, and the canonical-answer reward has nothing left to teach.

What remains is sharpening: always emitting the most likely answer instead of sampling one. That lifts accuracy without any new knowledge (\(0.19\to0.28\) at \(m{=}2\)).

The validity verifier runs the other way
More synonyms means more grammatical strings, so its reward gets denser on the same knob. How hard a domain is for RL depends on the verifier you pair it with.

Pretraining builds the basis, and its boundary sinks as \(m\) grows

m=1 m=2 m=3 m=4 m=6 L0L1L2 L3L4L5 roottokens hierarchy level learned 0.999 learned 0.996 learned 0.979 learned 0.663 learned 0.228 plateau at 3.0K stepsplateau at 7.0K steps plateau at 13.3K stepsplateau at 14.5K steps plateau at 7.3K steps basis boundary no rule learned above it; the ladder starts here at chance learned nothing to predict there: the suffix no longer depends on the prefix

Same 2.7M-parameter model at every \(m\), trained to plateau. Colour \(=\) how much of what is learnable at that level the model learned, read off how far its next-token loss sits above the best achievable (the Bayes floor). That gap, in nats, is the “excess” quoted from here on.

SECTION 04

What each mechanism attains

Vanilla REINFORCE destroys the basis at every \(m\)

next-token loss above the Bayes floor (nats) 11.813.6 11.110.3 9.99.5 10.812.4 12.014.2 m=1m=2 m=3m=4 m=6 exact verifier parse verifier uniform guessing pretrained: ≈0

At every \(m\) the model ends 10–14 nats above the floor, worse than uniform guessing, and its policy has collapsed to one answer per prompt (greedy \(\equiv\) sampled).

  • \(m{=}1\) was already solved (0.849 vs. ceiling 0.842); REINFORCE dragged it to 0.388.
  • Its layer features stop lining up with the hierarchy levels (\(\eta^2\), how cleanly they separate by level: \(0.65\to0.14\)).
Diagnosis
The reward was climbing when it crashed. The signal was there; the optimizer destroyed the model that was reading it.
training reward, parse verifier, m=2 0.90.4 6K steps climbs to 0.92, then crashes to 0.42

Anchor it to the pretrained policy, and there is almost nothing to gain

Add a KL penalty toward the frozen pretrained policy and the destruction is cured: \(0.05\)–\(0.8\) nats above floor, no collapse. What is left, as sampled-policy accuracy:

\(m\) exact: pretrained \(\to\) RL calibrated sampler* parse: pretrained \(\to\) RL nats above floor
10.836 → 0.8410.842 (ceiling)0.977 → 0.7582.93
20.191 → 0.1900.1910.980 → 0.9930.29
30.157 → 0.1570.1600.919 → 0.9250.07
40.137 → 0.1360.1360.817 → 0.8340.42
60.130 → 0.1330.1300.731 → 0.7430.79

*the accuracy a model gets by sampling from the true answer distribution rather than picking its single best guess.

Canonical: zero gain at every \(m\ge2\). The policy sits exactly where a calibrated sampler would, as the bound says it must. At \(m{=}1\) it now holds the ceiling.

Validity: a \(+0.006\) to \(+0.017\) polish at \(m\ge2\).

What the anchor buys
The anchor stops the damage. It does not start any learning.

Expert iteration is far stronger — the flywheel really spins

root-level validity (sampled policy) 0.930 0.243 0.999 0.902 0.961 0.922 0.556 0.570 0.644 0.248 0.288 0.447 0.153 0.160 0.292 m=1m=2 m=3m=4 m=6 pretrained REINFORCE + KL expert iteration

Root-level validity: share of sampled generations that parse all the way to the root. Validity verifier, final round.

  • Recovers \(m{=}1\) fully (0.999); the anchored run’s damage there was a quirk of that variant.
  • Nearly doubles root validity at \(m{=}4\) (\(0.25\to0.45\)) and \(m{=}6\) (\(0.15\to0.29\)).
  • No collapse; \(<0.9\) nats above floor.
  • The flywheel spins: winners fed back at \(m{=}6\) go \(89\%\to99\%\) root-valid.
So
Whatever selecting and fine-tuning on winners can do, this is the arm that does the most of it.

Pass rate doubles, but the model learns no new rule.

what the model knows (m=6, expert iteration) round 1 round 6 L0L1L2 L3L4L5 boundary unmoved no band lights up; the bottom even fades
root-level validity of the sampled policy 0.140.29 ×2 loss above the Bayes floor at the unlearned levels (higher is worse) 0.951.10 chance, L3chance, L4 L3 L4 123 456 round
The dissociation
Root validity doubled, and root validity requires the deep rules. Yet no deep rule was learned: probability mass moved between sequences the basis could already produce (\(\eta^2\) unchanged; \(m{=}4\) shows the same).

The more right answers, the steeper the price

Canonical verifier: exact-match gain from six rounds of EI

+0.007+0.019+0.011 +0.002+0.002 m=1m=2 m=3m=4 m=6 already at the ceiling → 0, tracking the headroom bound

Validity verifier: share of pretrained knowledge erased by six rounds of EI

13%7%19% 50%61% m=1m=2 m=3m=4 m=6 grammar perfect (1.000), distribution distorted

erased \(=\) 1 \(-\) (learned after EI) \(/\) (learned before), with “learned” the pyramid’s colour scale read over the whole sequence.

Same mechanism, same budget
As synonymy rises, reward buys less on the one-answer verifier and erases more of the pretrained distribution on the many-answer one. The model gets more fried as the task gets more sophisticated, even under the best-behaved mechanism in the class.
SECTION 05

What it means

Reward optimization is selection within the basis

✗ needs a rule the basis lacks — unreachable either way before after reward optimization what the basis can produce passes the verifier same outline before and after — only the mass moved

Across 3 mechanisms \(\times\) 5 \(m\) \(\times\) 2 verifiers, deep-rule knowledge stayed where pretraining left it. Everything else varied:

  • REINFORCE burned it (9–14 nats);
  • the anchor froze it (\(\approx\)0 gain);
  • EI gained by selection and sharpening within it.
In language terms
Pass rates go up, the model still does not know the rules, and the distribution pays for it. Only a known generating process lets you tell those three apart.

If the boundary is to move, something other than reward has to move it

games · code · math creative writing · original thinking m=1m=2 m=3m=4 m=6m=8 m: how many ways to be right

Not all language tasks are created equal. Code and math sit at the left of this dial, creative writing and original thinking at the right, and language-model RL works on the former and not on the latter.

The one channel that could teach a missing rule is the one that looks like pretraining: fine-tuning on selected samples is more data. At this budget it taught none, while the reward doubled.

Takeaway
Continual learning that expands what a model can do needs a mechanism that moves the basis boundary. Vanilla policy reward is, structurally, not it. The natural objection is that RL on real language behaves differently. Said explicitly, that objection is a bet: for RL to carry continual learning, it would have to gain capabilities on language that it does not gain on this compositional grammar.
← All Posts

Jasper Gilley — Twitter Github