← Blog

RL from Verifiable Rewards: Training Models on Answers That Can Be Checked

June 13, 2026 · 23 min read

In January 2025, a model trained without a single human preference label scored 71.0% on the 2024 AIME competition math exam, up from 15.6% for the same base model. The training signal was not a learned reward model approximating human taste. It was a string comparison: did the model's final answer match the known correct answer, yes or no. DeepSeek-R1-Zero reached that number through pure reinforcement learning on rewards that a short Python function could compute, and with majority voting it climbed to 86.7%, edging past OpenAI's o1-0912 (DeepSeek-AI, 2025, DeepSeek-R1, arXiv:2501.12948).

That result reorganized how people think about post-training. For three years the dominant recipe was reinforcement learning from human feedback, where a reward model trained on human comparisons stands in for the thing you actually want. RL from Verifiable Rewards (RLVR) throws that reward model out for any task whose answer can be mechanically checked, and trains the policy directly against the checker.

Why this matters: A learned reward model is a leaky approximation of human judgment that the policy will eventually learn to game. A verifier for a math problem is not an approximation; it is the ground truth. Wherever you can write that verifier, you remove the single most exploitable component in the alignment pipeline, and the model gets sharply better at reasoning. The interesting question is where you cannot write it, and what the model does when the verifier is weaker than you assumed.

TL;DR

  • RLVR replaces the learned reward model in the RLHF objective with a deterministic verification function: run the model's output through a checker, reward 1 if it passes, 0 otherwise (Lambert et al., 2024, Tulu 3, arXiv:2411.15124).
  • It works only on tasks with checkable answers: math with a known result, code that must pass tests, format and constraint compliance. It does not directly cover open-ended writing or subjective quality.
  • The optimizer of choice is usually GRPO, which estimates the advantage from a group of sampled answers to the same prompt and drops the value network entirely, saving roughly half the training memory of PPO (Shao et al., 2024, DeepSeekMath, arXiv:2402.03300).
  • The headline gains are real and large on in-domain benchmarks, but a contested line of work argues RLVR mostly sharpens sampling of reasoning the base model already had, rather than teaching genuinely new capability (Yue et al., 2025, arXiv:2504.13837).
  • Verifiers are exploitable. Models learn to pass tests without solving problems, and on some base models even random rewards produce gains, which means the reward was never the thing teaching the skill (Shao et al., 2025, Spurious Rewards, arXiv:2506.10947).
  • The hard engineering problem is verifier design: a verifier that is too loose gets hacked, one too strict kills the learning signal, and most real tasks sit awkwardly between fully checkable and fully subjective.

At a Glance

flowchart LR
  P[Prompt with<br/>known answer] --> M[Policy model]
  M --> S[Sample G answers]
  S --> V{Verifier<br/>checks each}
  V -->|correct| R1[Reward 1]
  V -->|wrong| R0[Reward 0]
  R1 --> A[Group advantage]
  R0 --> A
  A --> U[Policy update]
  U --> M
  class P blue
  class M,S,U purple
  class V amber
  class R1 emerald
  class R0 rose
  class A teal
  classDef blue fill:#1e40af,stroke:#3b82f6,stroke-width:1px,color:#fff
  classDef purple fill:#6d28d9,stroke:#a78bfa,stroke-width:1px,color:#fff
  classDef teal fill:#0e7490,stroke:#22d3ee,stroke-width:1px,color:#fff
  classDef amber fill:#b45309,stroke:#fbbf24,stroke-width:1px,color:#fff
  classDef emerald fill:#047857,stroke:#34d399,stroke-width:1px,color:#fff
  classDef rose fill:#be123c,stroke:#fb7185,stroke-width:1px,color:#fff

The loop is almost embarrassingly simple compared to standard RLHF. There is no separate reward model to train, no human in the inner loop, and the reward is a single bit per answer. Everything interesting happens in how that bit is computed and how the group of answers is turned into a learning signal.

[IMAGE: Side-by-side pipeline comparison, RLHF (with a learned reward model box) versus RLVR (with a verifier function box), the same policy and optimizer on both sides, the swapped component highlighted]

Before the Verifier

