Two graders, three students — mark the same homework
One word problem, three solutions. Student A: clean reasoning, right answer. Student B: two broken steps that luckily cancel, right answer. Student C: three careful steps, arithmetic slip at the end, wrong answer. Grade each with both judges and watch them disagree exactly where it matters: the ORM can't tell A from B, and flunks C entirely.
The step verdicts shown are what a trained PRM outputs per reasoning step (a score in [0,1] each); the ORM sees only the boxed final answer. This is the setup of OpenAI's "Let's Verify Step by Step".
Lucky-guess poison — train on outcomes, learn shortcuts
Now train against each judge. In the training pool, some fraction of right answers come from broken reasoning (shortcuts, pattern-matching, cancellation luck). The ORM rewards them all — so the model learns the shortcuts too, and they don't transfer. Drag the shortcut prevalence and read the measured accuracy on fresh problems after training with each judge.
Simulation: shortcut strategies solve seen-distribution problems but fail o.o.d. ones; ORM training reinforces them in proportion to prevalence, PRM training suppresses them (its step scores catch the broken chains). 400 test problems per click.
Best-of-N — the judge matters more as N grows
The production use: sample N solutions, let a judge pick one. With small N both judges do fine. Crank N and the gap opens: among 64 samples there are always a few that look right (confident wrong answers) — the ORM keeps falling for them, while the PRM checks the steps and filters them out. Run the measured curves.
Each candidate solution gets a true correctness + a "looks convincing" score; the ORM ranks by looks-plus-answer, the PRM by minimum step score. The widening gap with N reproduces the published PRM-vs-ORM best-of-N result.
Where step labels come from — the Monte Carlo trick
PRMs have a cost problem: humans grading every step of every solution is brutally expensive (OpenAI paid for 800,000 step labels). The automation trick: to score a step, roll out many completions from that step and count how often they reach the right answer. A step's value ≈ its rollout success rate. Pick a step below and run 20 rollouts — watch its label compute itself, no human involved.
Rollouts are actually sampled (20 per click) with success probabilities that depend on step soundness and roller strength — the Math-Shepherd recipe, miniaturized honestly including its failure mode.
Goodhart returns — the model learns what the judge loves
The recurring villain. Optimize a model hard against a frozen PRM and it discovers what the judge rewards that isn't reasoning: verbose formulaic steps, restating the problem, "let me double-check" theater. Drag the optimization budget: PRM score climbs forever; true correctness rises, peaks, and falls away — reward hacking, process edition. Then apply the standard fix and watch the curves re-couple.
The divergence follows the standard reward-overoptimization curve shape (proxy up, gold down past a knee); refreshing tightens the proxy-gold coupling but never makes it perfect — also faithful to the literature.