The core problem: rewarding correctness without a referee
Standard RLHF trains a reward model (RM) on human preference pairs, then uses PPO to push the policy toward higher RM scores. This works for open-ended generation — but the RM is a neural network that can be gamed. Give it enough optimization pressure and the policy learns to produce outputs the RM scores highly rather than outputs humans actually prefer. This is reward hacking.
For math and code, there is a better alternative: verifiable rewards. A Python unit test either passes or fails. A formal proof either type-checks or it doesn't. These are ground-truth binary signals you can compute in milliseconds with zero human labor and zero chance of gaming — the test suite doesn't care how confident the model sounds.
Reinforcement Learning with Verifiable Rewards (RLVR) replaces the learned RM with a deterministic checker. The reward function is a program, not a model. This unlocks stable training at scale and sidesteps the reward-hacking failure mode entirely.