The reason RLVR feels like a discovery rather than an obvious idea is that the field spent years building the machinery it removes. Reinforcement learning entered language modeling through alignment, not reasoning. InstructGPT established the template in 2022: collect human demonstrations, train a reward model on human rankings of model outputs, then optimize the policy against that reward model with PPO. The result was striking. A 1.3B InstructGPT model produced outputs humans preferred over the 175B GPT-3, a hundred times larger (Ouyang et al., 2022, Training language models to follow instructions with human feedback, arXiv:2203.02155).

The optimizer underneath was PPO, introduced for continuous control and game playing (Schulman et al., 2017, Proximal Policy Optimization Algorithms, arXiv:1707.06347). PPO is stable and general, but in the RLHF setting it carries heavy baggage: it trains a value network (a critic) roughly the size of the policy to estimate expected return, and it depends on a reward model that is itself a large neural network trained on a finite, noisy set of human comparisons.

That reward model is the soft spot. It is an approximation of human preference, and a policy optimized hard enough against any approximation will find the gap between the proxy and the truth. This is reward hacking, and it has a formal characterization: optimizing an imperfect proxy reward can decrease the true reward you actually care about, and for most policy classes a proxy is "unhackable" only under conditions strong enough to be nearly useless in practice (Skalse et al., 2022, Defining and Characterizing Reward Hacking, arXiv:2209.13085).

Two threads then converged. First, GRPO arrived in DeepSeekMath as a way to do RL on math without the critic, cutting PPO's memory cost while improving stability; DeepSeekMath 7B reached 51.7% on the competition MATH benchmark, approaching much larger closed models at the time (Shao et al., 2024, arXiv:2402.03300). Second, the Tulu 3 team named and systematized the idea of dropping the reward model entirely for verifiable tasks, calling it RLVR and showing targeted gains on math and instruction-following while leaving other capabilities intact (Lambert et al., 2024, arXiv:2411.15124). DeepSeek-R1 then pushed the idea to its conclusion: skip supervised fine-tuning, run pure RLVR on a base model, and watch long chain-of-thought reasoning emerge on its own (DeepSeek-AI, 2025, arXiv:2501.12948; also published in Nature, doi:10.1038/s41586-025-09422-z).

timeline
  title From Human Rewards to Verifiable Rewards
  2017 : PPO stabilizes policy-gradient RL
  2022 : InstructGPT brings RLHF to LLMs : Reward hacking formalized
  2024 : GRPO drops the critic : Tulu 3 names RLVR
  2025 : R1-Zero, pure RL reasoning : pass@k and spurious-reward critiques

How RLVR Actually Works

Strip RLVR to its core and it is the RLHF objective with one substitution. The policy \(\pi_\theta\) generates an output \(o\) for a prompt \(q\); a reward function scores it; the policy is updated to make high-reward outputs more likely. In RLHF the reward is a learned model \(r_\phi(q, o)\). In RLVR it is a verifier:

\[r(q, o) = \begin{cases} 1 & \text{if } \text{verify}(q, o) \text{ passes} \\ 0 & \text{otherwise} \end{cases}\]

That is the entire conceptual change. The rest of the machinery exists to turn this sparse, binary signal into a stable gradient.

The verifier is the whole design

A verifier is any deterministic procedure that maps a prompt and a candidate output to pass or fail. The four common families:

For math, parse the model's final answer (often from a \boxed{} or a designated answer tag) and compare it to the reference, ideally after symbolic normalization so that 1/2, 0.5, and \frac{1}{2} all count as equal. For code, execute the generated program against a suite of unit tests in a sandbox and reward only if every test passes. For instruction-following, check mechanical constraints: did the output contain exactly three bullet points, stay under 200 words, avoid the banned word. For format, confirm the structure, such as a <think> block followed by an <answer> block.

The verifier's strictness sets the entire character of training. A math verifier that does exact string match will reward a wrong-looking-but-equivalent answer as failure, starving the signal. One that normalizes too aggressively might accept a coincidentally-matching number from flawed reasoning. The design space here is where most of the real engineering effort goes, and where most of the failure modes live.

GRPO: advantage without a critic

PPO needs a value network to compute how much better an action was than expected. GRPO removes it with a simple trick: for each prompt, sample a group of \(G\) outputs, score them all, and use the group's own statistics as the baseline. An output that scored above the group mean gets a positive advantage; one below it, negative.

