Stop teaching the reasoning. Pay for the answer, and reasoning grows.
Every strong reasoning recipe before this paper leaned on people: hire experts, have them write out their chains of thought, fine-tune the model to imitate them. That approach has a built-in ceiling — the model can only reason the way its teachers happened to reason, and every new domain costs another round of annotation.
DeepSeek-R1's bet was to remove the teachers entirely. Take a strong base model, feed it hard questions whose answers can be checked by a rule — math with a boxed number, code with test cases — and reward nothing except whether the final answer is right. The reward never reads the reasoning. Under that one pressure, chains of thought grew from a few hundred tokens to more than ten thousand, and habits nobody demonstrated — re-checking work, backtracking, switching strategy mid-solution — showed up on their own.
Hard questions, a reliable grader, enough compute: given those three, the reflection you would have scripted shows up uninvited.
The bet from orbit
What got deleted, what the grader checks, and the shape of the loop
Step 1 · The deletion
Take the standard recipe — then delete the teachers.
If you've read our InstructGPT page, you know where post-training stood in early 2025: first SFT (supervised fine-tuning — imitate curated human answers), then RLHF (a learned reward model scores outputs, PPO pushes the policy toward higher scores, a KL penalty keeps it from drifting). DeepSeek-R1-Zero, the first model in this paper, keeps the RL and throws out the rest: no SFT phase at all, and the learned reward model is replaced by an answer key.
Let's give the machine its exam. Our running example is a real competition problem — AIME 2024 II, Problem 14 — which the paper itself uses to illustrate how it evaluates math (Table 32). It will sit on the desk for all twelve steps:
Ground truth: 211.
Look at the response card on the right of the picture: the amber block is the scratchpad where all the work will happen, and the teal row beneath it is the only surface a grade can touch. Keep those two colors — they mean the same thing in every figure on this page.
The prompt wrapper is deliberately plain. Training uses one fixed
template — the model is told to think inside
<think> tags and answer inside
<answer> tags, and nothing else. The authors
kept it this bare on purpose: any hint about how to reason
(“reflect first”,“verify each step”) would contaminate the
experiment they actually wanted to run — whether reasoning
emerges when only outcomes are rewarded.
From the abstract: “Here we show that the reasoning abilities of LLMs can be incentivized through pure reinforcement learning (RL), obviating the need for human-labeled reasoning trajectories.” The base model is DeepSeek-V3-Base — 671B total parameters, 37B active per token (MoE) — pre-trained on web text, never instruction-tuned before this experiment.
Step 2 · The rulebook
The grader never reads the thinking — it checks a box and two tags.
One problem, one bare template, one long response. With the human teachers deleted, the next question writes itself: who decides what a good response is?
A rulebook does — two rules, equally weighted. The
accuracy reward extracts the final answer (for math, the
expression inside \boxed{}, parsed with SymPy) and
compares it against the ground truth: our problem pays out only if
the box says 211. For code problems, a compiler runs the program
against test cases instead. The format reward checks that
the thinking actually sits inside
<think>…</think> tags, which keeps the
scratchpad separable from the answer.
Notice what's missing from the dashed box: a reward model. InstructGPT taught a neural network to imitate human preferences; R1-Zero refuses that for reasoning, and the paper is blunt about why. A learned judge can be flattered. In one of their own later experiments (we'll meet it again in Step 9's fine print), a model trained against a neural reward watched its reward climb while its real Codeforces performance fell — the policy had learned to please the judge instead of solving problems. A rule can't be pleased.
Rule-based rewards trade coverage for incorruptibility. They only exist where answers are checkable — math, code, multiple choice — so that is where pure RL runs. This boundary is real, and it returns in Step 12.
The reasoning RL diet (paper, Table 4): 26K math problems (reward 1 if the boxed answer matches the reference, else 0), 17K algorithm + 8K bug-fixing problems (hidden test cases), 22K STEM multiple choice, 15K logic puzzles. All verifiable by machine.
Step 3 · The loop from orbit
One training step: 32 questions, 16 attempts each, one nudge of the weights.
A response now earns r = 2 when both the box and the tags check out, and there is nobody to charm. What remains is the machine that turns those scores into learning.
Here is the whole loop at cruising altitude. Our AIME problem goes
in as the question q. The policy — the model being
trained — samples 16 different attempts at it (temperature
1, so they genuinely differ). The rulebook scores each one. Then a
box we haven't opened yet, GRPO
(Group Relative Policy Optimization), converts sixteen scores into
one adjustment of the weights. Repeat 10,400 times over a pool of
26K math questions and friends.
A few numbers to anchor the scale. Each attempt may run to 32,768 tokens of thinking (raised to 65,536 late in training). The learning rate is a cautious 3·10⁻⁶, and a small KL leash (coefficient 0.001) ties the policy to a reference copy that is refreshed every 400 steps — the InstructGPT idea, kept but loosened. Total: 10,400 steps, about 1.6 passes over the question pool, roughly 198 hours on 512 H800 GPUs.
The one box in this picture we haven't opened is GRPO — the part that decides how much each of the sixteen attempts should change the model. That box is Part B, and it's where this paper earns its keep.
Infrastructure trivia from supplementary B.1: rollouts are batched 8,192 responses at a time and trained in 16 mini-batches; vLLM workers generate while the rule-graders run overlapped, so the GPUs never idle waiting for a compiler.
Inside GRPO — the engine
Feel the curve · compute the z-score · push the weights · watch what grows
Step 4 · Grading on a curve
Sixteen classmates are the baseline — no value model needed.
Sixteen scored attempts at the b-eautiful problem go into GRPO and a weight update comes out. Before any algebra, let's settle the question GRPO exists to answer: compared to what is an attempt good?
A raw reward of 1 means nothing by itself. If the model already solves this problem nine times out of ten, another correct answer teaches almost nothing; if it nearly always fails, that same 1 is precious. RL algorithms handle this by subtracting a baseline — an estimate of the reward you'd expect anyway — and only pushing on the difference.
PPO, the incumbent, builds that baseline with a second neural network: a value model trained to predict expected reward at every point in the text. For a 671B policy that means training a second network of roughly the same size — double the memory — and here it gets worse: judging a half-written chain of thought means predicting whether the model will rescue itself five thousand tokens later, through a reflection it hasn't written yet. The paper argues this is close to unlearnable for long reasoning (supplementary A.3).
GRPO's answer is the one your math teacher used: grade on a curve. You already sampled sixteen attempts at the same question — so let the group grade itself. The baseline is simply the group's mean reward. Beat your classmates, get pushed up; lag them, get pushed down. The value model is deleted outright.
Find the coral box in the figure's top row — that is the expense in question. Now scan the bottom row: nothing sits in its place, only the sixteen attempts and two summary statistics.
GRPO wasn't invented here — it arrived in DeepSeekMath (Shao et al., 2024), built precisely to cut PPO's cost. The paper's own head-to-head (Figure 4) shows carefully tuned PPO can nearly match GRPO on math, but only after extra hyper-parameter search plus the value model's memory bill.
Step 5 · The advantage, by hand
The advantage is a z-score you can compute in your head.
“Beat the group mean, get pushed up” is the idea; the advantage Ai is the number. Let's earn it with rewards small enough to hold in one hand.
Take a group of just four attempts at our problem and score them
with the accuracy rule alone: r = [1, 0, 0, 1]
(attempts 1 and 4 boxed 211). Three moves, no calculator:
Average the group
Two of four scored — the mean reward is the curve everyone is graded against.
Measure the spread
Every reward sits exactly 0.5 away from the mean, so the standard deviation is 0.5.
Distance from the mean, in units of spread
That's all an advantage is: Ai = (ri − mean) / std. A z-score.
Why bother dividing by the spread? Because the same trick must work across 26K questions at once. Without the division, a question where the model is torn 50/50 would send much louder gradients than one it nearly always gets right, and a handful of questions would dominate training. The z-score puts every question's group on one common scale — a fairness device, not a mathematical flourish.
Now play with a full group of eight. The interesting behavior is what happens when success is rare:
Tap any attempt to flip its reward — every advantage in the group moves.
2 of 8 correct. Success is rare here, so each success earns a large positive advantage — rarity is amplified automatically.
Interactive needs JavaScript — the values above show the 2-of-8 case.
Set all eight the same and the spread hits zero — no advantage is defined, and the group teaches nothing. A question the model always solves, or never solves, generates no learning signal. RL can only amplify success it occasionally sees; keep that in your pocket for Step 8.
Simplifications on the table: the real runs use groups of 16 (we draw 8 to keep the cards readable), and we score with the accuracy rule alone — every attempt here is assumed to have kept its <think> tags, so the format reward cancels out of the comparison.
Step 6 · Scores become weights
Ai becomes a volume knob on every token of answer i.
Each of the eight attempts now carries one number: +1.73 if it boxed 211, −0.58 if it didn't. This is where most write-ups stop — and honestly, where we got stuck reading the paper: how does one number attached to a finished answer reach back and change 671 billion weights?
The key is to remember what an answer physically is. From the GPT-2 page: a language model writes one token at a time, each drawn from a probability distribution. Attempt o₁ is not a blob — it is a chain of thousands of individual token choices, and every choice has a probability the weights control. GRPO's move: use Ai as the learning signal for every token choice inside attempt i. The update direction is Ai · ∇ log π(oi) — nudge the weights so each token of an above-average attempt becomes more probable, each token of a below-average attempt less.
The teal arrows in the top row are long because +1.73 is a big advantage; the coral arrows under the failed attempt are stubs because −0.58 is a small one. To see an actual number move, let's shrink the model to one knob. Suppose the only choice that matters is the final box: the model writes 211 with probability π and something else with probability 1 − π, and a single logit z controls it, π = σ(z). The real model adjusts billions of weights across every token — one knob versus billions is the honest boundary of this toy — but the direction and arithmetic of the update are exactly GRPO's.
Start where Step 5 left us
π = 0.25, so the sampled group of 8 contains 2 successes — the group you just built. A₊ = +1.73, A₋ = −0.58.
Each attempt casts a weighted vote
A correct attempt pushes z up by A₊ · (1−π); a wrong attempt, pushed down, sheds probability onto everything else — including 211 — worth |A₋| · π.
Average the votes, take the step
Divide by the group size, scale by the learning rate η = 1, add to z, squash back to a probability.
One update, and the chance of writing 211 rose from 25% to 34%. Notice that the six failures helped: pushing down wrong answers shoves probability toward everything else, the right answer included. Now run the loop yourself and watch where it goes — and where it stalls:
Set the starting probability and learning rate, then step. Every number below is checkable by hand.
A₊ = +1.73 · A₋ = −0.58 (mean 0.25, std 0.43)
g = [2 × 1.73 × 0.75 + 6 × 0.58 × 0.25] / 8 = 0.43
z: −1.10 → −0.67 · π: 0.25 → 0.34
π so far: 0.25
Step 0. Each press = one full GRPO cycle: sample a group, score it, z-score it, nudge the knob.
Interactive needs JavaScript — the worked numbers above show the first step from π = 0.25 with η = 1.
Two stalls are worth hunting for. Drag π₀ below ~6% and the idealized group contains zero successes — flat rewards, zero spread, no gradient. The model never improves on a question it never solves, which is why this recipe demands a base model already strong enough to succeed sometimes. And once π climbs near 1, every attempt is correct and the question goes silent the other way: nothing left to learn here; in the real run, 25,999 other questions are waiting.
All that remains is to write down what you just did. For each question q, sampling a group {o₁ … o₁₆} from the old policy:
ρᵢ = πnew(oᵢ)/πold(oᵢ), per token · Aᵢ — your z-score from Step 5 · β = 0.001
Every part of this line is now something you've touched. Ai at the center is the z-score; the gradient of ρᵢ·Aᵢ is the per-token push you just stepped through (at the moment of sampling ρᵢ = 1, which is why our toy could ignore it). The rest is seat-belts: the clip stops any one batch from moving a token's probability too far, and the KL term is the familiar leash to a reference model.
The exact objective, and two honest wrinkles
Paper equations 1–3 add detail we folded away: the KL term uses an unbiased estimator (Schulman, 2020) and is added to the loss, not sprayed per-token into the reward as InstructGPT's PPO did — cumulative per-token KL would quietly punish long responses, the very thing this training grows. The reference policy is refreshed to the current policy every 400 steps so the leash never strangles.
Wrinkle two: R1's later RL stage sets the clip width ε = 10 — effectively unbuckling the upper seat-belt. The authors found tight clipping truncated gradients for too many tokens and hurt performance, while loose clipping risks instability; they chose loose and watched it (§3.2.1). Full derivation and the GRPO-versus-PPO discussion live in supplementary A.3.
Our stepper idealizes sampling — the number of successes in each group of 8 is set to round(8π) instead of being drawn at random — so that every displayed number is exactly reproducible on paper. Real groups are noisy around that expectation.
Step 7 · 10,400 steps later
Nobody asked for longer answers — accuracy paid for them, so they grew.
That update — push up what beat its group, push down what lagged — now runs 10,400 times. Watch two dials at once while it runs: the score on AIME 2024, and how long the model chooses to think.
Both climb together. Accuracy rises from 15.6% — roughly 2.3 of AIME's 15 problems — to 77.9%, sailing past the average human competitor (37.8%) with no reasoning example ever shown. And the average response stretches from a few hundred tokens to roughly 16,000. Re-read Step 2's rulebook: nothing in it mentions length. Long, self-checking attempts simply land in the correct pile more often, so every token of those habits keeps getting pushed up. Thinking time is a side effect with no line in the reward.
Drag through training and read both dials. Curves traced from the paper's Figure 1 — endpoints exact, the path approximate.
Step 8,200: accuracy ≈ 70% · avg response ≈ 9,500 tokens. The context cap doubles to 65,536 at 8.2k, and both curves jump.
Interactive needs JavaScript — the dots mark step 8,200.
Follow the teal dot and you'll feel the two-act structure: a long steady grind for 8,000 steps, then a second wind once the model is allowed — and inclined — to think in 60,000-token stretches. Majority-voting 16 samples pushes the final model to 86.7%, comfortably above the human average on a competition built for the best high-school mathematicians in America.
Where the gains land (supplementary C.1): on MATH, level-1 problems start near 95% and stay there; level-5 problems climb from ~55% to ~90%. The improvement concentrates exactly on what used to be hard. Learned frugality survives after training too: R1 spends <100 thinking tokens on “1+1=?”, under 7,000 on easy contest problems, and over 18,000 on the hardest (Figure 18).
Step 8 · The aha moment
“Wait, wait. Wait.” — reflection arrived on a schedule nobody set.
The length curve says the model chose to think longer. The transcripts show what the extra tokens were spent on.
Midway through training, an intermediate checkpoint produced this, on an algebra problem (we've trimmed the routine lines; the re-derivation runs on for pages):
To solve the equation √(a − √(a+x)) = x, let's start by squaring both sides …
(a − x²)² = a + x ⟹ x⁴ − 2ax² − x + (a² − a) = 0
…
Wait, wait. Wait. That's an aha moment I can flag here.
Let's reevaluate this step-by-step to identify if the correct sum can be …
We started with the equation: √(a − √(a+x)) = x
First, let's square both sides: a − √(a+x) = x² ⟹ √(a+x) = a − x² …
Nobody wrote “pause and re-derive” into any template, rule, or dataset — check Steps 1 and 2 again if you doubt it. The researchers went counting: across training, reflective words (“wait”,“verify”,“mistake”,“check”…) grow 5- to 7-fold. And the word “wait” specifically follows a schedule — nearly absent before step 4,000, occasional through 7,000, then erupting after 8,000, right where the accuracy curve found its second wind.
So where did the habit come from? The paper's own answer has two honest halves. First, the raw material was already there: V3-Base's pre-training web text is rich in worked math and code — including, the authors note, solution text generated by other models — so fragments of “wait, let me re-check” existed at low probability from day one. Second, RL made those fragments profitable. Attempts that happened to re-check landed in the correct pile more often, collected positive advantages, and Step 6's machinery pushed up every token of the habit. What looks like a lesson learned is selection working at scale.
The same logic explains a failure the authors report openly: they first tried this recipe on a 7B dense model and a 16B MoE. Responses grew longer but degenerated into repetition, and AIME barely moved. A base model that never stumbles onto success gives the z-score nothing to amplify — the Step 5 edge case, at model scale. Emergence here is real, but it is not free.
Incentivized, not installed. And the paper adds its own caution (supplementary B.3.2): the vivid first-person tone reads like a mind at work, but treat it as engineered heuristics amplified by reward — not evidence of one.
The full aha transcript, the reflective-word counts, and the per-difficulty accuracy curves are in supplementary C. For the curious: the algebra question's answer is (√(4a−3) − 1)/2 — try a = 3 and you'll find the lone real solution x = 1, so the sum is 1, matching the formula. The paper trims the transcript's tail, and so do we.
From R1-Zero to R1, and outward
Polish · the tally · six students · two dead ends
Step 9 · Four stages to R1
R1 is R1-Zero's skill, re-taught to a fresh base with manners.
Pure RL grew a strong reasoner with bad manners. R1-Zero mixes English and Chinese mid-thought and formats its work carelessly — the grader never charged a single point for any of that.
So the team ran the experiment again, this time engineering for a usable product. Four stages, alternating the two tools this page has kept apart on purpose — SFT for style, RL for skill:
SFT, small
A few thousand curated long-CoT dialogs — human-cleaned, first-person, one language — fine-tune V3-Base into Dev-1. Style, not skill.
GRPO + rules
Step 3's loop, plus one new rule: a language-consistency reward — the share of CoT words in the target language. Produces Dev-2.
800K samples
Dev-2 writes traces; keep only correct, readable ones (600K) + 200K general data. Then retrain a fresh V3-Base on all of it → Dev-3.
Rules + preference
1,700 steps: rule rewards for reasoning, human-preference reward models for helpfulness and safety in the final 400. Out comes R1.
Two details repay attention. Stage 3 does not continue training Dev-2 — it restarts from a clean V3-Base, using Dev-2 only as the author of its textbook. The skill survives the reset because it lives in the 800K traces. And the honest wrinkle: watch AIME across the checkpoints below. The cold start initially costs 19 points — a few thousand polite examples dilute raw problem-solving — and RL wins it back with interest.
The paper's closing verdict: RL discovers reasoning that no human demonstration contains, and SFT anchors style and coverage where no rule can score. Neither alone shipped the product — the pipeline is the finding.
The reward-hacking episode promised in Step 2 (supplementary B.5): during stage-4 experiments, training longer against the learned preference reward sent the reward score steadily up while Codeforces pass@1 slid from ~0.34 to ~0.29 — the policy was flattering the judge. Hence: preference rewards for 400 steps only. Language-consistency ablation (B.6): slightly lower benchmark scores, far more readable CoT — a trade chosen in the user's favor.
Step 10 · The tally
Level with o1 on math and code — for a post-training bill under $300K.
Four stages later the manners are fixed. Time to grade the graduate — on the same benchmark we've tracked since the Step 7 curves.
The tally · AIME 2024, pass@1
DeepSeek-R1
OpenAI o1-1217
DeepSeek-R1-Zero (pure RL)
human participant average
0pass@1 (%) →100
Where it trails, we should say so: GPQA Diamond (PhD-level science) reads 71.5 against o1's 75.7, and on the engineering-flavored Aider benchmark o1 leads 61.7 to 53.3 — software-engineering tasks got little RL because their test suites are slow to run in the loop. The headline is narrower and more interesting than “beats o1”: on checkable reasoning, the open recipe caught the closed one.
Contamination control: pre-training and RL data were filtered by 10-gram overlap against evaluation sets, and math RL prompts came exclusively from pre-2023 competitions. The AIME 2025 result above is the cleanest evidence — the contest didn't exist when training ended.
Step 11 · Distillation
Write the textbook once, and six small models learn from it.
One expensive model now writes reasoning traces worth studying — the same 800K samples that retrained V3-Base in Step 9. The cheapest thing to do with a good textbook is hand it to more students.
The team fine-tuned six open models — Qwen and Llama, 1.5B to 70B — on those 800K traces. Plain SFT, no RL at all. The smallest student embarrasses much larger closed models on math:
| model | AIME 2024 (pass@1) | MATH-500 | Codeforces rating |
|---|---|---|---|
| GPT-4o-0513 | 9.3 | 74.6 | 759 |
| Claude-3.5-Sonnet-1022 | 16.0 | 78.3 | 717 |
| R1-Distill-Qwen-1.5B | 28.9 | 83.9 | 954 |
| R1-Distill-Qwen-7B | 55.5 | 92.8 | 1189 |
| R1-Distill-Llama-8B | 50.4 | 89.1 | 1205 |
| R1-Distill-Qwen-14B | 69.7 | 93.9 | 1481 |
| R1-Distill-Qwen-32B | 72.6 | 94.3 | 1691 |
| R1-Distill-Llama-70B | 70.0 | 94.5 | 1633 |
The controlled question hiding here: is copying really better than learning first-hand? Run Part B's whole loop directly on Qwen2.5-32B and you get 47.0 on AIME — respectable, level with QwQ-32B-Preview. Distill R1 into the identical base and you get 72.6. The comparison is stark in a bar:
The reading the paper gives: patterns a 671B model discovers transfer down cheaply, while a 32B model exploring alone hits the Step 5 wall — too few successes on hard problems to amplify. Discovery seems to need scale; the discovered patterns don't.
Replication rigor worth noticing: the team also ran pure RL on Qwen2-Math-7B, a base released before OpenAI-o1 existed, so no reasoning-model output could have leaked into it. AIME: 22.3 versus 7.9 for its instruction-tuned sibling — the recipe works on untouched ground. Distillation setup: 800K samples, 2–3 epochs, SFT only; the authors leave adding RL on top “to the community”.
Step 12 · Dead ends & recap
Two obvious ideas didn't survive contact — the paper says so in print.
Everything above is the branch that worked. The authors also published the branches that didn't, and they teach as much as the trunk.
Process Reward Models — grade every step, not just the answer
Three strikes. Nobody can define what one “step” of general reasoning is; nobody can label intermediate steps correct at scale (models do it badly, humans do it slowly); and a learned judge re-opens the reward-hacking door that Step 2's rulebook existed to close. Verdict: useful for reranking finished answers, not worth its cost inside the RL loop.
Monte Carlo Tree Search — explore solutions like AlphaGo explored Go
Go offers a few hundred moves per turn; token generation offers a vocabulary of them, at every position, for thousands of positions. Capping the branching traps the search in local optima, and guiding it needs a fine-grained value model — the exact component GRPO was built to delete. Search helped at inference with a pre-trained value model; training through self-search never took off.
And the standing limits, in the authors' own accounting: rule rewards only reach domains with answer keys, so open-ended writing still depends on the hackable kind of judge, used sparingly; the model overthinks simple questions; languages beyond English and Chinese trigger mixing; and few-shot prompting actually hurts it — ask plainly, zero-shot.
Before the bookend, six questions. If you can answer them without scrolling up, the machinery is yours:
Why does GRPO need no value model?
The group of 16 is its own baseline: each advantage is a z-score within the group. PPO's alternative is a policy-sized network that must predict final reward from half-finished reasoning — nearly unlearnable when the model may overturn itself thousands of tokens later.
A group scores [1, 0, 0, 1]. What are the advantages?
Mean 0.5, every reward 0.5 from it, std 0.5 — so A = [+1, −1, −1, +1]. The two successes get pushed up, the two failures down, with equal force because success and failure are equally common here.
Why divide by the standard deviation?
Fairness across the question pool. Without it, 50/50 questions would shout over nearly-solved ones; the z-score puts each group on a common scale so 26K questions can share one learning rate.
How does one Ai move billions of weights?
It multiplies the gradient of log-probability for every token of attempt i — positive advantage raises each token's probability, negative lowers it, with the clip and the β = 0.001 KL leash as guard rails. You ran one such step in the Step 6 panel.
Nothing rewards length — why did responses grow ~50×?
Selection, not instruction. Attempts that re-check and backtrack land in the correct pile more often, collect positive advantages, and their habits get reinforced token by token. Length is a side effect of paying for correctness.
Why refuse a neural reward model for reasoning?
Learned judges get flattered: the team's own run showed the reward score climbing while Codeforces skill fell. Rules can't be gamed that way — at the price of only covering domains with checkable answers.
What happened next — within weeks, open rebuilds (Open-R1, TinyZero) reproduced the R1-Zero jump at small scale; RL on verifiable rewards became the standard closing stage for reasoning models; and the 1.5B student still outscores GPT-4o on AIME. Both dead ends above are being re-attempted by others, now with this paper's map of the swamp.
“Rather than explicitly teaching the model how to solve a problem, we simply provide it with the right incentives, and it autonomously develops advanced problem-solving strategies.” — section 2.3, DeepSeek-AI, 2025
Reasoning became a recipe, not a secret.
OpenAI's o1 had shown the destination four months earlier and hidden the route. This paper published the route — method, weights, and price tag — and the field reorganized around it within a season.
The RLVR wave
Open-R1, TinyZero and hundreds of successors rebuilt the loop in public. RL on verifiable rewards is now the default way reasoning gets trained — the journal version's related work already catalogs its own offspring.
Nature, refereed
The revised paper — the version this page draws on — made R1 the first frontier LLM to clear formal journal peer review, with training costs and safety evaluations disclosed under referee scrutiny.
Reasoning got cheap
MIT-licensed weights, a $294K post-training bill, and six distilled models put competition-grade math on consumer hardware — and made the economics of frontier AI a public argument.
Every open reasoning model shipping today — and the verifiable-reward pipeline training it — walks the loop you just stepped through.