IN THIS BREAKDOWN · 10 SECTIONS
You can read 18% of this breakdown.
The paper in one minute
When OpenAI's o1 came out, its main novelty was a curve: accuracy on hard math rose as the model was allowed to think for longer. Replications used reinforcement learning or large distilled datasets. The s1 paper asks for the simplest recipe that produces both a strong reasoning model and that curve.
The recipe has two parts. First, data. The authors collected 59,029 questions from math, science and quantitative puzzles, generated a reasoning trace and answer for each with Google's Gemini 2.0 Flash Thinking, and filtered down to 1,000 (s1K). They removed traces with formatting problems, removed questions that either Qwen2.5-7B or Qwen2.5-32B could already solve, then sampled across 50 subject domains, favoring longer traces. Qwen2.5-32B-Instruct fine-tuned on these 1,000 examples became s1-32B, in 26 minutes on 16 H100 GPUs.
Second, budget forcing, a decoding trick. To cap thinking, insert the end-of-thinking marker when the budget is reached, so the model has to answer. To extend thinking, block the marker when the model tries to stop and append "Wait", which often makes it re-check and fix an answer. With budget forcing, s1-32B rose from 50.0% to 56.7% on AIME24, above o1-preview's 44.6%, and scored 93.0% on MATH500. AIME24 has only 30 problems, so 50.0% to 56.7% is 15 to 17 correct answers.
Research notes: the problem, approach and results
training questions with reasoning traces, chosen from 59,029 by quality, difficulty and diversity (Section 2)
AIME24 accuracy for s1-32B with budget forcing, 17 of 30 problems (Table 1)
to fine-tune on s1K, against 394 for the full 59K pool (Section 4.2)
OpenAI's o1 showed accuracy rising with more thinking at test time, but did not say how. Open replications used reinforcement learning, tree search or hundreds of thousands of examples, and none showed a clean, controllable curve of accuracy against thinking length.
Distill reasoning from a stronger model on only 1,000 carefully chosen questions, then control thinking length at decode time: cut thinking off at a budget, or extend it by suppressing the end-of-thinking marker and appending "Wait".
s1-32B scored 56.7% on AIME24 with budget forcing (50.0% without), 93.0% on MATH500 and 59.6% on GPQA Diamond, against 44.6%, 85.5% and 73.3% for o1-preview. Training took 26 minutes on 16 H100s. Models trained on 800 times more data still scored higher.
Why it matters to an FDE
s1 is a practical recipe more than a research breakthrough, and each of its parts maps to a decision on a customer project.
A thousand good examples can beat fifty thousand ordinary ones per GPU-hour. Training on all 59K examples scored 53.3% against s1K's 50.0% on AIME24, within the paper's own bootstrap interval, while costing 57 times the compute. Random, longest-trace or most-diverse selections of 1,000 did worse. When a customer wants a fine-tune, spend the effort on choosing examples: hard for the base model, spread across the task's types, and well formatted.
Thinking length is a dial you can set. Budget forcing works on any model with an explicit end-of-thinking marker. It gives exact control of cost and latency per request, which prompt instructions such as "think for 500 tokens" did not: the model could not count its own tokens.
Read the denominators. Many headline numbers here rest on AIME24's 30 problems, where one answer is 3.3 points. The authors also found that greedy evaluation with vLLM changed between runs with different batch sizes, and used full precision to reduce it. Ask for the question count and the run-to-run spread before accepting a reasoning benchmark claim.
Understand the mechanism. Try it on a real problem.
Unlock this breakdown and 290 more papers.
Premium opens every paper in full, plus every answer, concept, course and guide on the site. One payment for six months of access.
6 months · One payment · No auto-renewal
- ◇1 architecture diagram
- </>1 runnable code experiment
- ▦2 results tables
- ?5 interview questions with answers
- 03Key takeaways
The data recipe, the forcing rule, what the ablations show and two misreadings
Free account - 04How it works
Data curation in three stages, the forcing rule, the scaling metrics and the setup
Premium - 05The numbers that matter
Table 1 against other models, data ablations, forcing methods and extrapolation strings
Premium - 06Try it yourself
Recheck the claims, count AIME problems, find the noise floor and model the effect of "Wait"
Premium - 07Where it breaks
Small benchmarks, distillation dependence, loops, closed graders and slips
Premium - 08Using it on a deployment
Curating a small fine-tuning set, setting thinking budgets, and evaluating with enough items
Premium - 09Interview angles
Five questions this paper prepares you for, with answer hints
Premium - 10Read next
Where to go from here on this site
Premium