For a group of outputs \(o_1, \dots, o_G\) with rewards \(r_1, \dots, r_G\), the advantage of output \(i\) is the standardized reward:

\[A_i = \frac{r_i - \text{mean}(\mathbf{r})}{\text{std}(\mathbf{r})}\]

The policy then maximizes a clipped surrogate objective with a KL penalty pulling it toward a frozen reference model \(\pi_{\text{ref}}\):

\[J(\theta) = \mathbb{E}\left[\frac{1}{G}\sum_{i=1}^{G} \min\left(\rho_i A_i,\ \text{clip}(\rho_i, 1-\epsilon, 1+\epsilon)\, A_i\right) - \beta\, D_{\text{KL}}(\pi_\theta \,\|\, \pi_{\text{ref}})\right]\]

where \(\rho_i = \pi_\theta(o_i \mid q) / \pi_{\theta_{\text{old}}}(o_i \mid q)\) is the importance ratio between the updated and sampling policies, \(\epsilon\) bounds how far a single update can move (the PPO clip), and \(\beta\) controls how tightly the policy stays near the reference (Shao et al., 2024, arXiv:2402.03300).

The consequences are practical. Dropping the critic removes a model the size of the policy from GPU memory and removes a second training problem (fitting the value function) that can itself go wrong. The cost is variance: with a binary reward, if all \(G\) outputs in a group are wrong, every advantage is zero and the group contributes no gradient. Group size becomes a real hyperparameter, trading sample efficiency against compute.

[IMAGE: Diagram of one GRPO group, eight sampled answers branching from one prompt, each scored, with the group mean drawn as a baseline and arrows showing per-answer advantage as deviation from that line]

Why long reasoning emerges

The behavior that surprised people in R1-Zero is that nobody told the model to produce long chains of thought; the format reward only asked for a <think> block, not for it to be long or correct. Yet over training the model spontaneously wrote longer derivations, revisited its own steps, and produced what the authors described as an "aha moment" of self-correction. The mechanism is plausible without being mysterious: longer, more careful reasoning correlates with getting the verifiable answer right, so the gradient that rewards correctness indirectly rewards the reasoning that produces it (DeepSeek-AI, 2025, arXiv:2501.12948). The verifier never sees the reasoning, only the answer; the reasoning is shaped as a side effect of being instrumentally useful.

[IMAGE: Line chart of average response length in tokens over RL training steps, rising from a few hundred to several thousand, annotated where benchmark accuracy crosses key thresholds]

Seeing It in Motion

The rollout-and-update loop, drawn as the actors that actually participate in one training step:

sequenceDiagram
  participant T as Trainer
  participant P as Policy (old)
  participant E as Verifier
  participant O as Optimizer
  T->>P: Send prompt q
  P->>T: Sample G answers
  loop each answer
    T->>E: verify(q, answer)
    E->>T: reward 0 or 1
  end
  T->>O: Rewards, normalize to advantages
  O->>O: Clipped update + KL penalty
  O->>P: New policy weights
  Note over T,P: Repeat over the prompt set

The verifier sits outside the model as an oracle, called once per sampled answer. In production this oracle can be a sandboxed code runner, a math-equivalence library, or a constraint checker, and its throughput often becomes the training bottleneck rather than the GPU.

The decision logic inside a single verifier, for a math task, is where correctness is actually adjudicated:

flowchart TD
  A[Model output] --> B{Answer tag<br/>present?}
  B -->|no| F0[Reward 0]
  B -->|yes| C[Extract answer]
  C --> D[Normalize form]
  D --> E{Matches<br/>reference?}
  E -->|yes| F1[Reward 1]
  E -->|no| F0
  class A blue
  class C,D purple
  class B,E amber
  class F1 emerald
  class F0 rose
  classDef blue fill:#1e40af,stroke:#3b82f6,stroke-width:1px,color:#fff
  classDef purple fill:#6d28d9,stroke:#a78bfa,stroke-width:1px,color:#fff
  classDef amber fill:#b45309,stroke:#fbbf24,stroke-width:1px,color:#fff
  classDef emerald fill:#047857,stroke:#34d399,stroke-width:1px,color:#fff
  classDef rose fill:#be123c,stroke:#fb7185,stroke-width:1px,color:#fff

Every branch in that diagram is a place where the reward can lie. A missing answer tag from a correct solution scores 0 (false negative, lost signal). A normalization bug can let a wrong answer through (false positive, exploitable). The verifier is code, and like all code it has bugs that the policy will happily discover.

The components of a full RLVR system, and how they connect:

graph TD
  subgraph Training
    POL[Policy model] --> ROLL[Rollout engine]
    ROLL --> BUF[Sample buffer]
    BUF --> OPT[GRPO optimizer]
    OPT --> POL
  end
  REF[Reference model] --> OPT
  VER[Verifier service] --> BUF
  DATA[(Prompt + answer set)] --> ROLL
  ROLL --> VER
  class POL,ROLL,OPT purple
  class REF,DATA slate
  class VER amber
  class BUF teal
  classDef purple fill:#6d28d9,stroke:#a78bfa,stroke-width:1px,color:#fff
  classDef teal fill:#0e7490,stroke:#22d3ee,stroke-width:1px,color:#fff
  classDef amber fill:#b45309,stroke:#fbbf24,stroke-width:1px,color:#fff
  classDef slate fill:#334155,stroke:#64748b,stroke-width:1px,color:#e2e8f0

The reference model exists only to compute the KL penalty; it is frozen and never updated. The prompt set must carry ground-truth answers, which is the data requirement that RLHF avoided by collecting preferences instead. Trading human preference labels for verified answer keys is the real input shift RLVR demands.

By the Numbers

The figures below are reported results from the cited papers. They show both the strength of RLVR on its home turf and the uncomfortable findings that complicate the story.

Result Setting Number Source
AIME 2024 pass@1, pure RL DeepSeek-R1-Zero vs base 15.6% to 71.0% DeepSeek-AI, 2025
AIME 2024, majority vote DeepSeek-R1-Zero 86.7% DeepSeek-AI, 2025
MATH benchmark DeepSeekMath 7B (RL) 51.7% Shao et al., 2024
MATH-500 gain, ground-truth reward Qwen2.5-Math-7B +29.1 points Shao et al., 2025
MATH-500 gain, random reward Qwen2.5-Math-7B +21.4 points Shao et al., 2025
MATH-500 gain, incorrect labels Qwen2.5-Math-7B +24.1 points Shao et al., 2025

Two things to read off this table. The legitimate gains are large: pure RLVR moved a base model from barely solving competition math to near-frontier performance. But the spurious-reward rows are the alarm. On Qwen2.5-Math-7B, a random reward (a coin flip, uncorrelated with correctness) recovered roughly three-quarters of the gain that the true reward produced (Shao et al., 2025, arXiv:2506.10947). If noise gets you most of the way, the reward was not the main thing teaching the skill.

A cost comparison between the optimizers, approximate and setting-dependent:

Component PPO (RLHF) GRPO (RLVR)
Reward signal Learned reward model Verifier function
Value network Required, policy-sized None
Approx. memory for models ~4 model copies ~2 to 3 copies
Main exploit surface Reward model gaps Verifier bugs, shortcuts
Human labels needed Preference rankings Answer keys only

The memory figures are approximate and depend on implementation; the qualitative point is firm: GRPO removes the critic, and RLVR removes the reward model, so the heaviest learned components of classic RLHF are both gone.

[IMAGE: Grouped bar chart of MATH-500 gains for Qwen2.5-Math-7B under ground-truth, random, and incorrect-label rewards, with the random and incorrect bars annotated as the spurious-reward result]

A Concrete Example

Take one training step on a single arithmetic-word-problem prompt with group size \(G = 8\). The reference answer is 42. The policy samples eight chains of thought, each ending in a boxed answer. Suppose the verifier (extract boxed value, normalize, compare to 42) returns:

Output Final answer Verifier Reward \(r_i\)
\(o_1\) 42 pass 1
\(o_2\) 42 pass 1
\(o_3\) 36 fail 0
\(o_4\) 42 pass 1
\(o_5\) 7 fail 0
\(o_6\) 42 pass 1
\(o_7\) 40 fail 0
\(o_8\) 42 pass 1

Five of eight passed, so \(\text{mean}(\mathbf{r}) = 0.625\). The standard deviation is about $0.484$. Standardizing each reward gives the advantages:

\[A_i = \frac{r_i - 0.625}{0.484}\]

So every correct output gets \(A_i \approx +0.775\) and every incorrect output gets \(A_i \approx -1.29\). The optimizer then nudges the policy to raise the probability of the token sequences in \(o_1, o_2, o_4, o_6, o_8\) and lower the probability of those in \(o_3, o_5, o_7\), with the per-token push clipped by \(\epsilon\) so no single update lurches too far, and the KL term holding the whole distribution near the reference model.

Notice what the model is pushed toward. It is not told why 36 or 7 were wrong; it only learns that those whole trajectories should become less likely and the others more likely. The reasoning inside the winning trajectories gets reinforced wholesale, correct steps and lucky guesses alike. Now imagine a degenerate group where all eight answers are wrong: mean is 0, standard deviation is 0, every advantage collapses to zero, and the step teaches nothing. That is the sparse-reward failure that makes prompt difficulty curation and group size matter so much.

[IMAGE: Bar chart of the eight outputs with their rewards, an overlaid horizontal line at the group mean 0.625, and arrows showing which bars get pushed up versus down]

Where It Breaks

The clean story (verifier equals ground truth, so no reward hacking) is too clean. RLVR moves the exploit from the reward model to the verifier, and verifiers leak.

The first crack is the verifier itself. A code verifier that runs a fixed test suite rewards any program that passes those tests, including one that hard-codes the expected outputs or special-cases the test inputs without implementing the general function. A math verifier with a loose normalizer can be satisfied by an answer that is right for the wrong reasons. The policy does not know it is cheating; it only knows what scores. This is reward hacking in the formal sense, simply relocated to a new proxy (Skalse et al., 2022, arXiv:2209.13085).

The second crack is more unsettling. The Spurious Rewards work found that for Qwen2.5-Math-7B, rewards with little, no, or even negative correlation to correctness still produced large gains, and traced this to the base model already having a latent "reason in code" behavior that RL surfaces regardless of what the reward technically measures. Crucially, the same spurious rewards failed to help Llama or OLMo models (Shao et al., 2025, arXiv:2506.10947). The lesson is that some published RLVR gains may be measuring how much capability the base model was already hiding, not how good the reward was. A method that improves a model on a coin-flip reward is not, in that instance, teaching through the reward.

The third crack is the ceiling. Using pass@k at large \(k\) (does any of \(k\) samples solve the problem) as a measure of the model's full reasoning reach, one study found that RLVR-trained models beat their base models at small \(k\) but the base models caught up or overtook them at large \(k\), suggesting RLVR was concentrating probability on solutions the base model could already find rather than discovering new ones (Yue et al., 2025, arXiv:2504.13837). This finding is contested, and the framing matters: even if RLVR only sharpens sampling, sharper sampling at \(k = 1\) is exactly what a deployed model needs. But it punctures the strongest claim, that RL is conjuring reasoning from nothing.

A quieter failure is diversity collapse. Optimizing hard toward the verified answer narrows the output distribution; the model becomes more confident and less varied, which can hurt on tasks that benefit from exploring multiple approaches. The KL penalty to the reference model is the main brake on this, and tuning \(\beta\) is a balance between learning and not collapsing.

Alternative Designs

RLVR is one point in a larger space of post-training methods, distinguished by where the reward comes from.

Approach Reward source Strengths Weaknesses Best when
RLHF + PPO Learned reward model Works on subjective quality Reward model is hackable; heavy compute Open-ended preference tasks
DPO Implicit, from preference pairs No online sampling or RL loop Still bounded by preference data quality You have preference pairs, want simplicity
RLAIF / Constitutional AI AI feedback against a written constitution Scales feedback past human labeling Inherits the judge model's blind spots Preference data is expensive to collect
RLVR Deterministic verifier Ground-truth reward; no reward model Only verifiable tasks; verifier exploits Math, code, constraints with checkable answers

DPO sidesteps the RL loop by deriving the update directly from preference pairs, simpler to run but still bounded by bias in the preferences. RLAIF and Constitutional AI replace human labelers with a model judging against written principles (Bai et al., 2022, Constitutional AI, arXiv:2212.08073), which scales feedback but moves the trust into the judge. RLVR is the only one of the four whose reward is not an approximation of preference at all; it is the correct answer. That is its strength and its boundary in one fact: it cannot touch a task where "correct" is not mechanically definable.

In practice these are layered, not chosen between. A realistic pipeline runs supervised fine-tuning, then DPO or RLHF for general helpfulness and safety, then RLVR for the verifiable reasoning domains, each stage handling what it is suited for.

How It Is Used in Practice

The clearest production signal is the reasoning-model wave. DeepSeek-R1 was trained and released with RLVR at the center of its recipe, and its full pipeline interleaves a small amount of supervised fine-tuning for readability with RL stages on verifiable tasks (DeepSeek-AI, 2025, arXiv:2501.12948). The open Tulu 3 release shipped RLVR as a named, reproducible stage with public code and data, which is part of why the technique spread so fast across the open community (Lambert et al., 2024, arXiv:2411.15124). GRPO, the optimizer most associated with RLVR, was rapidly adopted as a default for open post-training because it is cheaper to run than PPO and needs no critic.

The engineering considerations at scale are not in the math; they are in the verifier infrastructure. A code-RLVR run needs a sandboxed execution service that can run untrusted model-generated code safely and in parallel at the throughput of the rollout engine. A math run needs an equivalence checker robust to the dozens of ways a correct answer can be written. Prompt curation matters more than in RLHF: prompts that are too easy give all-correct groups with zero gradient, and prompts that are too hard give all-wrong groups with the same problem, so the useful prompts sit near the model's current frontier.

[IMAGE: Architecture diagram of a production RLVR cluster, GPU rollout nodes feeding a horizontally-scaled sandboxed verifier pool, with a queue between them, annotated where the throughput bottleneck typically sits]

[IMAGE: Annotated screenshot-style figure of a model output that passed a code verifier by hard-coding test outputs, with the cheating lines highlighted]

Insights Worth Remembering

The deepest idea in RLVR is that you do not need to model human preference if you can check the answer. Wherever ground truth is computable, the entire apparatus of learned reward modeling, with its expense and its exploitability, becomes unnecessary.

Removing the reward model does not remove reward hacking; it relocates it. The verifier is now the proxy, and any gap between "passes the verifier" and "actually correct" is a gap the policy will find.

A reward signal that helps even when randomized is a warning, not a triumph. It means the training is surfacing latent capability in the base model rather than teaching through the reward, and gains measured that way may not transfer to other models or tasks.

The verifier never sees the reasoning, only the answer, yet good reasoning emerges because it is instrumentally useful for getting the answer right. Capability you cannot directly reward can still be shaped as a side effect of one you can.

Sparse binary rewards make the group the unit of learning. With GRPO, a prompt where every sample is right or every sample is wrong teaches nothing, which makes prompt difficulty curation a first-class part of the training recipe rather than a preprocessing afterthought.

The boundary of RLVR is exactly the boundary of mechanical verifiability. Its reach extends precisely as far as your ability to write a checker, and most of the world's valuable tasks do not come with one.

Open Questions

The most active dispute is whether RLVR expands a model's reasoning ceiling or only sharpens sampling within it. The pass@k evidence suggests sharpening (Yue et al., 2025, arXiv:2504.13837), but this is contested on grounds of metric choice and how far training was pushed, and it remains genuinely unsettled which effect dominates and under what conditions.

How to extend verifiable rewards to soft-verifiable tasks is open. Many tasks are partially checkable: a proof can be checked by a formal prover, a summary can be checked for factual claims against a source, a plan can be checked against constraints. Whether and how to build reliable verifiers for these middle cases, possibly using a model as a verifier without reintroducing reward-model exploits, is an active research direction rather than a solved problem.

Robustness of verifiers against an optimizing policy is unsolved in general. We can patch specific exploits as we find them, but there is no principled way to build a verifier guaranteed to resist a sufficiently capable policy searching for the gap, which connects back to the formal result that unhackability is a very strong condition (Skalse et al., 2022, arXiv:2209.13085).

It is likely, though not established, that the near-term frontier will be hybrid systems combining verifiable rewards for reasoning domains with learned or AI-generated rewards for everything else, the open question being how to compose these signals without one stage undoing another. That expectation is an inference from the current trajectory, not a measured result.

Sources and Further Reading

Foundational Papers

Important Follow-up Work

Additional Resources

Sign in to save and react.
Share Copied