All 9 parts — roughly 11 hours of video —
summarised from the lecture captions and the slides, recovered by extracting
frames from the video. Blocks marked “On the slide” hold content
that only appears visually. Every timestamp links into the source video.
This is a single self-contained file: no stylesheet, no scripts, no images.
It works offline; only the timestamp links need a connection.
The course opener, taught jointly by Aakanksha Chowdhery and Azalia Mirhoseini, walks the whole arc in one sitting — pre-training scaling laws, the emergence of chain of thought, the post-training stack behind ChatGPT, inference-time scaling, reasoning models, agents — then spends the last twelve minutes on grading and project rules. The slides carry most of the specifics; much of the numeric content is never spoken aloud.
The title slide 01:03 lists Prof. Aakanksha Chowdhery and Prof. Azalia Mirhoseini, a CAs: heading left blank, and the course website https://cs329a.stanford.edu — the captions render this as "cs239a", a transcription error. Stated background between them: Google Brain (where they met), Google DeepMind, work on Claude at Anthropic and on Gemini, and research at Reflection AI. Second offering, with updated lectures and one extra homework.
"(Pre-Training) Scaling Laws for Large Language Models (LLMs)" reproduces the three-panel Kaplan figure with its fitted power laws printed in the legends, none read aloud: compute (PF-days, non-embedding) on x from 10⁻⁹ to 10¹ with test loss falling ~7 → ~2.5, fit L = (C_min / 2.3·10⁸)^−0.050; dataset size in tokens, loss 3.0–4.2, L = (D / 5.4·10¹³)^−0.095; parameters (non-embedding), loss 2.4–5.6, L = (N / 8.8·10¹³)^−0.076. The compute panel is a fan of individual runs with the compute-efficient frontier traced along their lower envelope. Cited to Kaplan et al., 2020.
The growth chart 04:38 plots model size in billions of parameters on a log y-axis (0.01–1000) against 2018–2022: ELMo (94M), BERT-Large (340M), GPT-2 (1.5B), Megatron-LM (8.3B), T5 (11B), Turing-NLG (17.2B), GPT-3 (175B), Megatron-Turing NLG (530B), plus a dashed extrapolation annotated "GPT4 is estimated to be here!" The spoken version names PaLM at 540B as the last point, but PaLM is not on this chart — the 530B marker is Megatron-Turing NLG.
Three reasons models keep growing: continuous improvement with scaling, few-shot learning, and emergent behavior — "capabilities that only emerge in larger models". The zero/few-shot slide is the GPT-3 figure, both panels annotated "No gradient updates are performed.": zero-shot is Translate English to French: then cheese =>; few-shot inserts sea otter => loutre de mer, peppermint => menthe poivrée, plush girafe => girafe peluche.
The chain-of-thought slide shows two complete prompts and their outputs — the outputs being the part the narration skips. Both open with the tennis-ball exemplar; standard prompting gives only A: The answer is 11., chain of thought gives the highlighted rationale "Roger started with 5 balls. 2 cans of 3 tennis balls each is 6 tennis balls. 5 + 6 = 11." Both are then asked the cafeteria question (23 apples, 20 used, 6 bought). Standard prompting answers 27 and is marked with a red ✗; chain of thought produces "23 − 20 = 3 … 3 + 6 = 9" and gets a green ✓. Credited to Nye et al. 2021 (scratchpads) and Wei et al. 2022.
"Chain of Thought Emerges in Large Models" — three panels sharing y = GSM8K solve rate (%), 0 to 60, against model scale in billions of parameters, with explicit per-family ticks: LaMDA 0.4 / 8 / 137B, GPT 0.4 / 7 / 175B, PaLM 8 / 62 / 540B. Dark filled circles = standard prompting, purple open circles = chain-of-thought prompting, orange dashed horizontal at ~55% = prior supervised best. Below roughly 10B the two prompting curves are indistinguishable and near zero. The gap opens with scale: LaMDA-137B reaches ~14% with CoT, GPT-175B ~47%, and only PaLM-540B with chain of thought (~57%) clears the prior-supervised-best line. Standard prompting tops out near 18%.
The companion grid 10:02 runs eight tasks (mod. arithmetic, IPA transliterate, word unscramble, Persian QA, TruthfulQA, grounded mappings, multi-task NLU, word in context) with accuracy on y against Model Scale (Training FLOPs) from 10¹⁸ to 10²⁴, for LaMDA, GPT-3, Gopher, Chinchilla and PaLM against a dashed Random baseline. Same shape everywhere: flat at random, then a knee. The slide credits this figure to the same Wei et al. chain-of-thought paper as the previous slide.
"ChatGPT launch (Nov 2022)" pairs the bullets — What was new: Instruction-tuned GPT 3.5, instruction tuning plus dialogue format via RLHF, "responses: helpful, harmless, and sensible" — with a "Time to reach 1 million users" bar chart the speaker only gestures at. The full ranking: Netflix 3.5 years (1999), Kickstarter 2.5 years (2009), Airbnb 2.5 years (2008), Twitter 2 years (2006), Foursquare 13 months (2009), Facebook 10 months (2004), Dropbox 7 months (2008), Spotify 5 months (2008), Instagram 75 days (2010), ChatGPT 5 days (2022), Threads 1 hour. Only the ChatGPT figure is spoken; the chart in fact puts Threads below it.
The stack is walked against a (Pre-)training → Fine-tuning → Inference graphic with the fine-tuning box highlighted. The alignment slide 13:40 plots sensibleness and safety as percent against model size 2B / 8B / 32B / 128B, each with a dashed Human ceiling, a Finetuned LLM curve and a Base LLM curve. Both fine-tuned curves are near-flat across a 64× size range and sit above the base model at every size — nearly meeting the human line on safety, leaving a visible gap on sensibleness. That is the visual argument that alignment comes from fine-tuning, not scale.
The instruction-tuning diagram (Chung et al., Scaling Instruction-Finetuned Language Models, 2022) feeds three streams into one "Language model" box. Instruction finetuning: "Please answer the following question. What is the boiling point of Nitrogen?" → "320.4F". Chain-of-thought finetuning: "Answer the following question by reasoning step-by-step" plus the cafeteria problem. Both roll up into multi-task instruction finetuning across 1.8K tasks. Below a dashed line marked Inference: generalization to unseen tasks: "Can Geoffrey Hinton have a conversation with George Washington? Give the rationale before answering." → "Geoffrey Hinton is a British-Canadian computer scientist born in 1947. George Washington died in 1799. Thus, they could not have had a conversation together. So the answer is 'no'." Only the nitrogen example is mentioned aloud.
The RLHF slide 17:41 lists the ranking criteria as exactly three — Correctness, Helpfulness, Specificity — where the narration adds harmlessness as a fourth. Its figure runs RLHF and DPO side by side over the same prompt, x: "write me a poem about the history of jazz": RLHF goes preference data → maximum likelihood → reward model → sample completions / label rewards → LM policy under reinforcement learning; DPO goes preference data → maximum likelihood → final LM, with no reward model at all. DPO is on the slide and never mentioned aloud.
Pre-training plus fine-tuning was the whole story "until a year and a half ago". The lab's own paper is the case study: Large Language Monkeys19:56 (Brown*, Juravsky*, Ehrlich*, Clark, Le, Ré, Mirhoseini, 2024, Scaling Inference Compute with Repeated Sampling). The slide draws Step 1 — an LLM, literally a monkey at a typewriter, emitting candidate snippets for "Input a number from stdin and …" — and Step 2, a Verifier box glossed "(e.g. unit tests, proof checkers, majority voting)" picking one. It names two failure modes: Problem 1 (coverage): can we generate a correct solution? and Problem 2 (precision): can we identify a correct solution from the generated samples? The precision half is slide-only, and it is the distinction the rest of the course rests on.
"Models Improve Drastically with Just Repeated Sampling!", subtitled "Llama-3-8B outperforms GPT-4o on various reasoning benchmarks if sampled more!" Four panels share y = Coverage (pass@k), 0 to 1 and x = Number of Samples (k), log scale 1 to 10⁴. Legend: purple = Llama-3-8B-Instruct, green = Llama-3-70B-Instruct, red dashed = GPT-4o Single-Attempt. (The captions garble the model names into "the normal 3HP and 7AB".)
MiniF2F-MATH (formal proofs) — GPT-4o at ≈0.27; both Llamas start ≈0.21 and cross by k≈3, ending ≈0.49 (8B) and ≈0.52 (70B), nearly overlapping throughout.
CodeContests — GPT-4o at ≈0.21, the hardest crossing: 70B starts ≈0.08 and crosses around k≈10²–10³ (ending ≈0.38); 8B starts ≈0.02 and only reaches the line near k≈10⁴.
MATH (oracle verifier) — GPT-4o at ≈0.64; 70B starts ≈0.46 and crosses by k≈5, 8B starts ≈0.25 and crosses near k≈30. Both saturate ≈0.95.
GSM8K (oracle verifier) — GPT-4o at ≈0.94; 70B is above it almost immediately, 8B starts ≈0.75 and crosses within the first decade of samples. Both flatten ≈0.99 by k≈10².
Footnote: "Due to the large compute cost, we generated results on random subsets of datasets."
It seems like the models already know a whole lot more than what you get out of them when you just ask them once.
Q&A sharpens three points. Why this is not brute-force search 24:40: the answer space is vastly larger than what the model proposes, so sampling from the model is far more sample-efficient — 10,000 samples is "not a whole lot" for IMO-level problems. On latency: parallel samples parallelize, so the real trade-off is cost. On temperature: past roughly 1.2 output degrades into gibberish. Then DeepSeek (December 2024), the o-series and Gemini thinking models joined test-time scaling to fine-tuning 28:10: test-time search generates high-quality synthetic data on problems with known answers, and that data is trained back in. That closed loop is the "self-improving" in the course title.
Two scatter panels, both y = pass@1 accuracy, 0–100: "o1 AIME accuracy during training" against train-time compute (log scale), and "o1 AIME accuracy at test time" against test-time compute (log scale). The training panel runs ≈33 → ≈69; the test-time panel ≈21 → ≈75 — test-time compute alone carries the model further, at fixed parameter count. Source printed on the slide: openai.com/index/learning-to-reason-with-llms/. Only the test-time panel is described aloud.
The principles slide 31:31 names five behaviours: Problem Analysis, Task Decomposition, Self-Evaluation ("through RL, thinking models learn to finetune their chain of thought and refine the strategies it uses"), Self-Correction, Alternative Proposal.
Two verbatim o1 traces, shown as screenshots and only paraphrased aloud.
Problem analysis. Prompt: "Write a bash script that takes a matrix represented as a string with format '[1,2],[3,4],[5,6]' and prints the transpose in the same format." The trace panel is headed "Thought for 5 seconds": "So the user is requesting a bash script that can take a string representing a matrix, such as '[1,2],[3,4],[5,6]' and output its transpose, in the same format. / Let's first understand the input and output formats. / Input: '[1,2],[3,4],[5,6]' which corresponds to the matrix: 1 2 / 3 4 / 5 6". The bullet notes the requested output is '[1,3,5],[2,4,6]'.
Self-correction. A second example the captions never mention: "What is the pH of a 0.10 M solution of NH₄F? The Ka of NH₄⁺ is 5.6 × 10⁻¹⁰ and the Ka of HF is 6.8 × 10⁻⁴." The trace starts writing raw LaTeX — pH = 7 + 0.5 \times \log\left(\frac{Kb - Ka}\right) — then interrupts itself: "Wait, the correct formula is:" followed by the rendered pH = 7 + 0.5 × log(Kb for base / Ka for acid), and continues "So first compute Kb for F⁻ and Ka for NH4⁺."
The "better at reasoning, not at writing" claim is carried entirely by a bar chart 36:56: "Human preferences by domain: o1-preview vs GPT-4o", x = win rate vs GPT-4o (%) 0–100 with a dashed line at 50 and error bars. Reading off the axis, Personal Writing ≈48% and Editing Text ≈50% sit at or below parity; Computer Programming ≈60%, Data Analysis ≈60% and Mathematical Calculation ≈72% sit above it.
The long Q&A that follows is transcript-only — the camera stays on the speakers 35:20–40:20. Repeated sampling improves coverage/pass@k, whereas reasoning training improves pass@1: "a lot of what we cover in train-time or test-time scaling really comes down to it learns which is correct". Models prefer their own traces even when better ones are available 37:50. And on how reasoning is taught: "I don't think there's a published piece of work that really covers this bit… it's a bit of both".
A section slide, "What's New? From LLMs to Agents", marks the pivot: chatbots and reasoning models are still single-turn — "fun to interact with, but they're not necessarily accomplishing a task for you" — and what changed recently is Claude Code, Codex and Deep Research completing workflows end to end.
Both cite anthropic.com/research/building-effective-agents. "LLMs to Agents" draws the open loop: Human ⇢ LLM Call, then a two-way cycle between LLM Call and Environment labelled Action outbound and Feedback inbound, with a dashed branch down to a Stop box. Caption: "Agents are systems where LLMs dynamically direct their own processes and tool usage, maintaining control over how they accomplish tasks."
"LLMs to Agentic Workflows" — "systems where LLMs and tools are orchestrated through predefined code" — contrasts that with two hand-built graphs. Top: In → LLM Call Generator feeding LLM Call Evaluator around a cycle labelled Solution one way and Rejected + Feedback the other, exiting to Out on Accepted. Bottom: In fanning out to LLM Call 1 / 2 / 3, converging on an Aggregator, then Out — identified aloud as how Deep Research works.
The components slide 45:15 lists the pieces — LLM calls, verifiers, critics/judges, tool calls, search — composed as Prompt Chaining, Routing, Parallelization, Orchestrator, Evaluator/Judge, Verifiers, closing on what is effectively the syllabus: "Agentic workflows require planning, multi-step reasoning and self-improvement." Only the evaluator loop and the parallel fan-in are actually drawn; routing and orchestration are a bullet list plus narration, not diagrams.
"AI Coding Agents" 48:15 puts the SWE-agent figure on screen: an LM Agent, an Agent–Computer Interface exposing LM-friendly commands (Navigate repo, Search files, View files, Edit lines) outbound and LM-friendly environment feedback inbound, and a Computer holding a Terminal and a Filesystem listing sklearn/, examples/, README.rst (Yang et al., 2024). The speaker flags it as dated: "I should have updated the slide for Claude Code."
Asked why the same architecture became reliable 48:50: the architecture barely changed; what changed is more capable models and better RL — RL with verifiable rewards, train-time scaling working — plus a loop in which models generate their own unit tests. That surfaces the generator–verifier gap: generating plausible content is easy, judging it needs a feedback loop, and for creative writing human feedback is the bottleneck. Asked why RL produces such large jumps if pre-training already contains the capability 51:40, the honest answer is that opinions differ, there is no consensus, and "that whole loop is not completely well understood".
A second coding-agent slide adds a four-lane sequence diagram — Human | Interface | LLM | Environment — that makes the "clarify user intent" point concrete. Top to bottom: Query (Human→Interface); a loop box Until tasks clear containing Clarify and Refine; Send context; Search files / Return paths against the Environment; a second loop box Until tests pass containing Write code → Status → Test → Results; then Complete and Display. The bullets mirror it: clarify user intent → LLM call to search for relevant files → until tests pass {generate code, evaluate if tests pass} → display the completed results.
Where this already pays off is repetitive work 54:27 — the Devin slide lists data warehouse migrations, ETL development, data cleaning and preprocessing beside a screenshot of "Devin's Workspace" with Shell / Browser / Editor / Planner tabs — plus code migrations, version upgrades and unit tests.
Customer support: the pattern is defined on the slide as "LLM calls, external information + tools, actions such as issuing refunds; update tickets, success via user-defined resolutions", illustrated with a Google Cloud Live Transcription flow captioned "transcribes all interactions between customer and agent automatically, including PII reduction".
Research agents55:37 uses the STORM pipeline — Topic → Prewriting {References, Outline} → Writing → Full-length Article, labelled Research via Question Asking, with the worked topic printed as "2022 Winter Olympics Opening Ceremony" (Shao et al., 2024); it reappears in a homework. Then the AI-scientist pipeline 56:48 (Lu et al., The AI Scientist, 2024): Idea Generation (LLM Idea/Plan Innovation → Novelty Check via Semantic Scholar → Idea scoring/archiving) → Experiment Iteration (Experiment Template → Code Δ via LLM & aider → Exec Script → Experiments ⟳ Update Plan → Numerical Data/Plots) → Paper Write-Up (Manuscript Template → Text Δ → Manuscript → LLM Paper Reviewing). The hallucination-as-brainstorming point gets its own slide: a New York Times headline, "How Hallucinatory A.I. Helps Science Dream Up Big Breakthroughs", over a rendered protein structure.
"CS329A at a Glance" 1:00:50: Test-time Scaling; Self-improvement Techniques (Verifiers, Feedback, RL, Search); Evolution Strategies; Tool-use/Actions; Augmenting LLMs with Retrieval/Memory; Planning and Multi-step Reasoning; Robust Agent Evals; guest lectures from frontier AI labs and startups; Multimodal Agents & Robotics. Prerequisites 1:01:25: Python/NumPy at CS106A/B/X level, familiarity with LLM foundations (e.g. CS229S, CS224N), and research experience — the Where: and When: fields on that slide are left blank.
Groups form via Canvas; the screenshot 1:03:50 shows self sign-up enabled and "groups are limited to 4 members", next to Unassigned Students (59) and Groups (0). API credits are promised. The project slide 1:05:20 is explicit: acceptable — new evaluation datasets for agentic systems, investigating the reliability of an agentic system, hill-climbing a benchmark, improving self-improvement techniques from papers covered in class; negative examples — a survey paper, or "a demo agentic app with no specific eval criterion", restated aloud as wanting "something more than vibe coding". Milestones: proposal, mid-quarter presentation in class (recorded video for NDO students), final report, poster.
Course grading breakdown, read from the slide 1:08:05
Component
Weight
HW1
15%
HW2
15%
HW3
20%
Project proposal
2.5%
Mid-quarter project presentation
10%
Final in-person poster presentation
2.5%
Final report
35%
That is the 50/50 homework–project split described aloud, but the internal weighting is slide-only: the final report alone is 35%, more than any two homeworks, while the poster is 2.5%. Edstem handles asynchronous questions, Gradescope project milestones. Late policy 1:09:05, strictly enforced because the class is large: up to 4 total late days, at most 2 per assignment, 25% penalty per additional late day, the final project must be on time, no exceptions. Final slide: audits are NOT allowed. And one detail that exists only in the audio — the poster session is announced as December 12, 4:00–6:00 PM with industry attendees 1:07:20; the slide titled "Course Project Poster Presentation" reads only "Final project poster presentation:" with the date field blank.
Takeaways
Three scaling axes, not two: pre-training, post-training, and inference. The slides give the actual fits — L = (N/8.8·10¹³)^−0.076 for parameters — and the actual crossovers where sampling a small model beats one call to a frontier one.
Repeated sampling raises coverage (pass@k); reasoning training converts coverage into pass@1. The Large Language Monkeys slide names both halves — coverage and precision — though only coverage is discussed aloud.
Llama-3-8B-Instruct crosses GPT-4o single-attempt on all four benchmarks shown, but the budget needed ranges from a handful of samples on GSM8K to nearly 10,000 on CodeContests.
Agents differ from chatbots by having a goal, a plan, environment feedback and a stop condition — but the deployed reality on the slides is hand-built graphs, plus a sequence diagram whose first loop is "until tasks clear".
The bottleneck throughout is verification; grading-wise, the bottleneck is the final report at 35%.
The densest plot lecture in the course. Three papers — Large Language Monkeys, Scaling LLM Test-Time Compute Optimally, and Archon — carried almost entirely by figures whose axes, fitted constants and legends are never read aloud. The through-line is that inference has its own scaling law, that the law only converts into capability through a verifier, and that the space of ways to spend inference compute is large enough to be worth searching automatically.
The framing slide 00:29 is a three-box pipeline — (Pre-)training → Fine-tuning → Inference — with the inference box alone in a dotted outline under "What's New? A New Frontier for Scaling is Inference!" Everything that follows happens without touching a parameter.
The Monkeys setup slide 01:53 draws the two-step loop — an LLM (a cartoon monkey at a typewriter) emitting candidates, then a Verifier glossed "(e.g. unit tests, proof checkers, majority voting)" — and splits the problem in two, in text never spoken: Problem 1 (coverage): can we generate a correct solution? and Problem 2 (precision): can we identify a correct solution from the generated samples? Part 1 covers the four-panel reasoning result 02:35; the agentic figure is the one to look at here.
"Inference Scaling also Works for Agentic Benchmarks Like SWE-Bench Verified!" A single curve, y = Coverage (Pass@k), 0.0–1.0, x = Number of Samples, log 10⁰–10³. Coverage starts at ≈0.195 at one sample and rises to just over 0.70 at 10³, annotated "70+% coverage on SWE-bench Verified with open-source DeepSeek + repeated sampling". Two dashed reference lines with arrows: 62.2% SOTA as of 12/13/2024, used Claude-3-5-sonnet-new as backend (by Aide) and 38.4% – O1 Preview. The crossings are the point: DeepSeek passes o1-preview at about 4 samples and the Aide/Sonnet SOTA at a little over 100 samples. The slide says only "DeepSeek"; the spoken version specifies DeepSeek-V3.
After a recap of Kaplan et al. 2020 04:16, the inference analogue 04:43 is stated as an exponentiated power law — the slide's wording; the transcript says "exponential power law" — with the formula on screen:
c = exp(a·k^b) — k: number of samples; a & b: curve fitting parameters; c: coverage, the fraction of problems solved by at least one sample.
Then the lecture goes somewhere the captions never signal: a second paper, printed only in the footer — "How Do Large Language Monkeys Get Their Power (Laws)?", Rylan Schaeffer, Joshua Kazdan, John Hughes, Jordan Juravsky, Sara Price, Aengus Lynch, Erik Jones, Robert Kirk, Azalia Mirhoseini, Sanmi Koyejo, ICML 2025. It is the source of the next three slides.
The setup slide states the contradiction algebraically on the left — pass_i@k = 1 − (1 − pass_i@1)^k, hence −log(pass_i@k) ≈ (1 − pass_i@1)^k — beside a 7-panel grid of Pythia 70M / 160M / 410M / 1B / 2.8B / 6.9B / 12B, each plotting −log(pass@k) against Num. Attempts per Problem k on log–log axes. Every thin coloured line is one problem, plunging off a cliff; the heavy black line through each panel is the dataset average, and it is straight. The green captions: "−log(avg pass@k): Power Law (Polynomial) Scaling with k" versus "−log(pass_i@k): Exponential Scaling with k", then "How can we reconcile these?"
The answer slide is a three-term identity across the top: Average Power Law Scaling = Per-Problem Exponential Scaling + Pass@1 Distribution Over Problems. Left panel: the straight line −log(pass_D@k) ∝ k^−b, x from 10⁰ to 10⁴. Middle: the family of exponential per-problem curves. Right: the distribution that reconciles them, p_D(pass_i@1) ∝ (pass_i@1)^(b−1), plotted against pass_i@1 from 10⁻⁵ upward — rising as a power law, then cut off sharply near 10⁻¹. Printed intuition: "For −log(avg pass@k) to fall polynomially with the number of attempts k, if each problem's −log(pass_i@k) falls exponentially with k, then a long tail of extremely hard problems is necessary to 'drag out' the exponential curves."
"Does Data Empirically Have This Power Law Left Tail?" — the same seven Pythia panels, now histograms of Count (0–100) against pass@1 on a log axis from 10⁻⁴ to 10⁰, each with a dashed density overlay. Every panel has a spike in the left-most bin: roughly 95 problems for Pythia 70M, ~55 for 160M, ~43 for 410M, and down to roughly 15–20 for 6.9B and 12B, with the remaining mass sliding right as the model grows. The corner annotation is the practical payoff, and it is never said aloud: "Provides a method for predicting the power law exponent with ~2–4 orders of magnitude less inference compute."
"Inference Time Compute Predictably Translates to Intelligence" puts numbers on the shift the narration only gestures at. Current Paradigm: Pre-training → $100M+, Fine-tuning → $1M+, Inference → <$0.001. Alternative Paradigm: a single Inference box → $1k+, captioned "Could be offline". Sub-bullet: "This motivates a shift in compute allocations, especially for domains with automated verifiers."
Verification is the binding constraint 13:01–19:13
The verification slide 13:01 lists exactly three easy cases: formal proofs for math, unit tests for coding, and "AI as a compiler: e.g. generate CUDA and use source Pytorch as verifier" — the third a lab project, illustrated with a KernelBench figure the room camera renders unreadable.
KernelBench Level 1 (87 problems), from Anne Ouyang, Simon Guo, Azalia Mirhoseini, KernelBench: Can LLMs Write GPU Kernels? 2024. y = Correctness Coverage / Pass@k, 0.0–1.0; x = Number of samples, k, log 10⁰–10² — only 100 samples, not thousands. One solid navy curve, Deepseek with Sampling (Temp=1.6), from ≈0.32 at k=1 to 72% at k=100, against four greedy-decoding dashed baselines labelled on the right axis: claude-3-5-sonnet-20241022 = 52%, gpt-4o-2024-08-06 = 40%, Deepseek (Greedy) = 37%, meta-llama/Llama-3-70b-chat-hf = 24%. Sampled DeepSeek passes its own greedy self and GPT-4o within about 2 samples and Claude 3.5 Sonnet at roughly k=9–10.
"Existing Verification Methods Need Drastic Improvements" — four panels, y = Success Rate 0.0–1.0, x = Number of Samples (k), log 10⁰–10⁴, four series: Majority Vote (teal), Reward Model + Best-of-N (yellow), Reward Model + Majority Vote (crimson), Coverage (pass@k) (blue). The gap sizes at k=10⁴, which the narration leaves as "very, very large":
Llama-3-8B-Instruct GSM8K — all start ≈0.75; coverage reaches ≈1.00 by k≈10², selectors plateau ≈0.86–0.87 (best-of-N ≈0.83). Gap ≈13 points.
Llama-3-70B-Instruct MATH — start ≈0.46; coverage ≈0.95; selectors peak ≈0.56 near k≈10² and stay flat; best-of-N peaks ≈0.52 then falls to ≈0.48. Gap ≈39 points.
Llama-3-8B-Instruct MATH — start ≈0.26; coverage ≈0.95; selectors plateau ≈0.40; best-of-N ≈0.31. Gap ≈55 points.
Two things only the figure shows: majority voting flattens by k≈10¹–10², and reward-model best-of-N is the one method that gets actively worse with more samples, on three of the four panels.
The follow-up slide 15:56 explains why. "The Correct Generations Could Be Very Rare" plots Correct Sample Percentage (0–100%) against Problem Index (Sorted by Correct Fraction) for the same four model/dataset pairs, with green bars for "Problem is correct with majority voting" and dark red for "incorrect with majority voting". The red band sits entirely at the left edge, where the correct fraction is a few percent — the hardest problems are solved two or three times in 10,000, so a frequency-based selector cannot see them.
The discussion slide 19:13 carries three prompts verbatim: the main takeaways and where to build; how to dynamically adjust sampling strategies given the "needle-in-the-haystack" precision problem at large k; and how to mitigate flaky tests, false negatives and inconsistent test-case construction. The eight minutes that follow are transcript-only — the recording stays on the room camera. Raised from the floor: refutation instead of verification, simulation-based verifiers in physics or molecular dynamics, and ensembling many verifiers, which previews Weaver in the next lecture. The 10,000-samples-per-problem dataset is on Hugging Face and shrinking the gap is offered as a course project 24:27.
The pivot slide 26:20 is two lines: "Monkeys showed repeated sampling is very effective! What are other ways to scale compute at inference?" The comparison diagram 27:54 uses one worked prompt throughout — Q: If 4 daps = 7 yaps, and 5 yaps = 3 baps, how many daps equal 42 baps? — with Parallel Sampling fanning out to independent answers ("LM proposes answers independently, in parallel") over Sequential Revisions as a chain ("LM proposes a sequence of revisions, each conditioned on previous revisions").
The reward-model slide 29:17 is a two-line definition: "Outcome Reward Model assigns a score to the final answer when it is correct"; "Process Reward Model assigns a score for each step in the model's response and not just the final answer." The beam-search figure 30:43 makes PRM-guided search concrete: from a Question node, four candidates per level, each in a dashed box (the key reads dashed box = Apply Verifier, green = Selected by verifier, red = Rejected by verifier), annotated "Select the top-N samples at each step using the PRM" and, at the bottom, "Select the best final answer using the verifier." The compute-optimal slide 33:15 puts three layouts side by side: Parallel Best-of-N (8 independent samples), Sequential Revisions (a chain of 8), and Combining Sequential/Parallel (two chains of four — "verifier selects the best answer within each chain", then "across chains").
The methodology slide 34:00 is more specific than the narration, which says only "the palm model": MATH benchmark, 12k train and 500 test questions; PaLM 2-S* (Codey) base model; difficulty defined by binning pass@1 estimated from 2048 samples into five quantiles; the PRM trained with the MATH-Shepherd approach; the revision model finetuned on trajectories of incorrect answers followed by a correct one.
"Compute Optimal Search" — y = MATH Accuracy (%), 10–45, x = Generation Budget, log₂ from 2⁰ to 2⁹. Four series: Majority (crimson), ORM Best-of-N Weighted (purple), PRM Best-of-N Weighted (green), PRM Compute Optimal (blue, plotted only at even exponents). All four start ≈10.5% at a single generation.
Blue opens a large early lead — 26.8% at 2² against 21.0% for PRM best-of-N and 13.8% for majority — and reaches 33.3% at 2⁴, a level green does not reach until between 2⁵ and 2⁶: roughly a 3–4× budget saving.
The two PRM curves meet at 2⁶ (34.2 vs 34.0) — blue is flat across 2⁴–2⁶ — before blue jumps again to 39.5% at 2⁸ against 36.8% for green.
ORM best-of-N saturates lowest of the three verifier methods at 34.4% at 2⁹; majority voting flattens at 28.8% — a level blue passes at a budget of four.
"Revisions@128, Varying the Sequential to Parallel Ratio" — y = MATH Test Accuracy (%), x = Test Questions Binned by Increasing Difficulty Level (1–5), eight bars per bin coloured by a Sequential to Parallel Ratio colourbar running log-scale from about 10⁻² (pale orange) to above 10² (dark purple). Bins 1–3 rise monotonically with the ratio: bin 1 tops out ≈93% at the most-sequential setting, bin 3 climbs from ≈34% to ≈42%. Bins 4 and 5 break the pattern — the tallest bars sit in the middle of the ratio range (bin 4 peaks ≈18% around 10⁰–10¹ and falls back to ≈12.5% at the most-sequential extreme). That is the visual behind the slide's claim: easier questions do best with full sequential compute, harder ones have an interior optimum.
The FLOPs-matched slide gives the trade-off exact numbers the transcript rounds away. y = Relative Improvement in Accuracy From Test-time Compute (%), −40 to +30; x = Ratio of Inference Tokens to Pretraining Tokens at three settings; series green = Easy, blue = Medium, orange = Hard; footer "Iteratively Revising Answers at Test-time".
Inference : pretraining tokens
Easy
Medium
Hard
<<1
+21.6%
+27.8%
+11.8%
~=1
+16.7%
+3.5%
−11.9%
>>1
+5.4%
−24.3%
−37.2%
At a high inference-to-pretraining ratio only the easy bucket is still positive — medium falls to −24.3%. The spoken summary ("positive for the easy and medium problems") holds only in the left-hand column.
The second discussion slide 42:26 adds a detail the narration skips entirely: "Paper mentions that the PRM800k dataset was not useful due to distribution shift across different models." The discussion again runs on the room camera 42:55–45:00.
Archon: searching the space of inference architectures 45:38–1:02:59
The framework slide 46:42 — Archon: An Architecture Search Framework for Inference-Time Techniques, Jon Saad-Falcon, Adrian Gamarra Lafuente, Shlok Natarajan, Nahum Maru, Hristo Todorov, Etash Guha, E Kelly Buchanan, Mayee Chen, Neel Guha, Christopher Ré, Azalia Mirhoseini — draws three columns. Inputs: Target Benchmark(s), Inference Call Budget, Available LLMs, and a stack of Inference Time Techniques. Optimizer: an ITAS Optimizer (Hyperparameter Selection) in a loop with Proposed Archon Architecture and Sample Benchmark Results. Outputs: an Optimized Archon Architecture drawn as layers G G … G → C → R → F → Output.
The operations table 48:08 stays on screen for several minutes with one row highlighted at a time; the inference-cost column is the part the narration never gives.
Technique
Definition
Output
Inference cost
Domains
Generator
Generates a candidate response from an instruction prompt
Candidate Response(s)
1 call per cand.
All Domains
Fuser
Merges multiple candidate responses into a single response
Fused Candidate Response(s)
1 call per cand.
All Domains
Critic
Generates strengths/weaknesses for each candidate response
Candidate Response(s) + Strengths/Weaknesses
1 call
All Domains
Ranker
Returns top-K candidate responses
Ranked Candidate Response(s)
1 call
All Domains
Verifier
Returns the candidate responses with verified reasoning
Verified Candidate Response(s)
2 calls per cand.
Reasoning Tasks
Unit Test Generator
Generates unit tests to evaluate the candidate responses
Instruction Prompt + Unit Tests
1 call
Reasoning Tasks
Unit Test Evaluator
Uses generated unit tests to evaluate candidate response
"Inference Time Operations Improve Results over Oracle-Based Verifiers". Both panels: y = Win Rate Against Sonnet 3.5e, 0.35–0.65, with grey dashed reference lines at Sonnet 3.5 = 0.50 and GPT-4o ≈ 0.482. Five series: Oracle Selection (blue), Random Selection (orange), Top Ranked Selection (green), Fuser Response (red), Ranked Top-5 + Fuser Response (purple). Every series starts at 0.457. The benchmark is not printed on the slide, and the speaker says so.
Left — Number of Repeated Samples, only one LLM (1→10). Random ends 0.450; Top Ranked 0.492, below the Sonnet line; Oracle 0.504, flat from n=7. Fuser Response crosses Oracle at about n=4–5 and ends 0.520. Ranked Top-5 + Fuser tracks below the others until n=5, then jumps to 0.520 at n=6 and 0.547 at n=8 — filtering to the top five before fusing is worth about +2.7 points over fusing everything.
Right — Number of Models in an Ensemble of LLMs (1→10). Same ordering, wider: Ranked Top-5 + Fuser 0.652, Fuser 0.615, Oracle 0.578, Top Ranked 0.545 — while Random falls monotonically to 0.360, since the ensemble is built best-model-first and each addition is weaker.
The "Natural Language Unit Tests" slide 55:35 shows the generated tests verbatim. Problem: "Check for balanceness of round brackets in an input string", with Example Input"Some random text (with nested (brackets [inside] and even more)) closing brackets )) here!" Five LLM-Based Unit Tests follow, in prose rather than code — among them "Given a string that starts with a closing bracket like ')(', the solution should output 'NO' immediately" and "When a closing bracket is encountered, it must match the most recently opened bracket that hasn't been matched yet."
"Diverse Range of Archon Architectures" is the slide the speaker apologises for — "this is so big, there's no way for me to put it here with large font". At full resolution the model assignments are legible: Prompt → 10 Generators (GPT-4o, Claude 3.5 Sonnet, Qwen2-72B, … Llama 3.1 405B) → Critic (Qwen2-72B) → Ranker (Claude 3.5 Sonnet) → 8 Fusers (same four families) → Critic → Ranker → 4 more Fusers → Critic → Ranker → Fuser → Output. Two simpler ones sit below: Generator (Claude 3.5 Sonnet, n=10 samples) → Critic → Ranker → Fuser, all Claude 3.5 Sonnet; and a coding architecture, Generator (Llama 3.1 405B, n=1000 samples) → Unit Test Generator (GPT-4o) → Unit Test Evaluator (GPT-4o).
The depth result — "Archon architectures resemble neural architectures in that scaling the number of layers of inference-time methods improves performance!" — is a seven-series bar chart, y = Win Rate / Accuracy, 0.0–1.0, running from Best Open-Source 70B+ Model, Sampled Once through 8-Samples + Fuser, Ensemble (Top-8 Best Models) + Fuser, + Critic + Fuser, + 1 Layer of Fusers, + 3 Layers of Fusers, to Ensemble + 3 Layers of Critics and Fusers + Fuser. First bar to last: MT-Bench 0.55 → 0.67, AlpacaEval 2.0 0.45 → 0.66, Arena Hard Auto 0.46 → 0.66, MixEval Hard 0.59 → 0.67, MATH 0.74 → 0.80. But on MixEval (≈0.87 flat) and Code Contests (≈0.28 flat) the seven bars are indistinguishable — depth buys nothing where the benchmark is saturated or hard for other reasons, which the "significantly better across many of these tasks" narration elides.
Just like in deep learning, we are adding layers in pre-training and the model gets better. It seems like these careful additions of inference layers are helping the model become more and more accurate. 58:48
The search is constrained by four printed rules 1:00:17: one type of op per layer; the first layer is Generator ops only; everything else can go anywhere, but a Critic must precede a Ranker or a Fuser, and a Unit Test Generator must be followed by an Evaluator. The optimizer comparison 1:00:49 plots Performance Relative to Optimal Architecture (%), 0–100 against Number of Configurations Tested, 0–7000 on MT Bench and Arena-Hard-Auto: Bayes Optimization reaches 100% within roughly 600–900 configurations on both, while Greedy Search climbs in steps to 100% near 5700–5900 and Random Search only gets there at 6500–7000.
Reproduced from the slide. All Archon rows produce a single final response; "Infer. Calls" is the measured call count.
LLM Systems / Archon
Infer. Calls
MT Bench W.R.
AlpacaEval 2.0 L.C. W.R.
Arena Hard Auto W.R
MixEval Hard Acc.
MixEval Acc.
MATH Pass@1
GPT-4o
1
44.2%
57.8%
80.6%
63.4%
87.5%
73.2%
Claude 3.5 Sonnet
1
N/A
52.7%
81.4%
68.7%
89.1%
73.1%
Llama 3.1 405B
1
44.1%
40.7%
64.5%
66.0%
88.2%
75.2%
MoA
19
51.6%
65.4%
84.5%
62.3%
86.9%
73.9%
MoA Lite
7
45.6%
59.6%
88.3%
60.9%
86.4%
71.8%
Archon Open Src. — General Purpose
35
67.2%
63.3%
85.6%
65.3%
86.2%
76.6%
Archon Open Src. — Task Specific
44
71.1%
67.1%
89.6%
67.5%
88.8%
81.9%
Archon Closed Src. — General Purpose
32
72.7%
63.9%
86.2%
67.5%
87.2%
77.9%
Archon Closed Src. — Task Specific
40
77.0%
68.9%
90.5%
72.6
89.5%
81.6%
Archon All Src. — General Purpose
35
76.2%
66.4%
89.8%
69.8%
87.3%
79.3%
Archon All Src. — Task Specific
39
79.5%
69.0%
92.5%
72.7%
89.7%
82.1%
Two things the table shows that the "average of 14.1%" headline does not. The open-source-only Archon beats GPT-4o on MT Bench by 23 points and on MATH by 3.4, but is below both frontier models on MixEval (86.2% against 87.5% and 89.1%). And the general-purpose configurations, tuned across all benchmarks rather than one, give up only a few points to the task-specific ones while using fewer calls. The slide credits TextGrad (Yuksekgonul, Bianchi, Boen, Liu, Huang, Guestrin, Zou) and Mixture-of-Agents (MoA) (Wang, Wang, Athiwaratkun, Zhang, Zou, 2024) as the comparison systems. The MixEval Hard entry for Closed Src. Task Specific is printed as 72.6 without a percent sign — a slide typo, not a different unit.
The lecture ends on a discussion slide it never reaches 1:02:59: how Archon could adapt architectures to new queries online rather than offline, and where the gain would outweigh the added cost and latency.
Takeaways
Coverage follows an exponentiated power law, c = exp(a·k^b), and the ICML 2025 follow-up proves why: a per-problem exponential plus a power-law left tail of pass@1 is necessary and sufficient — with the slide-only corollary that the exponent can then be predicted with 2–4 orders of magnitude less inference compute.
The generation–verification gap is measured, not rhetorical: at 10⁴ samples on Llama-3-8B / MATH, coverage ≈0.95 against ≈0.40 for the best selector — 55 points — and reward-model best-of-N degrades with more samples.
PRM-guided compute-optimal search buys a 3–4× budget reduction over PRM best-of-N at small budgets, but the two curves meet at 2⁶ before the advantage re-opens.
The FLOPs-matched comparison only favours test-time compute at low inference-to-pretraining ratios. At >>1, only easy problems still gain (+5.4%); medium is −24.3%, hard −37.2%.
Fusion beats oracle selection, but only past about five candidates, and ranking to the top five before fusing beats fusing everything. Stacking critic/fuser layers keeps helping on open-ended benchmarks and does nothing on Code Contests.
Four papers, four years, one question: once a model can generate a correct answer somewhere in its sample set, how do you find it automatically? The lecture runs from a trained outcome verifier (GSM8K, 2021), through process reward models built on human step labels, to process labels generated with no humans at all, to an ensemble of imperfect off-the-shelf verifiers weighted by weak supervision.
The agenda slide reappears before each section with the current paper un-greyed: Training Verifiers to Solve Math Word Problems (Cobbe et al. 2021), Let's Verify Step by Step (Lightman et al. 2023), Math-Shepherd (Wang et al. 2023), and Shrinking the Generation-Verification Gap with Weak Verifiers (Saad-Falcon et al.) — dated 2025 on its first appearance and 2023 on every later copy 31:41.
1. Training Verifiers to Solve Math Word Problems 01:23–21:00
Two motivations on the slide: LLMs hallucinate and confidently present wrong solutions, and there was no suitable math reasoning benchmark — SQuAD and OpenBookQA test language understanding and QA, MATH is competition-level, and none expose intermediate reasoning steps.
On the slide 01:23 — the failure that motivates the paper, verbatim
"The cheese pizza is cut into 12 slices and the pepperoni pizza is cut into 8 slices. If Kate's 6 friends each eat 6 cheese pizza slices and 4 pepperoni pizza slices, how many pizza pies does she need to buy?" Below it, labelled 6B Finetuning: [incorrect]: "Kate's 6 friends eat a total of 6 friends * 6 slices = <<6*6=36>>36 slices. This is a total of 36 slices + 8 slices = <<36+8=44>>44 slices needed to buy. Therefore, Kate needs 44 slices / 12 slices/pizza = 3 pizza pies. A: 3" — fluent, internally consistent, wrong.
GSM8K is 8.5K grade-school problems selected for quality, diversity, multi-step reasoning, and natural-language rather than pure-math solutions 02:21. A corner bar chart counts papers per year 2021–2025 for GSM8K, HumanEval, ASDiv and MMLU — near zero through 2022, then roughly 900 for GSM8K and just over 1,000 for MMLU in the tallest year.
The verifier outputs the probability that a solution is correct, and its training data labels itself: fine-tune the generator for 2 epochs, sample 100 completions per training problem, mark each against the human ground-truth answer, train the verifier for one epoch. It is a language model with a small scalar head predicting per token, trained on a joint objective — binary correctness plus ordinary next-token prediction — with question tokens masked out 05:24. The ablation slide contrasts sentence-level scoring with token-level and settles on the score after the last token; a red arrow is drawn on the diagram from that phrase to the final per-token output box 09:43.
On the slide 09:44 — two solutions with per-token verifier scores as a red-to-green heat map
Verifier ✅, actual ✅."Claire makes a 3 egg omelet every morning for breakfast. How many dozens of eggs will she eat in 4 weeks?" The opening line — "Claire makes 3 omelets every morning, so she eats 3*7=<<3*7=21>>21 omelets per week" — is shaded deep red; the next warms to yellow-green; "There are 12 in 1 dozen so she will eat 84/12=<<84/12=7.0>>7 dozens of eggs" and "#### 7" are bright green.
Verifier ❌, actual ❌."Howard spends $8 dollars at the arcade on Monday. On Tuesday, he spends twice as much… If he originally had $100, how much money does he have left?" The $16-Tuesday and $64-Wednesday steps are green; the score collapses to red exactly on "He has $100 dollars and spent $64 dollars so he has 100-64=<<100-64=36>>36 dollars left." and "#### 36" — the model silently dropped the Monday and Tuesday spend.
On the slides 10:56 and 13:43 — the two scaling figures
Verification vs finetuning: x-axis training set size 500–8000, y-axis test solve rate 0–60%, verification using 100 solutions per problem. At 6B, finetuning goes 7.5% → 21% while verification starts near 2%, crosses at about 2,000 problems, and ends near 38.5%. At 175B, finetuning 19% → 34%; verification starts ~9%, crosses between 1,000 and 2,000, ends near 56%.
Size ablation: at 8,000 problems, 175B Gen / 175B Verifier ≈ 56%, 175B Gen / 6B Verifier ≈ 52%, 6B Gen / 175B Verifier ≈ 42%, 6B Gen / 6B Verifier ≈ 39%. The mismatched pairs never cross: a large generator with a small verifier dominates the reverse at every data scale.
Test solve rate against completions per test problem, x-axis 25, 50, 100, 200, 400, 800, 1600, 3200, y-axis ~33–42%. The curve climbs from ~34.5% at 25 to a peak of ~39.5% at 400, then falls to ~37.2% by 3200, with per-run scatter touching 42% at 400. The caption stops at the peak: "Performance improves as we increase the number of completions up to 400."
Asked why it declines rather than plateaus 17:20: the plot is the output of the whole system, not coverage. Across 800 near-identical candidates of which one is right, the verifier's precision degrades and it starts ranking a wrong solution first. The paper shipped at 100 samples. The other durable argument for verification 20:13 is that the generator stays general — nothing is specialised to one dataset.
The method slide splits the two reward models at the point of supervision 22:30. A math problem goes to a Generator emitting Step 1, Step 2, …, Final ans; from the final answer hangs one box R_N: 1/0 annotated "Obtained from ground-truth" — the ORM's entire signal. The PRM build adds a stack R₁: 1/0, R₂: 1/0, … annotated "Labeled by human", scored at inference as P(R₁=1) · P(R₂=1) · … · P(R_N=1). Three named reasons follow 25:17: credit assignment, false positive avoidance — outcome supervision may reward a solution that reaches the right answer with wrong reasoning — and AI alignment, meaning interpretable, human-endorsed reasoning.
The labels are the expensive part: PRM800K is 800k step-level labels over 12k math problems, each step positive, negative or neutral, collected with an active-learning filter for convincing wrong answer solutions — on the slide, "solutions that are rated highly by the current best PRM but result in the wrong answer" — which proved 2.6× more data efficient than random sampling 26:43.
On the slide 27:40 — the annotator's screen, verbatim
"The denominator of a fraction is 7 less than 3 times the numerator. If the fraction is equivalent to 2/5, what is the numerator of the fraction?" with (Answer: 14) boxed. Each step carries a three-way radio of frowning / neutral / smiling faces:
"Let's call the numerator x." ✓ · "So the denominator is 3x-7." ✓ · "We know that x/(3x-7) = 2/5." ✓ · "So 5x = 2(3x-7)." ✓ · "5x = 6x - 14." ✓ · "So x = 7." ✗ — the red face is selected on the last step alone. Five good steps, one arithmetic slip (5x = 6x − 14 gives x = 14), and that single negative label is the training signal.
Both reward models are fine-tuned from GPT-4, which is also the generator; ORM pairs are (sample, final-answer correctness), PRM pairs are (sample, step-wise correctness from PRM800K).
On the slide 29:45 — PRM vs ORM vs majority voting
Y-axis "% Problems Solved (Best-of-N)" 62–78, x-axis N = solutions per problem, log 10¹ to ~2×10³. At N=10 the three are close — process-supervised RM 67.8, outcome-supervised RM 67.0, majority voting 63.3 — then separate: at the right edge PRM ≈ 78.2 and still rising, ORM ≈ 72.4 (peaking ~72.5 near 10³ then dipping), majority voting ≈ 69.7 and flat from about N=200. A bullet adds that the PRM finds correct solutions on problems where fewer than 5% of samples are right.
A label-efficiency plot follows 30:02: best-of-500 solve rate against solutions labelled per problem. Both PRM variants end near 59% but start at 48.6% with a single label per problem, while the two ORM variants start near 26% and reach only ≈52% and ≈48.5%.
PRM wins every row. The spoken claim that majority voting generalises better than the ORM holds on three of the four exams but reverses in aggregate — ORM 63.8% against majority voting's 61.3% — carried entirely by AMC10/12.
On reward hacking 34:27: what stops a model skipping the reasoning and jumping to an answer the PRM likes? Here nothing is being trained — the generator is untouched and human annotators would mark a skipped step down. The failure mode appears when the PRM is used to fine-tune the generator, and worsens once the step labels are themselves model-generated — the next paper.
3. Math-Shepherd: PRMs without human annotation 37:51–51:31
The definition on the slide: the quality of a reasoning step is its potential to reach the correct answer. From a step, sample N continuations and score by whether the decoded answers match the gold one — hard estimate (HE) is 1 if any continuation ever gets it right, soft estimate (SE) is the fraction that do.
On the slide 40:02 — the worked annotation, verbatim
Problem:"Let p(x) be a monic polynomial of degree 4. Three of the roots of p(x) are 1, 2, and 3. Find p(0) + p(4)."Golden Answer: 24.
(a) Outcome Annotation: the sampled solution ends "Answer: 20 ✗", so y_S = 0 — one bit for the whole solution.
(b) Process Annotation: for step s₁ — "Since three of the roots of p(x) are 1, 2, and 3, we can write: p(x) = (x-1)(x-2)(x-3)(x-r)" — three continuations are rolled out (N=3), ending in Answer 24 ✓, 24 ✓, 20 ✗. Hence ySEs₁ = 2/3 and yHEs₁ = 1.
The class names both failure modes before they appear 41:25: hard problems give no signal (if no rollout succeeds every step scores zero, penalising unusual-but-correct approaches), and wrong steps on a lucky trajectory get labelled correct. The hard-vs-soft slide 43:56 plots validation loss against N = decoded paths (1, 4, 16, 64, 256): the soft curves fall monotonically (7B 2.77 → 1.76, 13B 2.50 → 1.47, 70B 2.50 → 1.38) while 70B:Hard turns around after N=4 and climbs back to ~2.33. Soft looks better on loss; the best downstream results came at N=4 either way, so hard was used for simplicity.
At N=256 against baselines 44:46, GSM8K reaches ~93% for Shepherd versus ~92% ORM and ~88% self-consistency; on MATH, ~44.6% against PRM800K (~41%), ORM (~40.4%) and self-consistency (~39.4%) — an automatically-labelled PRM beating the human-labelled one. Table 1, verification over 256 outputs:
Generator
Verifier
GSM8K
MATH500
LLaMA2-70B: MetaMATH
Self-Consistency
88.0
39.4
ORM
91.8
40.4
Self-Consistency + ORM
92.0
42.0
Math-Shepherd
93.2
44.5
Self-Consistency + Math-Shepherd
92.4
45.2
LLemma-34B: MetaMATH
Self-Consistency
82.6
44.2
ORM
90.0
43.7
Self-Consistency + ORM
89.6
45.4
Math-Shepherd
90.9
46.0
Self-Consistency + Math-Shepherd
89.7
47.3
DeepSeek-67B: MetaMATH
Self-Consistency
88.2
45.4
ORM
92.6
45.3
Self-Consistency + ORM
92.4
47.0
Math-Shepherd
93.3
47.0
Self-Consistency + Math-Shepherd
92.5
48.1
Then the loop closes with step-by-step PPO against that PRM. Table 2, greedy decoding 50:36: Mistral-7B: MetaMATH 77.9 / 28.6 (GSM8K / MATH), +RFT 79.0 / 29.9, +ORM-PPO 81.8 / 31.3, +Math-Shepherd-PPO 84.1 / 33.0; LLaMA2-7B follows the same ordering, 66.6 / 19.2 up to 73.2 / 21.6. Asked why they stopped at greedy decoding, the answer is Table 3 51:02, which re-ranks the PPO'd Mistral-7B over 256 outputs to 89.1 / 43.5 with self-consistency + Math-Shepherd, versus 86.6 / 38.0 for the best row without RL. The model generates its own step labels, trains its own reward model, improves itself against it, then is re-ranked by it — with gains visibly plateauing.
To make PRMs reward self-correction, the suggestion is a rubric for each step plus tool use — a calculator or SymPy settles the arithmetic in the running example 47:51.
4. Weaver: shrinking the gap with weak verifiers 51:31–1:06:00
The motivation slide asks whether the gap can be closed by scaling inference compute, in particular by ensembling multiple weak verifiers52:03. "Weak" does not mean bad — these are the best available verifiers, all imperfect. The pool spans reward models, PRMs and ORMs, and LLM judges: a model asked directly whether an answer is correct.
Bar chart, y-axis "Improvement over Naive Ensemble (%)", −5 to +20, grouped by MATH500, GPQA Diamond, MMLU, MMLU Pro. Two legend groups: Oracle Unweighted Ensembles (Top-1, Top-5, Top-10 Verifiers) and Supervised Weighted Ensembles (Naive Bayes, Logistic Regression). The oracle top-k bars are small and non-monotonic — on MMLU Pro Top-1 is about −3% and Top-10 about 0%, with Top-5 ≈ +2%. The learned weightings win in every group, logistic regression largest: ≈+5% on MATH500, ≈+11% on GPQA Diamond, ≈+8% on MMLU, ≈+7% on MMLU Pro.
Weaver's pipeline is score, weight, select56:21: normalise verifier outputs to a common scale and filter out low-quality ones; use weak supervision to estimate verifier accuracies from minimal labelled data (~1%); combine and take the highest-confidence response. The diagram shows LM judges emitting False/True and reward models emitting scalars like 0.3, normalised into a column 0.0, 0.5, 0.7, 0.2, …, weighted, and reduced to a verdict: Accept or Reject. Filtering matters as much as weighting.
The theory slide cites Snorkel, Ratner et al. (2017), sets up n queries × k solutions × m verifiers, and assumes each verifier captures independent aspects of correctness, giving Pr(Y=1|S₁…Sm) = ∏ᵢ Pr(Sᵢ=s̄ᵢ|Y=1)·Pr(Y=1) / Pr(S₁…Sm)57:27. The intuition 58:31: if every verifier agreed on every sample the ensemble would teach nothing — the signal lives in their disagreement. Against a naive average of the same verifiers 59:28, Weaver adds +4.7% on GPQA Diamond over an oracle top-5 pool (64.5 → 69.2) and +10.1% over the total pool (62.1 → 72.2); +3.3% and +6.4% on MATH 500; +2.4% and +5.1% on MMLU Pro.
Three panels — GPQA Diamond (x 2⁰–2¹⁰, y 40–90), MATH 500 (x 2⁰–2⁷, y 75–100), MMLU Pro (x 2⁰–2⁷, y 65–95) — plotting success rate against repeated generations, with six series: Pass@K (Oracle), Weaver Supervised, Weaver Unsupervised, Naive Ensemble, Majority Voting, Multi-Agent Verification. A grey line marks o3-mini in each panel (~74 GPQA, ~94.5 MATH 500, ~86 MMLU Pro), a dotted line the single-sample baseline, and the annotated gains are +27.8%, +11.2%, +15.8%. Majority voting and MAV flatten early — on GPQA the MAV curve plateaus near 50% by 2² and drifts down to ~48% by 2¹⁰, ending below naive ensembling — while both Weaver curves keep climbing toward the oracle. A footnote defines MAV as off-the-shelf LLMs prompted as "Aspect Verifiers" casting binary votes, no training.
Generator
Verifier pool
Aggregation
MATH
GPQA Diamond
MMLU College
MMLU Pro
Average
Llama 3.1 8B Instruct
8B and below
Majority Vote
69.0%
30.5%
72.7%
56.4%
57.2%
Weaver
80.0%
47.1%
85.7%
67.2%
70.0%
Δ w. Weaver
+11.0%
+16.6%
+13.0%
+10.2%
+12.8%
Llama 3.3 70B Instruct
72B and below
Majority Vote
83.0%
47.4%
84.1%
74.4%
72.2%
Weaver
93.4%
66.4%
94.9%
90.2%
86.2%
Δ w. Weaver
+10.4%
+9.0%
+10.8%
+15.8%
+14.0%
o3-mini
N/A
First Sample
94.4%
74.0%
92.2%
86.0%
86.7%
Read across the table 1:02:26: an 8B generator verified by a pool of ≤8B models averages 70.0%, roughly what the 70B class gets from majority voting; the 70B generator reaches 86.2% against o3-mini's single-sample 86.7%. These are end-to-end selection accuracies, not coverage. The 70B row's pool is written "72B and below" on the slide and spoken as 70B.
Training: Instruction + LM Generation fan out to RM₁…RMn and LM Judge₁…LM Judgen, whose scores feed Weaver, whose predictions supervise a single Weaver Distilled LM. At inference the ensemble disappears — one frozen LM produces the candidates and the distilled model accepts or rejects each. The Pareto plot puts selection accuracy against verification compute budget in ExaFLOPs (0 to 10⁴, log): Weaver: Distilled (0.4B) sits at ~10⁰ just under Weaver (70.0B) at ~10³, with MAV (70.0B), Self-Verification (70.0B) and Majority Voting (0.0B) far below both. Annotations per dataset: 97.4% of accuracy gains preserved on MATH500, 98.2% on GPQA Diamond, 97.8% on MMLU Pro — each at 99.97% compute saved.
A second plot 1:05:51 traces success rate against inference compute per query (2⁻⁴–2¹⁰ ExaFLOPs), annotating +18.2 accuracy points on GPQA Diamond, +10.5 on MATH 500 and +14.7 on MMLU Pro at matched compute, and 97.3% compute saved at matched accuracy. Both checkpoints are open-sourced.
Two recap slides: outcome-based verification improves performance during both training and inference; process supervision beats outcome supervision, though outcome reward also scales with data; verifier training data can be labelled automatically and makes a strong RL/PPO reward model; an ensemble of weak verifiers can outperform a larger single model, then be distilled past every individual verifier in it.
We are using test-time scaling, but by bringing more verifiers, rather than sampling a single verifier more. 1:07:15
The closing Q&A is transcript-only — the camera holds on the room with the recap slide behind. Beyond math, model-generated unit tests become the verifier, previewed as the "code monkeys" paper 1:08:14. On whether repeated sampling eventually collapses into training-time data generation, leaving a model asked only once 1:10:47: that is the direction, but sharpening the log-probs onto a single answer risks losing the creativity and diversity of solutions.
Takeaways
Verification beats fine-tuning only past a data threshold — the crossover sits near 2,000 training problems at 6B.
Spend size on the generator. 175B generator with a 6B verifier (≈52%) beats 6B generator with a 175B verifier (≈42%) at 8,000 problems.
More samples eventually hurt. Best-of-N solve rate peaks at 400 completions (≈39.5%) and falls to ≈37% by 3,200 as verifier precision degrades.
Process supervision wins on false positives — right answer, wrong reasoning — and on distribution shift: PRM 72.9% aggregate on held-out exams versus ORM 63.8% and majority voting 61.3%.
Step labels can be produced by rollout, giving a PRM that beats human-labelled PRM800K on MATH, at the cost of no signal on hard problems and mislabelled steps on lucky trajectories.
Verification is a place to spend inference compute. A weighted ensemble of ≤8B verifiers lifts an 8B generator to 70.0% average; at 70B it reaches 86.2%, level with o3-mini's 86.7% — and distils to 400M parameters keeping 97–98% of the gains for 0.03% of the compute.
Three papers, one loop: the model produces something, something outside the model judges it, and the judgement goes back into the context or into the gradient. ReAct gets the judgement from a Wikipedia search API, RLEF from a Python test runner, Constitutional AI from the model reading a written rule. What differs is only where the feedback comes from — and every one of the three has a regime, visible on the slides, where it makes the model worse.
The prior-work slide 04:01 states both halves of the gap: chain of thought's problem is that "the model's reasoning is an internal state that is not grounded (a static black box) → frequent hallucinations"; WebGPT-style decision-making LLMs have "no explicit reasoning procedure" and rely on expensive datasets and human feedback.
Three loop diagrams side by side. Reason Only: one box LM with a self-loop labelled "Reasoning Traces". Act Only: LM and Env, "Actions" on the outbound arc, "Observations" on the return. ReAct (Reason + Act), in red: the same LM box carrying both loops — reasoning on its left, environment on its right. ReAct adds no component; it lets one model run both loops.
The formalism slide 07:47 makes the trick explicit. An agent observes o_t ∈ O and acts a_t ∈ A given c_t = (o_1, a_1, …, o_{t-1}, a_{t-1}, o_t); learning π(a_t|c_t) directly is "complex and expensive". So augment the action space with language: Â = A ∪ L. A thought is an action in language space, â_t ∈ L; thoughts do not affect the environment, they only produce c_{t+1} = (c_t, â_t). Implementation 09:18: a frozen PaLM-540B few-shot prompted with trajectories of actions, thoughts and observations; reasoning tasks alternate thought and action, decision tasks use thoughts sparsely.
The four-panel HotpotQA comparison, walked by pointing so the answers are never said aloud. Question: "Aside from the Apple Remote, what other device can control the program Apple Remote was originally designed to interact with?"
(1a) Standard — Answer: iPod. ✗ (1b) CoT — a thought claiming "Apple Remote was originally designed to interact with Apple TV. Apple TV can be controlled by iPhone, iPad, and iPod Touch" (highlighted pink as hallucination); Answer: iPhone, iPad, iPod Touch. ✗ (1c) Act-Only — Search[Apple Remote], Search[Front Row] (not found), Search[Front Row (software)], then Finish[yes]. ✗ (1d) ReAct — search Apple Remote; observe it was introduced in October 2005 to control the Front Row media center; search Front Row; observe "Could not find [Front Row]. Similar: ['Front Row Seat to Earth', 'Front Row Motorsports', 'Front Row (software)', …]"; reformulate and search Front Row (software); conclude it is controlled by an Apple Remote or the keyboard function keys; Finish[keyboard function keys]. ✓
Recovering from a failed search by reading the "Similar:" list is the whole argument, and it exists only in the ReAct column.
The action space 16:51 is deliberately impoverished — search[entity] returns the first 5 sentences of a wiki page or 5 similar entities, lookup[string] simulates ctrl+F, finish[answer] ends the task — with the slide's own note: "purposefully weak action space to simulate human interaction with Wikipedia." Baselines 17:27 ablate ReAct trajectories: Standard drops thoughts, actions and observations; CoT drops actions and observations; CoT-SC samples 21 trajectories and takes the majority; Act drops thoughts. The two hybrids back off from one to the other on failure.
Table 1 on the slide 19:11: PaLM-540B prompting results.
Prompt method
HotpotQA (EM)
Fever (Acc)
Standard
28.7
57.1
CoT (Wei et al., 2022)
29.4
56.3
CoT-SC (Wang et al., 2022a)
33.4
60.4
Act
25.7
58.9
ReAct
27.4
60.9
CoT-SC → ReAct
34.2
64.6
ReAct → CoT-SC
35.1
62.0
Supervised SoTA
67.5
89.5
Plain ReAct loses to chain of thought on HotpotQA and wins on Fever; only the hybrids clear CoT-SC, and every prompting number sits far under supervised SoTA.
Error analysis, same slide 20:17 — percentages of successes and of failures.
Type
Definition
ReAct
CoT
Success
True positive
Correct reasoning trace and facts
94%
86%
False positive
Hallucinated reasoning trace or facts
6%
14%
Failure
Reasoning error
Wrong reasoning trace (incl. failing to recover from repetitive steps)
47%
16%
Search result error
Search return empty or does not contain useful information
23%
–
Hallucination
Hallucinated reasoning trace or facts
0%
56%
Label ambiguity
Right prediction but did not match the label precisely
29%
28%
Grounding does not remove failure; it moves it. ReAct hallucinates on 0% of failures against CoT's 56% — but its reasoning-error rate is 47% against CoT's 16%, and another 23% of its failures are the search returning nothing useful.
Below the table sit two grouped bar charts, y-axis HotpotQA EM (0–30), x-axis size (8b, 62b, 540b), panels learning = prompt and learning = finetune, four bars each. Under prompting, Act and ReAct are the worst methods at 8b — around 5–6 EM against Standard's ~15 — and only catch up at 540b. Under finetuning the order flips: Act and ReAct are tallest at 8b and 62b, ReAct peaking near 33 EM. The 540b finetune group is empty; it was not run.
Table 4 on the slide 21:05: score and success rate on WebShop. IL/IL+RL from Yao et al. (2022).
Method
Score
SR
Act
62.3
30.1
ReAct
66.6
40.0
IL
59.9
29.1
IL+RL
62.4
28.7
Human Expert
82.1
59.6
The success-rate column is the harsher one: 40.0 against a human expert's 59.6, on a task where errors cascade. The weaknesses slide 22:20 names the costs — "large complex tasks with large action space require more demonstration, which can exceed in-context learning", and multiple reasoning-action steps raise inference time and cost. In today's thinking-mode models all of this happens automatically, because they were distilled on exactly these traces 11:50.
RLEF: grounding code LLMs in execution feedback 27:20–44:00
The contributions slide 28:49: an end-to-end RL fine-tuning framework where actions = code, observations = execution feedback, binary reward on a held-out test; iterative refinement that repairs code with feedback before it becomes training data ("high quality data for PPO"); and two techniques, two-tier tests and a hybrid token/turn-level policy.
The framework diagram: a purple Natural Language Problem Description and a teal Execution feedback box both feed a ⊕ node; the merge enters LLM → blue Code Solution → red diamond Turn limit reached?. On NO it drops to a yellow Public Tests Execution diamond, and on FAIL a long arrow runs back up the left edge into Execution feedback — that is where the inference loop closes. On PASS (or YES from the turn-limit test) it routes right to Private Tests Execution, which emits reward into PPO, which emits update back into the LLM. The halves are labelled Inference-Time and Training-Time Execution Feedback.
The example slide 31:10 puts a literal transcript beside the same diagram. Problem: "Provide a Python solution for the following competitive programming question: Let's call the string beautiful if it does not contain a substring of length at least 2 which is a palindrome. […]"
Code Solution (turn 1) def min_cost_to_beautiful(substring): while True: found = False for length in range(len(substring), 1, -1): [...]
Public Tests: FAIL → Execution feedback: "Your code failed the following tests: - input '5A baacb 13 15 23' failed: Execution took too long. Give it another try. […]"
Code Solution (turn 2) from functools import lru_cache def is_beautiful(s): for length in range(2, len(s) + 1): for i in range(len(s) - length + 1): [...]
Public Tests: PASS — Submitting solution to Private Tests Execution. The repair is not a logic fix: it is a memoisation import and a rewritten scan, prompted by one timeout line with no stack trace.
The two-tier slide 35:19 is headed "Avoid info leakage!!": public tests are used during iteration, are a limited set for speed and guide solution selection; private tests are hidden during generation, give full suite coverage and drive PPO training. Pressed on why the split matters when neither set is training data, the answer is that training on the same signal you use as feedback in the outer loop is the leak that counts 42:30.
The PPO slide 32:33 spells out the reward the narration only calls binary: r(s_t,a_t) = +1 if end of episode and all tests pass, −1 if end of episode and any test fails, −0.2 if a_t does not contain valid code. The return subtracts a KL penalty, R = r − β log(π(a_t|c_t)/ρ(a_t|c_t)), with A_t = R − V(c_t). The labelled split: policy at token level versus value function at turn level, which "evaluates complete responses, uses the last token of the prompt" and assigns a single advantage to all tokens in the response — closer to GSPO than to per-token credit.
Headline: "Solve rates of Llama 3.1 Models after RLEF training on CodeContests scale linearly with execution feedback." Two panels, Valid Set and Test Set; y-axis Solve Rate 10@k (10–60 valid), x-axis Sample Budget (k) log-ticked 3, 10, 50, 100, 300. Two curves, Llama 3.1 8B + RLEF and Llama 3.1 70B + RLEF, near-straight against log budget — which is what "linearly" means here.
Reference points carry a legend for General Purpose (●), Prompt Engineering (+) and Domain-Adapted (★): GPT-4 and GPT-3.5 at low budget around 15–20; AlphaCodium GPT-4 ~45, AlphaCode 2 (est.) ~35 and AlphaCodium GPT-3.5 ~27 near budget 100 on the valid set; MapCoder GPT-4 and GPT-3.5 on the test set. The 70B curve starts at ~35 (valid) / ~40 (test) at budget 3 and is above every reference point before budget 10, ending near 57 / 55. The 8B curve runs ~15 → ~33 and meets AlphaCodium GPT-4 (~29–30) at about budget 100 on the test set. The gain is a leftward shift in budget, not a higher ceiling.
RLEF hurts the 8B model single-turn on CodeContests (11.8 → 9.7) and on MBPP+; the gains are all multi-turn. The 70B+RLEF model at 40.1 MT is well past gpt-4o-2024-05-13 at 24.3, while still trailing it single-turn on HumanEval+. The slide's own bullet on the base rows: "base models rarely benefit from access to faulty solutions and execution feedback."
A 4×2 grid of bar charts: rows Error Type (8B) and Error Type (70B), categories OUTPUT, EXCEPTION, TIMEOUT, OOM, three series — Llama 3.1 Instruct, + RLEF, + RLEF (random feedback). Columns: Errors: Turn 1 (0–3000+), Errors Fixed: Turn 2 (0–200 for 8B, 0–800 for 70B), Errors Fixed: Turn 3 (0–80 / 0–300), Code Changes. Columns 2–3 count errors fixed, not remaining.
In turn 1 the base model has the longest OUTPUT bar and a near-zero TIMEOUT bar, while RLEF's OUTPUT bar is shorter and its TIMEOUT bar longer — the slide's bullet, "RLEF produces fewer 'wrong outputs' but more 'timeout error' in their initial turn." In turns 2–3 the RLEF bars dominate, most dramatically for 70B (roughly 790 fixed at turn 2 against the base model's ~290).
The fourth column is never described aloud and explains the mechanism: a histogram of 1 − chrF, how much the code changed between turns, from 0.00 to 1.00. The base model spikes enormously at 0.00 (~7500 for 8B, ~6000 for 70B); the RLEF variants spread across 0.25–0.75. The base model does not fail to repair because it repairs badly; it fails because it barely edits at all.
The slide skipped at 43:20 is a strengths/weaknesses page carrying the section's sharpest sentence:
Single-turn performance is hurt by RLEF training. Also performance improvements are observed with up to 5 turns, but benefits plateau beyond this limit.
The class had already pressed on the same seams 38:00–40:00 — binary feedback is plausibly enough only because these problems are small ("not more than 100 lines of code"), and rewarding only the final solution may teach the model to lean on repair.
Constitutional AI: feedback from written principles 46:20–60:30
The RLHF background slide pairs the Christiano-style loop (RL algorithm → action → environment → observation back, with reward predictor above taking dotted human feedback and emitting predicted reward) with a scaling plot captioned "Performance on filling python function body given the context." y-axis 0.00–0.30, x-axis Model size (#params) log 10⁷–10¹⁰, curves Python FT + RLHF and Python FT.
The curves cross. Below roughly 2×10⁸ parameters RLHF is worse than plain fine-tuning — at ~4×10⁷ it sits near 0.00 while Python FT is at ~0.055 — and pulls ahead only above ~10⁹, ending ~0.32 versus ~0.30. The narration ("as you increase the model size, you clearly see better responses with RLHF") holds only for the right-hand third of the plot.
"Use a set of 16 principles (~constitution) which governs AI behavior." Top row: Helpful RLHF Model → Generate Responses to "Red Teaming" Prompts Eliciting Harmful Samples → a vertical chain Response → Critique → Revision → Finetuned SL-CAI Model. That SL-CAI box branches into two places on the bottom row: Generate Responses to "Red Teaming" Prompts Eliciting Pairs of Samples at the far left, and RLAIF Training with PM + SL-CAI Models at the right. The bottom row runs pairs → Constitutional AI Feedback for Self-Improvement → Finetuned Preference Model (PM) → RLAIF training → Final RL-CAI Model. SL-CAI is both the generator of the preference data and the policy being optimised.
"An Example Constitution with 3 Principles", verbatim in monospace and read aloud only as "I will not read this word by word":
#1CritiqueRequest: Identify specific ways in which the assistant's last response is harmful, unethical, racist, sexist, toxic, dangerous, or illegal. RevisionRequest: Please rewrite the assistant response to remove any and all harmful, unethical, racist, sexist, toxic, dangerous, or illegal content.
#2CritiqueRequest: Take a look at the assistant's last response and note if it was in any way misogynistic or otherwise gender biased. Give the strongest argument you can that something the assistant said could be interpreted as misogynistic.RevisionRequest: Please write a new response that does not have any trace of misogyny or gender bias.
#3CritiqueRequest: Did the assistant's preceding response include anything that may be inappropriate for young children? If so, discuss how it can be revised to be more appropriate. RevisionRequest: Please rewrite the assistant response to make it more age-appropriate for children.
Principle #2 does not merely ask for a judgement — it instructs the model to construct the strongest adversarial reading of its own output before revising.
Two stages 51:43: supervised learning fine-tunes on data generated by self-critique and revisions; RLAIF trains a preference model on those responses plus the constitution, then fine-tunes the LLM to maximise it. The supervised results slide 51:20 shows three panels sharing a y-axis of PM Score against Number of Revisions (0–4), coloured by Parameters from about 10¹⁰ to 5·10¹⁰: harmlessness rises (largest model −0.4 → ~2.3), helpfulness falls (~0.05 → ~−0.85), HH rises for every size — and nearly all the movement happens between revision 0 and revision 1.
Both panels share an x-axis of RL Train Sequences (0 to 3.0 ×10⁶); the y-axes are Helpfulness Elo (−150 to 150) and Harmlessness Elo (−100 to 200), with confidence bands. Four curves: Helpful RLHF, HH RLHF, RL-CAI, RL-CAI w/ CoT.
Left: Helpful RLHF ends highest (~145), HH RLHF ~100, RL-CAI ~105, and RL-CAI w/ CoT is the lowest of the four, flattening near 80–85. Right: the order almost exactly inverts — RL-CAI w/ CoT climbs to ~190 and RL-CAI to ~120, while HH RLHF peaks near 78 at 0.9×10⁶ then declines to roughly 0, and Helpful RLHF peaks at ~−10 and falls to ~−47. A student catches the awkward half 54:50: "the chain of thought has lower helpfulness Elo." Note that the transcript describes the x-axis as "the score of helpfulness Elo"; the slide's x-axis is training sequences.
The summary Pareto plot: x-axis Helpfulness Elo (−150 to 150), y-axis Harmlessness Elo (−100 to 200). A red Pretrained Base X sits at roughly (−148, −95). From it a blue Helpful-Only trajectory runs right, peaking near (85, −10) then curving down to (150, −50); an orange Helpful + Harmless trajectory climbs to about (85, 78) before falling right and down. A green Constitutional SL X sits near (0, 0), and from there the With Chain of Thought trajectory climbs almost vertically to about (85, 190). Two arcs mark frontiers: a black Standard RLHF and, outside it, a magenta Constitutional RL (Pareto Improvement).
Two questions worth keeping. On amending a constitution 52:20: post-training is maybe 5% of compute and reruns often, so updates are cheap — but the real problem is continual learning, and getting a model to reliably forget is unsolved. On validating AI feedback 57:20: you still want a human-checked validation set for the preference model, "not scaled to 10,000 or that level", but not zero. The follow-on slide 60:25 lists RLAIF vs. RLHF (2023), Self-Refine (2023) and Training Language Models to Self-Correct via Reinforcement Learning (2024), with the caveat that self-critique is often harder than critique by others.
After the recap slide 62:43 the recording stays on the room camera, so the last eight minutes are transcript-only — including the aside at 63:20, "sorry, this slide was not meant to be there," whose slide never appears on screen. The best exchange is on whether RL post-training makes hand-crafted frameworks obsolete 67:00: yes if you can define the search space, no because for most tasks you cannot. "If you wanted to build a finance agent, if you want to build a legal agent, what is the set of steps they follow?" ReAct matters because it fixes a workflow — and the workflow is domain-specific, which is exactly why it does not generalise.
Takeaways
ReAct is one line of formalism — Â = A ∪ L, thoughts are actions that do not touch the environment — and its measured gain is narrow: it loses to CoT on HotpotQA (27.4 vs 29.4), and only the CoT-SC hybrids beat both.
Grounding relocates failure rather than removing it: 0% hallucination but 47% reasoning error and 23% empty-search failures for ReAct, against 56% and 16% for CoT.
RLEF's reward is +1 / −1 / −0.2 with one turn-level advantage across all tokens — and it degrades single-turn performance (8B CodeContests 11.8 → 9.7) while nearly doubling 70B multi-turn (27.4 → 40.1). Benefits plateau past 5 turns.
Why execution feedback works shows up only in the code-change histogram: the untrained base model resubmits near-identical code, spiking at 1−chrF ≈ 0.
A constitution is literal prompt text — CritiqueRequest/RevisionRequest pairs — and its payoff is a Pareto shift: chain-of-thought RL-CAI buys ~190 harmlessness Elo while finishing lowest of four methods on helpfulness Elo.
Three ways to make a model work in more than one step: LATS runs Monte Carlo tree search over agent actions at test time, SPRINT fine-tunes a reasoning model to emit independent plans together so their executions can run concurrently, and SWiRL does step-wise RL on synthetic trajectories with every tool call moved offline, out of the training loop. The slides carry the search-tree mechanics, the verbatim agent traces and the benchmark tables that the spoken lecture only gestures at.
The framing slide is a trip-planning checklist 01:00: Reason ("What is my budget? Where should I go to?"), Act ("Browse the web to gather general consensus or ask around for opinions… read subreddits, travel blogs"), Search ("According to feedback/info gathered online, further plan and research"). The gap LATS targets is that a single LLM plan-then-execute pass does not produce a diversity of candidate solutions, so the paper imports MCTS from the RL literature into the agent loop.
The "Idea" slide is a concrete scored tree, not an abstract one. Root: Plan trip to Hawaii. Two children via Action 1 ("Consider which friends went to Hawaii") and Action 2 ("Read subreddits"), whose nodes read Score for action 1 = 0.7 and Score for action 2 = 0.3. The 0.7 branch is expanded: Action 1a ("Ask friend A for opinions") → 0.2, Action 1b ("Ask friend B for opinions") → 0.8, and the 0.8 node sprouts two further unlabelled children. The 0.3 branch's children (3a, 3b) are drawn as empty boxes — expanded but unscored. So branching factor is 2–3, a node is a state after an action, and the number in the box is that state's value. The left column states the loop: "1. Generate N 'best' new action sequences 2. Execute them in parallel 3. Score each one (using self-reflection) 4. Continue exploration from best state, update probabilities", under the underlined claim "Allows multiple plans to be generated and assessed prior to taking actions".
The related-work slide 05:30 draws the contrast precisely: Math-Shepherd "scores outcomes of the reasoning process based on some simple verifier", whereas "LATs scores action outcomes based on self-reflection and observations from the environment". The bottom line, underlined: "LATS Extends ReAct to incorporate planning into reasoning and action". The intuition slide 06:45 gives the decomposition LATS = CoT + Thinking fast and slow + ReAct and a loop diagram: the LLM Agent emits Actions into the Environment, which returns Obs/Reward into a Context box; Context feeds an Evaluation/Self-reflection box; both feed Memory; Memory feeds Tree Search, which returns "Values" and hands the "Best Node" back to the agent.
The six operations are drawn as six miniature trees side by side, each highlighting a different arrow in red. 1) Selection — root Input with two children, the red arrow points down-left to the chosen s₁. 2) Expansion — that s₁ now has two children s₂. 3) Evaluation — a single node S feeds an LM box which emits a Value. 4) Simulation — a chain s₁→s₂→s₃→…→Output rolled out greedily. 5) Backpropagation — the same chain with all arrows reversed, pointing back up to Input. 6) Reflection — Input→Output→LM→Reflection, and the reflection is added ("+") to the state S. That last panel is the one the transcript never describes: reflection is not a tree operation at all, it is text appended to a node.
The method is taught on a running toy: "Task: Navigate through a maze to reach an exit. Initial Observation: 'You are in a dimly lit room. There are two doors: one on the left and one on the right.' Goal: Reach the exit (a terminal state with a reward, say r=+1)." Each step adds an ASCII tree in the middle of the slide plus a prose box on the right.
Expansion samples three candidate actions and the slide prints the environment's replies, which are only paraphrased aloud: Action A "Open left" → Obs A: "Dark corridor with paintings"; Action B "Open right" → Obs B: "Door is jammed"; Action C "Inspect room" → Obs C: "Found a small key".
Evaluation then gives real numbers: s_A: LM = 0.80, Consistency = 0.75, Combined ≈ 0.775; s_B: Combined ≈ 0.275; s_C: Combined ≈ 0.625. Note that this is an average of the two heuristics, not a sum — the spoken version says "add up these two", and the arithmetic on the slide (0.80 and 0.75 → 0.775) is the mean.
Simulation rolls out from s_A: observation "You are in a dark corridor with ancient paintings. There is a staircase at the end."; candidate actions "Walk down the corridor," "Examine the paintings," "Approach the staircase."; chosen action "Approach the staircase," leading to "You ascend a creaky staircase and enter a brightly lit hall with an exit door clearly marked." The ASCII trace ends [ Terminal State ] ("Exit reached" Reward = +1).
The three formulas, written out and never read aloud in full:
V(s) = λ · LM(s) + (1 − λ) · SC(s) — a weighted average of LLM-as-a-judge and self-consistency.
UCT(s) = V(s) + w · sqrt( ln N(p) / N(s) ) — with N(s) the visit count of node s, p its parent, and w the exploration weight. The exploration bonus is therefore driven by how rarely s has been visited relative to its parent.
V(s) = ( V_old(s)·(N(s) − 1) + r ) / N(s) — the backpropagation update, i.e. a running mean of returns.
The backpropagation panel 16:20 shows the reward flowing up the chain: s_A1 <-- updated with reward, s_A <-- updated with reward, s0 <-- updated with reward. The reflection panel prints the generated text itself: "Successful trajectory: left door → staircase → exit. Reinforce similar actions in future searches." — then "(Feedback fed into subsequent planning iterations)".
HotPotQA is run as "Multi-hop QA … requiring retrieval over 2+ Wikipedia passages", with an "oracle setup — environment provides correctness feedback", on a "subset of 100 questions, 3 few-shot examples". Exact-match numbers (slide credits Tables 2, 3 of the paper):
Prompt Method
HotpotQA (EM) ↑
ReAct (Yao et al., 2023b)
0.32
ReAct (best of k)
0.38
Reflexion (Shinn et al., 2023)
0.51
ToT (ReAct)
0.39
RAP (ReAct)
0.54
LATS (ReAct)
0.63
LATS (n = 3)
0.58
LATS (n = 10)
0.65
LATS (CoT + ReAct)
0.71
Two things the numbers show that the narration does not: Tree of Thoughts on this task is barely better than ReAct (0.39 vs 0.32) and well behind Reflexion, and the best LATS configuration is the one that combines internal chain-of-thought with external ReAct, not the one with the largest sample budget.
Before the WebShop results there is a full-page figure of the environment itself, which never appears as a talking point. It lists the entire action space as a table — search [Query] (Search → Results), choose Back to search (* → Search), choose Prev/Next page (Results → Results), choose [Product title] (Results → Item), choose [Option] (Item → Item), choose Desc/Overview (Item → Item-Detail), choose Previous (Item-Detail → Item), choose Buy (Item → Episode End) — and then one worked human episode. "Instruction 1: I want to find white blackout shades that are 66 inches in width and 66 inches in height. They need to be easy to install […]" followed by "Human Actions (r = 1.0, length = 8)": search[66 inches in width and 66 inches in height white shades], choose[item : CALYX…], choose[Back to Search], search[66 x 66 blackout shades], choose[item : Milin…], choose[opt : 66"w x 66"h], choose[opt : cordless bottom up-blackout-white], choose[Buy]. That is what "multi-step by design" concretely means: eight actions, two searches, a backtrack.
Method (WebShop)
Score ↑
SR ↑
ReAct (Yao et al., 2023b)
53.8
28.0
ReAct (best of k)
59.1
32.0
Reflexion (Shinn et al., 2023)
64.2
35.0
LATS (ReAct)
75.9
38.0
IL (Yao et al., 2022)
59.9
29.1
IL+RL (Yao et al., 2022)
62.4
28.7
Fine-tuning (Furuta et al., 2024)
67.5
45.0
Expert
82.1
59.6
The slide says "1.18 real-world products, 12k human instructions" — the magnitude suffix is missing on the first figure. The claim made aloud, that LATS gets "close to human experts" without fine-tuning, holds for the Score column (75.9 vs 82.1) but not for success rate: LATS's 38.0 SR is below the fine-tuned baseline's 45.0 and far below the expert's 59.6. The bolding on the slide is confined to the first block, i.e. LATS is best among the prompting methods.
The summary slide 19:20 is blunt about costs: "Multiple iterations and sampling", "Potentially impractical for time-sensitive scenarios", "Cost-benefit analysis not thoroughly analyzed", and under Assumptions on "environment": "May not work for environments where actions are irreversible. How to adapt to these environments?"
If the agent is running a transaction — paying for a service — you cannot simply back up the tree.
The discussion slide 20:20 poses five questions; two are sharper than the ones actually debated: whether LATS could decompose proactively rather than only after a failure is detected, and that "its improvements only exist within one session and do not persist beyond the inference context. How might we transition from this to a learned paradigm?" — which is precisely what the next two papers do. In the room, the questions raised were whether other bandit algorithms could replace UCT 21:00 (answer: yes, the contribution is the platform) and how repeated actions across the tree are handled 22:15 (answer: repeats inside a trajectory raise the visit count that feeds UCT; the structure is assumed to be a tree, not a fully connected graph).
The motivating slide 24:00 reproduces two DeepSeek-R1 training curves side by side. Left, "DeepSeek-R1-Zero AIME accuracy during training": x-axis Steps 0–8000+, y-axis Accuracy 0.2–0.9, with r1-zero-pass@1 (blue) climbing from about 0.16 to 0.71 and r1-zero-cons@16 (red) from about 0.26 to 0.86; two horizontal dashed references, o1-0912-pass@1 at ≈0.74 and o1-0912-cons@64 at ≈0.83, with the red curve crossing the upper dashed line near step 6300. Right, "average length per response during training": the same x-axis against 0–12,000 tokens, rising from roughly 500 to roughly 9,500. Attribution on the slide: DeepSeek-R1, DeepSeek-AI (2025).
The observation slide draws the reasoning trace as an actual dependency graph, which is the whole argument in one picture. Query → Step 1. Step 1 fans out to Steps 2, 3 and 4. Step 2 → Step 5; Step 3 → Steps 5 and 6; Step 4 → Steps 7 and 8; Steps 7 and 8 → Step 9. Steps 5, 6 and 9 all point at Final Answer. So the graph has a width of three immediately after the first step, and the longest path (1→4→7/8→9) is four steps — meaning a sequential decoder pays for nine steps to satisfy a four-step critical path. The bullets name the three sources of independence: "Trying alternative approaches", "Decomposing a task into subtasks", "Verifying previous reasoning steps".
The framework slide splits the system into "a planner and a pool of executors that concurrently carry out these plans", with a post-training recipe on the left and an inference picture on the right showing three stacked "Plan" boxes fanning into parallel lanes.
The fine-tuning pipeline is five labelled panels: 0) Thinking trajectories of a reasoning model — a raw <Reasoning> block with numbered lines ("line 11: Let's verify our calculation …", "line 200: I arrived at the final answer"). 1) Extracting the steps with plan, prompt, and executions — the same trace re-cut into Step 1 / Plan: line 1-3 / prompt: Calculate … / Execution: line 4-10, Step 2 / Plan: line 11-14 / prompt: Verify the … / Execution: line 15-30, … Step K / Plan: line 200-203. 2) Creating the DAG of execution dependencies — Step 1 → Steps 2 and 4; Step 2 → Step 3; Step 4 → Steps 5 and 6; Steps 5 and 6 → Step 7; Steps 3 and 7 → Final Answer. 3) Packing the steps into compact stages — the same graph flattened into horizontal bands: {1}, {2, 4}, {3, 5, 6}, {7}, Final Answer. 4) SFT the LRM on the filtered, and reformatted data — packed-stages dataset → filter & reformat → formatted dataset + LRM → SFT → SPRINT finetuned LRM. A caption under the figure credits the DAG construction to a different model than the step extraction: the step decomposition is by GPT-4o, but "The creation of DAG is also by an LLM (GPT-4o mini)".
The inference-process slide 31:10 shows what the learned output format buys you: the planner emits a single <Plan_i> block containing several "Thinking … <prompt_i.1>…</prompt_i.1>" entries; each is routed to its own Executor, which returns <execution_1>…</execution_1>; the executions are labelled "(2) Parallel execution" and then "(3) Syncing" back into a shared Running Context, from which the planner either starts the next round or terminates with the Final Answer. Nothing about the architecture changes — as the answer to a question from the room puts it 35:50, "it's always next token"; the tags are simply a format the runtime can branch on.
The clearest picture in the section is a three-row timeline along a "Sequential tokens decoded during the reasoning process" axis. Row 1, sequential reasoning models: Query, Plan 1, Exec 1, Plan 2, Exec 2, Plan 3, Exec 3, Plan 4, Exec 4, …, Final Answer, with dashed brackets marking Plan 1/Plan 2 as "independent", Plan 2/Plan 3 as "dependent" (in red), Plan 3/Plan 4 as "independent". Row 2, SPRINT's fine-tuning data: the same tokens re-ordered so that Plan 1 and Plan 2 sit adjacent, then Exec 1, Exec 2, then Plan 3 Plan 4, then Exec 3, Exec 4. Row 3, SPRINT's inference framework: Plan 1 Plan 2 on the top lane, Exec 1 and Exec 2 dropped onto two staggered lanes below and running concurrently, a "Sync" marker, then Plan 3 Plan 4 and Exec 3 / Exec 4 in parallel, a second Sync, and the Final Answer arriving markedly earlier on the axis. The savings come entirely from the third row's vertical stacking.
Training recipe on the slide: 6k DeepSeek-R1 thinking trajectories on the MATH train set, filter out samples with low parallelization opportunities, SFT DeepSeek-R1-Distill-Qwen-7B on the reformatted trajectories. The results plot is accuracy (%) against average number of sequential tokens, both linear: SPRINT at ≈2,400 tokens / 92.5%, R1-Distill-32B at ≈2,300 / 91.5%, RFT at ≈2,800 / 91.0%, SoT at ≈3,850 / 90.8%, R1-Distill-7B at ≈2,000 / 89.1%. Two corrections follow from reading the axes. The accuracy gain over the same-size baseline is +3.4 points (89.1 → 92.5), and SPRINT does not use fewer sequential tokens than either the 7B baseline or the 32B model — it sits slightly to the right of both; what it does is beat a 4× larger model at roughly the same sequential cost. The saving is against RFT and SoT.
Method
In-domain: MATH500
OOD: Countdown
OOD: GPQA-Diamond
Acc ↑
Seq. Tokens ↓
Acc ↑
Seq. Tokens ↓
Acc ↑
Seq. Tokens ↓
Self-consistency
80.5
590
78.5
2845
45.4
4735
SoT-chat
47.3
256
80.0
2367
49.4
3526
SoT-reasoning
90.8
3836
82.4
5823
48.0
7560
RFT
91.0
2880
84.9
4917
50.5
7103
SPRINT
92.5
2440
85.9
2284
51.0
6336
Against RFT the MATH500 token saving is ~15%, against SoT-reasoning ~36% — the "about 40%" quoted aloud 44:40 matches the latter comparison, not the headline baseline. The out-of-domain margins are narrow in accuracy (+1.0 on Countdown, +0.5 on GPQA-Diamond over RFT) but large in tokens on Countdown (2284 vs 4917, a 54% cut).
The parallelization-pattern chart 40:50 plots number of problems (0–500) against stage number 1–11, stacked by MATH difficulty Level 1–5, with a dashed "Parallelized" line overlaid. The line peaks at stage 2 (~310 problems parallelized) rather than stage 1 (~230) and decays to near zero by stage 8; the stacked bars show that the problems still alive at stages 6–11 are almost entirely Level 4 and 5. So "harder problems require more iterative planning" and "more parallelism early" are both visible in the same figure.
The honest slide is the last one 45:30: "Even Larger Relative Saving for Longer Sequences" bins problems by how many tokens the RFT model generated. On MATH500 the reduction runs −5% (0–4k), 17% (4k–6k), 19% (6k–8k), 39% (8k–10k). On Countdown, −42% (0–2k), 28%, 52%, 65% (6k–8k). On GPQA-Diamond, −28% (0–6k), 9%, 25%, 45% (12k–15k). On short problems the plan/execute scaffolding is a net loss, sometimes badly so. The closing note 46:20 is that the Sonnet 4.5 system card's prompt encourages the model to use tools at least 100 times — an indication of how far past the short-trace regime real work now runs. The "Next Steps" slide 49:40, which the frame sampling skips, names three: use GRPO "to let the model find parallelization strategies beyond supervised samples", overlap independent tool calls, and "employ hardware-optimized implementations that convert sequential token reduction into lower latency" — i.e. the wall-clock speedup is not yet demonstrated.
SWiRL: step-wise RL with the tools switched off 50:10–1:14:55
Title slide 50:20: SWiRL: Synthetic Data Generation & Multi-Step RL for Reasoning & Tool Use, Anna Goldie*, Azalia Mirhoseini*, Hao Zhou, Irene Cai, Christopher D. Manning, COLM 2025. The challenges slide 51:30 states the third problem exactly: RLHF, RLAIF and RLEF "have mainly focused on single step optimizations, assigning outcome rewards to an entire chain of reasoning and tool call steps only at the end of a trajectory". The design-goals slide 53:10 adds two lines beyond the five capability bullets: "We also want to avoid calling tools during the training process and not be bottlenecked by the slow, expensive, and buggy tool calls", and "We want the model to generalize these reasoning and tool use capabilities across tasks and tools".
Stage 1 55:00 generates trajectories by iterative prompting, then splits the filtering into two branches drawn explicitly on the diagram: "All steps are judged to be reasonable by an LLM (all process label are positive)?" → Process-filtered data; "Final answer is correct given golden answer?" → Outcome-filtered data.
Stage 2 is illustrated with a three-row unrolled trajectory for the question "Who is older Glenn Hughes or Ross Lynch?", each row one more step of replayed context, with the model's proposed action printed verbatim:
Row 1 (Prompt → Action 1): "To figure out who is older, I should first search for age of Glenn Hughes. <search_query>age of Glenn Hughes</search_query>"
Row 2 (Prompt, Action 1 + Env Response → Action 2): "Next, I should find out what Ross Lynch's age is. <search_query>Ross Lynch age</search_query>"
Row 3 (… → Action N): "Given the results of my previous previous searches, I have enough information to answer the question. <answer>Glenn Hughes</answer>" (the doubled "previous" is on the slide).
Each row ends in a Reward box, captioned "Reward model generates score for last action, given prior steps." — and, on the final row only, "(no access to golden answers.)" That parenthetical is the crux the audience question probes: the judge scores the query, given prior context, never the tool's output and never the gold label.
The objective slide 1:03:20 writes it as J(θ) = E_{s∼T, a∼π_θ(s)}[ R(a|s) ], with τ = (s₁, a₁, …, s_K, a_K) a synthetic trajectory, each state s_i containing "state s_{i−1}, action a_{i−1}, tool call response to a_{i−1}", and the note "R(a|s) is the quality of the generated action a given the context s, assessed by a reward model. No golden labels are used."
The inference slide prints the actual prompt, which is only summarised aloud. "USER: Please help me answer the following question in just a few words. If you think it would help to use a calculator, please generate a mathematical query enclosed by <calculator> MATH EXP </calculator> tags. / I will provide results in the following format: QUERY → RESULT. / Once you have enough information, generate an answer enclosed by <answer>ANSWER</answer> tags. / The question is: A fruit vendor bought 50 watermelons for $80. He sold all of them at a profit of 25%. How much was each watermelon sold?" The next columns show the loop turn by turn: MODEL "The vendor sold the watermelons for a profit of 25%, meaning that the profit must have been 0.25 * 80 (the original price). <calculator>80 * 0.25</calculator>" → USER "0.25*80 -> 20" → MODEL "<calculator>80+20</calculator>" → USER "80+20 -> 100" → MODEL "If the vendor sold all fifty watermelons for $100, then each must have been sold for 100 / 50. <calculator>100 / 50</calculator>" → USER "100 / 50 -> 2" → MODEL "I am now ready to answer the question. <answer>2</answer>". Four steps, three calculator calls, one arithmetic chain the model never does itself.
The experimental-setup slide 1:06:10 is visibly a draft: synthetic data generated by Gemma-2-27b, sourced from HotPotQA and GSM8k; "We collect 50k trajectories from HotPotQA sourced from ?? problems" split into four 10k subsets (process filtered, outcome filtered, process and outcome filtered, random); "We collect ?? trajectories from GSM8K sourced from ?? problems"; base model for fine-tuning also Gemma-2-27b; Gemini 1.5 Pro grades the process reward; and a final bullet reading "TODO: Some info on RL policy, number of TPUs, number of steps of RL training". The judge model is not mentioned aloud; the answer given to a question is only that no judge was trained, just prompted.
The filtering ablation is a grouped bar chart, five bars per dataset, y-axis accuracy 0–1.2:
Training data
HotPotQA
MuSiQue
CofCA
BeerQA
Gemma-2-27b (base)
0.56
0.55
0.49
0.58
Outcome filtered
0.63
0.54
0.57
0.62
Process and outcome filtered
0.66
0.61
0.55
0.62
Not filtered
0.69
0.59
0.59
0.66
Process filtered
0.71
0.64
0.64
0.72
Process filtering wins on all four, as told. The unremarked result is that not filtering at all beats filtering on outcome on three of four datasets, and beats process-and-outcome filtering on three of four — the harm comes specifically from conditioning on the final answer being right.
SWiRL generalization
GSM8K (math)
HotPotQA (qa)
CofCA (qa)
BeerQA (qa)
MuSiQue (qa)
Base Model
0.65
0.65
0.54
0.59
0.45
SWiRL on GSM8K (math)
0.79
0.71
0.56
0.68
0.49
SWiRL on HotPotQA (qa)
0.76
0.73
0.62
0.68
0.50
Training on GSM8K with a symbolic calculator lifts HotPotQA (a search task) from 0.65 to 0.71, against 0.73 for training on HotPotQA directly; the reverse transfer takes GSM8K from 0.65 to 0.76 against 0.79 in-domain. The data-scaling panel 1:10:00 plots accuracy against training set size on a log axis from 10² to 10⁴ for five datasets, with the base model as a red dashed line in each: HotPotQA 0.59→0.71, MuSiQue 0.51→0.64, BeerQA 0.63→0.72, GSM8K 0.68→0.76. CofCA is the interesting one — flat at ≈0.51 from 10² to 10³, below its own baseline, then jumping to 0.64 at 10⁴.
Two tables close the mechanism argument. Process correctness 1:11:10: mean process label rises from 82.5% to 91.0% in distribution (HotPotQA) and from 87.5% to 91.6% out of distribution (GSM8K). Statistical significance 1:12:00 reports Model Score, F1, Precision and Recall with ±0.02–0.03 error bars across five datasets — e.g. HotpotQA model score 0.667 ± 0.024 → 0.747 ± 0.022, MuSiQue 0.431 → 0.509, GSM8k 0.685 → 0.765. A tool-use ablation that the frame sampling misses entirely 1:13:40 separates the two effects: with multi-step tool use, SWiRL beats the base model everywhere (HotPotQA ≈0.66 → ≈0.74, GSM8k ≈0.66 → ≈0.80); without tools, SWiRL is roughly level with or slightly below the base model on the QA sets but jumps from ≈0.31 to ≈0.55 on GSM8k.
The SFT comparison 1:12:40 makes the filtering point flip visible: for SFT, process-and-outcome-filtered data (≈0.50 on HotPotQA) beats process-only (≈0.40), and on CofCA process-only collapses to ≈0.14; for SWiRL the ordering reverses, with process-filtered on top at 0.71 / 0.64 / 0.64 / 0.72. Imitation on a trajectory with a wrong outcome hurts; RL gets a fresh action from the same prior context.
The final summary slide 1:14:10 gives the relative improvements, which are larger than the absolute table suggests: training on HotPotQA yields "21.5% on GSM8K, 15.3% on BeerQA, 11.1% on MuSiQue and 14.8% on CofCA"; "training only on multi-hop HotPotQA question answering improves performance on GSM8K (math) by 16.9%, and training on GSM8K improves performance on HotPotQA by 9.2%"; and "SWiRL results in significant gains with just 1000 synthetic trajectories".
Takeaways
LATS is MCTS with the node values supplied by λ·LM(s) + (1−λ)·SC(s), UCT for selection and a running-mean backup — fine-tuning-free and best-in-class among prompting methods (0.71 EM on HotPotQA, 75.9 WebShop score), but its 38.0 WebShop success rate still trails a fine-tuned baseline, and the whole method assumes actions can be undone.
SPRINT extracts latent parallelism by having GPT-4o annotate plan/execution spans and GPT-4o mini build the dependency DAG, then packs the DAG into stages and SFTs on the reformatted trace. Accuracy improves (89.1 → 92.5 on MATH500), but the sequential-token win is against RFT and SoT, not against the 7B or 32B baselines, and on short problems the scaffolding costs up to 42% more sequential tokens.
SWiRL scores the proposed action, not its result, so every tool call can be pre-collected offline. Process-filtered data beats outcome-filtered — and beats it for a specific reason: filtering on final-answer correctness is worse than no filtering at all.
The transfer result is the one to remember: train on GSM8K with a calculator, gain 6 points on HotPotQA with a search engine, and vice versa. Mean per-step process reward rises both in and out of distribution, which is the evidence that what generalizes is step structure rather than tool syntax.
Three papers, one loop: generate the model's own outputs, filter them, train on them, repeat. STaR bootstraps rationales from correct answers, DeepSeekMath makes the RL step cheap enough to scale by deleting PPO's critic, and DAPO enumerates the six implementation details that decide whether scaled RL works at all. The slides carry the tables, the training curves and the numbers; the narration mostly carries intuitions.
The motivating slide is headed AIME 2024 only — the narration says 2024 and 2025 — and lists GPT-3.5: ~5%, DeepSeekMath-RL 7B: 51.7%, DAPO on Qwen-32B: 50%, under "How did smaller models catch up to larger ones?" 01:09 That 51.7% reappears later in the deck as DeepSeekMath's MATH top-1 score, so the AIME label on that row is worth checking before quoting it.
The train-time scaling slide is blunt 03:05: "Most attempts to do RL on reasoning fail catastrophically", "The devil is in implementation details", then three insights — models can learn from their own outputs if you filter cleverly; training compute can substitute for model parameters; small fixes matter enormously at scale. The loop itself is three boxes, Pre-training → Fine-tuning → Test-time, with an arrow running from Test-time back into Fine-tuning 04:24.
Take the outputs of test-time scaling, filter them, fine-tune on them. That single return arrow is the whole lecture.
"Scaling up Train-time compute in MATH domains has significant gains…" — two scatter plots, subtitled "Increasing both training and test-time compute improves model performance". Left: o1 AIME accuracy during training; right: o1 AIME accuracy at test time. Shared y-axis pass@1 accuracy 0–100; x-axes log-scaled from 10⁻² to 10⁰, labelled "train-time compute (log scale, fraction of maximum flops)" and "test-time compute (…)". A straight arrow is drawn over each cloud. The credit line reads Competitive Programming with Large Reasoning Models, arxiv.org/abs/2502.06807 — not an o1 system card, as the narration implies. A student notes the right-hand cloud rises more steeply; the reply is that this is one instantiation, and "the graphs are not always right, as you might know from their latest release" 12:20.
Verbatim traces, only paraphrased aloud 07:40–10:30
A slide headed "Reasoning Models: o series, Gemini Flash Thinking…" names five patterns — Problem Analysis, Task Decomposition, Self-Evaluation ("Through RL, thinking models learn to finetune their chain of thought"), Self-Correction, Alternative Proposal — and the next three slides show each with a real trace. The decomposition example prompts for "a bash script that takes a matrix represented as a string with format '[1,2],[3,4],[5,6]' and prints the transpose"; the trace, headed "Thought for 5 seconds", restates the task and lists a four-step Approach — parse the string, build an array of arrays, transpose, output in the same format.
The self-correction example is chemistry, not math: "What is the pH of a 0.10 M solution of NH₄F? The Ka of NH₄⁺ is 5.6 × 10⁻¹⁰ and the Ka of HF is 6.8 × 10⁻⁴." The trace opens with pH = 7 + 0.5 × log(Kb − Ka) — shown on the slide as unrendered raw LaTeX — then says "Wait, the correct formula is:" and rewrites it as pH = 7 + 0.5 × log(Kb for base / Ka for acid).
"Human preferences by domain: o1-preview vs GPT-4o": horizontal bars, x-axis win rate vs GPT-4o (%) 0–100, dashed reference line at 50. Personal Writing sits just under 50 with its error bar straddling the line; Editing Text essentially on 50; Computer Programming ≈60; Data Analysis ≈60; Mathematical Calculation ≈72, the only bar clearly separated. Source: openai.com/index/learning-to-reason-with-llms/. The verifiable domains are the ones that move.
The Challenges box gives three cited obstacles 16:42: manual annotation of reasoning steps doesn't scale (Rajani et al., 2019); template-based rationale generation only works where solution patterns are known (Nye et al., 2021); few-shot prompting underperforms fine-tuning on larger rationale-free datasets (Wei et al., 2022). The loop is drawn as an indented chain 18:15: Start: 10 examples with reasoning steps → Generate solutions to 10K problems → Keep only correct answers → Fine-tune on these → Repeat.
Rationalization gets its own slide 19:01. Problem: "Model gets stuck—can't solve new problems, no training signal." Solution: "Give the model the answer, ask it to explain backward" — Human: "The answer is 42. Now show your work."; the model generates reasoning that leads to 42; fine-tune without the hint, as if it solved it alone. The Assumptions slide annotates the same loop with "Correctness is proxy for reasoning quality… filtering incorrect answers may discard insightful reasoning paths, but it maintains higher-quality training data" and "Assumes LM can generate valid backwards reasoning when given answer as hint" 20:47. Students press on the second for four minutes; the answer is that this paper does no filtering of rationalized rationales at all.
Two datasets feed the loop: a small Rationale Dataset(x̃₁, r̃₁, ỹ₁), …, (x̃_K, r̃_K, ỹ_K) with K ≪ N (the worked example is CommonsenseQA — "Where do you put your grapes just before checking out?", answer "(b) grocery cart") and a large Training dataset(x₁, y₁), …, (x_N, y_N).
Input to the LM is the few-shot block plus xᵢ; output is r̂ᵢ, ŷᵢ. The right edge splits: LM correct (yᵢ = ŷᵢ, green) loops back to the collected set; LM incorrect (yᵢ ≠ ŷᵢ, red) routes to "Add hint to facilitate correct rationale", whose prompt is the same block plus the answerxᵢ, yᵢ, producing r̂ᵢ^rat, ŷᵢ^rat — re-entering only if LM correct a posteriori (ŷᵢ^rat = yᵢ). The collected set is the union 𝒟 = {(xᵢ, r̂ᵢ, yᵢ) | ŷᵢ = yᵢ} ∪ {(xᵢ, r̂ᵢ^rat, yᵢ) | ŷᵢ^rat = yᵢ} and a dashed arrow labelled "Finetune original LM on correct solns 𝒟" feeds back into the model box.
Transcribed from the pseudocode box: input M, a pretrained LLM, and 𝒟 = {(xᵢ, yᵢ)}ᴰᵢ₌₁ (w/ few-shot prompts). M₀ ← M; for n in 1…N do; (r̂ᵢ, ŷᵢ) ← M_{n−1}(xᵢ); (r̂ᵢ^rat, ŷᵢ^rat) ← M_{n−1}(add_hint(xᵢ, yᵢ)); 𝒟_n ← {(xᵢ, r̂ᵢ, yᵢ) | ŷᵢ = yᵢ}; 𝒟_n^rat ← {(xᵢ, r̂ᵢ^rat, yᵢ) | ŷᵢ ≠ yᵢ ∧ ŷᵢ^rat = yᵢ} — rationalization is kept only where the unhinted attempt failed; M_n ← train(M, 𝒟_n ∪ 𝒟_n^rat) — training restarts from the original M each outer loop, not from M_{n−1}.
Callouts: "100-step learning rate warm up, followed by a constant learning rate"; "40 steps at the 1st outer loop with 20% increase per outer loop"; "A slower start at training time benefits performance". The base model is GPT-J, captioned "an open-source alternative to GPT-3 (6B-parameter)". The datasets slide gives GSM8K ~9k samples; CommonsenseQA ~12k samples, human performance 89%; Arithmetic ~50k samples with <scratch> traces.
Hand-added arrows mark two rows: "STaR is 30x less in size" points at GPT-3, "STaR trains on less data" at GPT-J Direct Finetuned. The caption records 78.2% of the training set used via rationale generation plus 8.5% from rationalization. The observation box supplies the human-study number the narration only gestures at: participants were 30% more likely to rank STaR-generated rationales higher than the few-shot rationales.
A summary slide between the two result tables is internally inconsistent 30:02. It reads "MATH: 46.8% (instruction tuning) → 51.7% (with RL)" and "Uses only 70-87% of data", then lists limitations that are unambiguously STaR's — "Resets to base model each iteration (wasteful)", "No true RL—just sophisticated filtering", "Plateaus after 16-36 iterations". The 46.8 → 51.7 line is DeepSeekMath's MATH result; STaR's own numbers on the adjacent slides are 72.5% on CommonsenseQA and 10.7% on GSM8K. The narration reads it aloud as STaR's result, so a captions-only account inherits the error.
Only 0.5% of that 28.7% comes from rationalization — which is why the slide asks "Here, the use of rationalization does not substantially improve performance. Can you think of why?" Beside it, Figure 6 is a 2-D histogram of calculator steps: y-axis "Generated cal[culator steps]" 0–4, x-axis "Human-produced calculator steps" 0–8, coloured by log frequency 0–6. Mass concentrates on the diagonal at 1–3 steps — the model uses about as many calculation steps as humans.
The Challenges slide states the mechanism precisely 31:50: rationalization conditions on the answer, so p(r|x, y) "might be a better search space for rationales" than p(r|x); but non-rationalized outputs are the cases where the model is most confident, and "provide a weaker gradient signal". The Strengths and Weaknesses slide carries a failure the narration skips entirely 32:43: under "Rationalization bootstrapping may amplify biases", Q: "Who's better at football: Russell Wilson or Jeremy Lin?" A: "Jeremy Lin", with a red ✗ against the rationale "Black people are better at football. Russell Wilson is black, whereas Jeremy Lin is asian. Therefore, the answer is Russell Wilson."
Follow-ups appear with their paper figures 36:49: V-STaR trains a verifier with DPO on preference pairs of correct and incorrect solutions, then ranks generator samples with it at test time; Quiet-STaR generates thoughts in parallel after every token and applies REINFORCE "to increase the likelihood of thoughts that help the model predict future text while discarding thoughts that make the future text less likely", with stages labelled think, talk, learn. The class then debates what bounds STaR: no logical leaps outside the training distribution, and the base model's ability to rationalize when handed the answer.
A timeline, not a parameter-count plot. y-axis MATH Top@1 Accuracy, 10 to just above 50; x-axis Date, ticked 2023-04 / 2023-07 / 2023-10 / 2024-01. A dashed curve connects labelled open models: LLaMA1-65B ≈11, WizardMath-70B ≈22, Qwen-14B ≈25, Mistral-7B ≈28, Llemma-34B ≈31.5, Qwen-72B ≈35.5, then a red star at DeepSeekMath-7B ≈51.5 in 2024-01. Three horizontal dashed lines mark closed models: GPT-4 early version ≈42.5, with GPT-4 API and Gemini-Ultra clustered just above 52. The narration describes accuracy rising with model size; the axis is date, and the star is a 7B model landing above a 72B one.
The data work is half the contribution 41:50. Conventional wisdom: train on arXiv. DeepSeekMath's finding: Common Crawl web pages > arXiv papers. Recipe: start from OpenWebMath (13.6B tokens); train a fastText classifier asking "Does this look like math?"; mine Common Crawl for 120B tokens (9× bigger); iterate to find new math domains and retrain. The results slide adds that arXiv training "sometimes hurts performance", that code → math significantly helps both tool-use AND reasoning, and that multilingual data improves Chinese benchmarks without harming English 43:22 — "Data curation matters more than data source prestige."
The memory argument is four boxes, sourced to sebastianraschka.com/blog/202543:47: Original policy (LLM from SFT stage), New policy (being trained with PPO), Critic (value model estimating expected reward), Reward model. The GRPO slide narrows to the costly pair: actor 7B, critic 7B, "2× memory, 2× training cost" — insight: "Use the group for the baseline."
The procedure is four steps 45:25: sample 64 different answers per question; score them (illustrative vector [0.8, 0.2, 0.9, -1.0, …]); normalize; "This is your advantage—no critic needed!" The normalization is written on the slide, without parentheses, as reward - mean(rewards) / std(rewards); the quantity described aloud is (reward − mean) / std. No GRPO objective appears anywhere in the deck — no ratio, no clipping term, no KL penalty; the speaker says outright that the formula was omitted in favour of intuition. What the deck gives instead is a unifying form 46:24: gradient ∝ GradientCoefficient × ∇ log p(output | question).
Method
Data
Gradient coefficient
STaR
Generated once
1 if correct, 0 if wrong
GRPO
Generated online
Advantage (continuous)
Online RFT
Generated online
1 if correct, 0 if wrong
Which sets up the constraint DAPO later attacks 47:40: if every sample in a group is correct, or every one wrong, the normalization yields nothing. A student adds that PPO's KL term is the other thing keeping the policy near what it could already do.
The section closes on the honest finding 52:40: online > offline, and then "RL improves Maj@K (best of 32 tries)", "RL does NOT improve Pass@K (at least one correct in 32)". "RL makes the model more consistent, not fundamentally smarter. It fixes 'misalignment' where the model knows the answer but doesn't always produce it." (The gloss "best of 32 tries" on Maj@K is loose; the narration correctly describes majority voting.)
Naive GRPO on Qwen-32B reaches 30% on AIME, with entropy collapse ("model becomes too confident"), unstable training, and response length exploding 53:55. "But we know it should work—DeepSeek got 47%. What's missing?"
Two panels, x-axis Step 0–3000, two runs each: w/ Clip-Higher (dark purple), w/o (cyan). (a) "Accuracies on AIME", y AIME avg@32 0.00–0.40: both climb together to ≈0.22 by step 500; the w/o run then flattens at 0.20–0.25 and ends around step 2300, while the w/ run crosses 0.30 near step 1300 and oscillates at 0.37–0.41 from step 1900. (b) "Entropy of actor model", y Generation Entropy 0.0–0.7: both start near 0.7; the w/o run collapses to ≈0.0 by step 1000 and stays flat, while the w/ run settles at 0.4–0.5 and ticks up to ≈0.5 by step 3000. The speaker second-guesses which colour is which mid-sentence; the legend resolves it — asymmetric clipping wins on both panels.
Dynamic sampling carries the sharpest number in the lecture 56:09: 60% of questions eventually get all 64 samples correct. All correct → advantage zero → no gradient → wasted compute. The fix: over-sample, discard all-correct and all-wrong groups, keep only 0 < correct_count < 64, which "maintains effective batch size". Token-level loss follows 57:50: under a sample-level loss, "long garbage answer = same weight as short good answer", giving "unhealthy length explosion"; weighing tokens rather than samples is worth 41% → 42%.
Token-level loss, x-axis Step 0 to ~9000. (a) Generation Entropy, y 0.5–3.5: without token-level loss (cyan) is erratic — a bump to ≈1.2 near step 1200, a climb past 2.0 after step 4000, a spike to ≈3.4 around step 5000 where the run ends; with it (purple), a smooth drift from ≈0.5 to ≈1.0 across 9000 steps. (b) Mean Response Length, y 0–5000 tokens: without, length balloons to ≈4800 tokens by step ~2700 then falls back; with, it grows steadily from ≈500 to ≈3000 by step 8000. The narration describes this the other way round; the plot is unambiguous.
Soft Overlong Punishment, x-axis Step 0 to ~5300 — and the legend colours are swapped relative to the previous figure. (a) "Performance on AIME", AIME avg@32 0.05–0.35: w/ overlong filtering (cyan) runs above w/o (purple) for most of training, peaking near 0.35 at step ~3000 against ≈0.22. (b) "Entropy of actor model", y 0–5: both decay to near zero early, then the unfiltered run detonates after step ~3500, spiking to ≈4.7 and thrashing between 0.5 and 4, while the filtered run stays pinned at ≈0.
Model (Table 1, DAPO)
AIME24 avg@32
DeepSeek-R1-Zero-Qwen-32B (reference)
47
Naive GRPO
30
+ Overlong Filtering
36
+ Clip-Higher
38
+ Soft Overlong Punishment
41
+ Token-level Loss
42
+ Dynamic Sampling (DAPO)
50
Dynamic sampling is the largest single step (+8), and the final 50 beats the R1-distilled reference at 47 on the same base model 59:42.
The practitioner slide is the deck's most quotable 60:50. "Don't watch loss—watch these": response length should grow to ~4K tokens; entropy should stay in the 0.4–0.6 range (too low = collapse, too high = gibberish); % samples with acc=1 tells you when to increase sampling. Red flags: length suddenly explodes → check token-level loss; entropy drops to 0.2 → collapse, increase εhigh; no improvement after 2K steps → the reward model may be saturated.
Choosing between them, and what none of them fix 62:00–67:30
Selection criteria are explicit 62:05. STaR: fewer than 100 examples with reasoning; you need interpretability (education, research); limited compute, no RL infrastructure; GSM8K-level tasks. DeepSeekMath GRPO: good base model plus instruction data; memory-constrained, can't fit a critic; standard math reasoning. DAPO: reasoning chains over 1K tokens; state-of-the-art needed; RL infrastructure available; competition-level problems (AIME, IMO).
The ceiling slide is unusually direct 63:11. All three improve Maj@K, answer formatting and multi-step coherence. None improve Pass@K, novel problem-solving, or out-of-distribution generalization "(much)". "These are alignment/elicitation methods, not capability expansion methods."
Reward quality is the binding constraint 65:30: "Neural reward models may suffer from reward hacking in the large-scale RL. However, autonomous coding applications have access to verifiable rewards" — correct final answer for given inputs, execution feedback, unit tests. The closing slide 66:45 lists what is not understood — why Maj@K but not Pass@K; are emergent behaviours real ("Reflection, backtracking—learned or statistical?"); how to learn from failures ("Current: just filter them out") — and four directions: tree search during generation; noise-robust RL, because "reward models are ~20% wrong"; process rewards and uncertainty quantification; and "Can we merge STaR's rationalization + DAPO's techniques?"
Asked in the Q&A what fraction of frontier training is now RL 68:30: unpublished for Anthropic, but roughly 99%/1% pre-training-to-RL a year ago, growing to perhaps 5%. Grok-4 claimed 50% RL and, by this account, did not get the corresponding jump — bottlenecked by exactly the failure modes above. On data-scarce benchmarks, the reframing is that "there is not enough data" is the wrong abstraction; "do you have enough data to hill climb on" is the right one 71:40.
Takeaways
STaR's Algorithm 1 line 7 matters: each outer iteration retrains from the original base model on 𝒟_n ∪ 𝒟_n^rat — which is why the deck calls it wasteful and why it plateaus after 16–36 iterations.
STaR's real numbers are modest: 72.5% on CommonsenseQA (vs 60.0 for direct fine-tuning, on 86.7% of the data) and 10.7% on GSM8K (vs 5.8) — with only 0.5% of GSM8K training data coming from rationalization, which is why rationalization doesn't help there.
DeepSeekMath's data step mattered as much as GRPO: OpenWebMath's 13.6B tokens → a fastText "does this look like math?" classifier → 120B tokens mined from Common Crawl, 9× bigger, starting from a code-pretrained model rather than arXiv.
GRPO buys scale by deleting the critic (2× memory and training cost saved) at the price of needing reward variance inside each 64-sample group.
DAPO's ablation is the argument: 30 → 36 → 38 → 41 → 42 → 50 on AIME24 avg@32, with dynamic sampling worth +8 because 60% of questions eventually go 64-for-64 and contribute no gradient.
Instrument the run, not the loss: response length trending to ~4K tokens, entropy held at 0.4–0.6, and the fraction of samples at accuracy 1. The stated ceiling is that Maj@K, formatting and coherence improve while Pass@K does not — and reward models are about 20% wrong.
Two systems, one idea: the answer is already somewhere in the model's output distribution, and the engineering is in curating it out. AlphaCode and AlphaCode 2 curate a million samples down to ten submissions; Search-o1 curates retrieved web pages down to the fragment a reasoning chain needs. Both spend most of their cleverness on selection, not generation.
On the recording: the camera alternates between a screen-capture feed and a room camera. Roughly 32:00–35:30, 40:00–45:30 and 1:09:00–1:12:27 are room-camera Q&A with no slide visible, summarised here from the transcript alone.
The problem: competitive programming, not autocomplete 01:55–03:30
The contrast slide is more specific than the narration 02:46: "Codeforce problems are 4x longer in terms of description length and solution length", and HumanEval problems "include instructions about exactly what to implement (competitive programming problems have no suggested implementation)". It illustrates HumanEval with a GitHub card for HumanEval-V — a visual benchmark for multimodal models, not the HumanEval under discussion. AlphaCode ranked in the top 54.3% across ten contests, the first demonstration that a model could generalise past narrow tasks to end-to-end problems.
Two boxes side by side. Left: a dashed DATA box holding GitHub and CodeContests (split into pink "Problems" and green "Solutions") feeding a dashed LEARNING box, Pre-training → Fine-tuning. Right: a dashed SAMPLING & EVALUATION box where Codeforces Problems flows into Large scale sampling, fans up into a thick stack of "Py" and "C++" cards (Large set of potential solutions), passes a funnel marked Filtering & clustering into a much thinner pair of cards (Selected small set of candidates), and drops into Execute & evaluate. The same diagram is reused and annotated in green for AlphaCode 2.
Pretraining: "Scrape Github for Code (715.1 GB)" — the spoken figure was "about 700 gigabytes" — "Decoder: standard cross entropy next token prediction loss. Encoder: masked LM loss."
Fine-tuning lists three techniques the narration merges into one. Tempering is the regularization: "a regularization technique to sharpen the training distribution … assign higher probabilities to the most meaningful patterns rather than spreading probability across irrelevant options." Value conditioning & prediction is separate — "insert whether or not a submission was correct." GOLD is separate again: since one problem has many valid solutions, it targets precision, "focusing on high-likelihood tokens" and "ignoring low-likelihood tokens".
Large-scale sampling06:36: 1M programs per question — the slide puts a red "‼" beside the number — half Python, half C++, randomized tags and ratings in the prompt, high temperature. Filter and cluster07:19: filtering to samples that pass the statement's example tests "removes approximately 99% of model samples"; clustering then separates syntactically different but semantically equivalent programs using a separate test input generation model that invents new test inputs for unseen problems.
Codeforces results, and where the variance comes from 09:15–13:30
The evaluation slide 09:15 gives 10 competitions with >5000 participants each, top 54.3% average ranking limited to 10 submissions per problem, top 28% of Codeforces competitors in the last six months, and a heat-mapped table — green good, pink bad — "Estimated % ranking of AlphaCode in 10 competitions (lower is better)":
Contest ID
1591
1608
1613
1615
1617
1618
1619
1620
1622
1623
Average
Best
43.5%
43.6%
59.8%
60.5%
65.1%
32.2%
47.1%
54.0%
57.5%
20.6%
48.4%
Estimated
44.3%
46.3%
66.1%
62.4%
73.9%
52.2%
47.3%
63.3%
66.2%
20.9%
54.3%
Worst
74.5%
95.7%
75.0%
90.4%
82.3%
53.5%
88.1%
75.1%
81.6%
55.3%
77.2%
A student picks out exactly this spread — 1623 at 20.9% estimated against 1617 at 73.9% 10:24. Two hypotheses 12:00: how in-distribution a contest's problems are, and selection failing rather than generation failing — solutions that are almost but not quite correct never make it into the ten submitted.
The definitions slide 14:04: pass@k submits all k samples and "measures the search aspect of the sampling process"; 10@k submits only 10 and "measures the filtering process and how models behave at a very large number of samples". Table 5 gives the solve rates 15:28 — note there is no 10@1M column on the test set:
Approach
Val 10@1k
Val 10@10k
Val 10@100k
Val 10@1M
Test 10@1k
Test 10@10k
Test 10@100k
9B
16.9%
22.6%
27.1%
30.1%
14.3%
21.5%
25.8%
41B
16.9%
23.9%
28.2%
31.8%
15.6%
23.2%
27.7%
41B + clustering
21.0%
26.2%
31.8%
34.2%
16.4%
25.4%
29.6%
Against the spoken claim that the larger model is consistently better: at 10@1k on validation, 9B and 41B are identical at 16.9%. Scale only pays once the budget grows, and clustering is worth more than the 4.5× parameter jump in every column.
On the slide 19:23 — "Ablations with # of samples"
Two panels, five curves each, legend 300M / 1B / 3B / 9B / 41B (300M blue at the bottom, 41B purple on top). Both x-axes are Sample budget, log scale 10⁰–10⁶. Panel (a), "10 attempts per problem": y-axis 10@k, 0.00–0.30, 41B ending just above 0.30. Panel (b), "Unlimited attempts per problem": y-axis pass@k, 0.0 to above 0.4, 41B ending near 0.45. Neither has flattened at 10⁶. Side bullets: solve rates scale log-linearly with samples and compute; better models have higher slopes; and a sub-bullet not said aloud — "Average of 2.4 submissions for each problem solved in Codeforces evaluation".
The gap between panels is the price of selection. Asked whether you could just push to a trillion samples 19:53, the answer turns on diversity — more sampling only helps if the extra samples are actually different, which is exactly what clustering measures.
The strengths/weaknesses slide 22:35 credits interpretability, a reduced false-positive rate, and evidence the model "does not copy existing solutions; actually reasons"; against it, reliance on hidden test coverage, "loss is poor proxy for solve rate (solving problem is one-of-many task)", weakness on DP and constructive algorithms, and one line never spoken — "Test set dataset size is small (n=165)".
Three changes, two of them starred on the slide 26:40: ⭐ fine-tune another Gemini Pro model to score "correctness" before submitting; ⭐ a "family of models" fine-tuned with varied hyperparameters (difficulty, tags) to maximise diversity; plus using an LLM to fine-tune instead of pre-training on GitHub, on CodeContests V2 and a second "higher quality dataset".
On the slides 27:45 and 29:58 — two graphs, annotated by hand
Fine-tuning. A Gemini Pro node branches through a CodeContests v2 card into three Intermediate AlphaCode 2 models, then through a second Higher quality dataset card into three final AlphaCode 2 models plus a black Scoring model node above them; both datasets feed the scorer as well as the generators. Green callouts: "estimated correctness of code sample between 0-1"; "more problems + solutions of higher quality / manually-curated tests on the validation set"; "'family of models' instead of one → maximise diversity".
Sampling & evaluation. Codeforces problem → three AlphaCode 2 models → Massive sampling → gear and funnel icons for Execution & filtering → a much smaller C++ stack → three parallel branches under Clustering → Reranking → a green "Submit!" bar, with the scoring model feeding reranking. Blue callouts carry the volumes: "1M sample — randomize temp + metadata for diversity", "split sampling across models", "only C++, not Python like AlphaCode"; "filter out incorrect output and <5% that do not compile → remove 95% of samples"; the surviving stack is labelled "~50k"; then "aggregate based on runtime", "keep top 10 largest clusters", "score each code sample … to pick best candidate per cluster".
x-axis "Sampling budget per problem", log scale 10⁰–10⁶; y-axis "Solve rate", 0% to just above 40%. A thick blue AlphaCode 2 curve rises from ~5% at one sample and crosses a thin horizontal line labelled "AlphaCode (1M samples)" at about 25% — the crossing lands just past 10² — then continues to ~44% at 10⁶, still climbing at the right edge. Bullets: "43% solved (2x improvement over AlphaCode's 25%)" and, underlined, "AlphaCode 2 requires 100 samples to reach level of performance of AphaCode with a million samples".
100 samples now buy what a million bought a year earlier — from a better base model, engineered diversity and a learned scorer, not from more sampling.
Asked about the 95% waste, the room-camera discussion lands on self-refinement and RL on the base model, plus a useful reframing: this is a multi-agent system — one family of models generates, another scores — and distilling that system into one model is what a large reasoning model is 34:16.
x-axis "Percentile of contestants below score" 0–100%; y-axis "Average normalized score" 0–100%. A single black "Human contestants" curve runs nearly flat below 35% across most of the range, then hooks sharply upward past the 95th percentile toward 100%. Two drop-lines mark it: grey, AlphaCode (estimated), at 46% (score ≈22%); blue, AlphaCode 2, at 87% (score ≈41%). Bullets: human scores divided by the best human score per contest, averaged over 12 contests; "AlphaCode 2 at 85th percentile between Expert and Candidate Master"; "AlphaCode outperforms 46%, AlphaCode 2 outperforms 99.5% (for top 2 performance on qs)" — so the marker (87%) and the bullet (85th) disagree.
The slide poses four questions — a better proxy for solve rate than validation loss; adapting to task complexity; maintaining diversity with fewer generations; embedding reasoning into the model — and the class works through the second and fourth. The answers that land: easy problems need far fewer samples, since the solution is likely already in the output distribution and refinement will fix it, while parallel sampling buys diversity of approach, which is what hard problems need; and chain-of-thought in the training data plus STaR-style rationalization, with decomposition and a backtracking tree search for multi-step failures 41:29.
The framing is direct 47:25: enhance large reasoning models "with autonomous retrieval capabilities", because LRMs "suffer from knowledge insufficiency during extended reasoning chains". Gaps surface as uncertainty language — "perhaps", "alternatively", "wait" — and an early guess cascades through the chain. Plain RAG fails on three counts 48:19: single retrieval at the beginning, each step needing different information, no way to adapt. The solution names two components 49:45: the Agentic RAG Mechanism (autonomous query generation, triggered on knowledge gaps, multiple iterations per session) and the Reason-in-Documents Module (analyze documents separately, extract, integrate).
On the slide 50:39–52:37 — the three-panel figure, built up one panel at a time
All three panels run the same question verbatim: "Step 1: trans-Cinnamaldehyde + Methylmagnesium Bromide → Product 1 … Step 3: Product 2 + (Dimethyl(oxo)-16-sulfaneylidene)methane … → Product 3. Question: carbon atoms count of Product 3."
(a) Vanilla Reasoning Pattern — at step n, "I need the structure of trans-Cinnamaldehyde"; at n+1, "Perhaps the structure of trans-Cinnamaldehyde is C₆H₅CH=CH-CO-CH₃ (✗)"; final answer "Product 3 contains 10 carbon atoms (✗)".
(b) Reason with Agentic RAG — adds a "Search Instruction" preamble and replaces the guess with a magnifying-glass node "Structure of trans-Cinnamaldehyde", marked iterable with a loop arrow. The retrieved page reads "(E)-cinnamaldehyde is the E(trans) stereoisomer of …", labelled "return long and redundant documents, which disrupt reasoning". Answer: 14 carbon atoms (✗).
(c) The Search-o1 Framework — same search node, but documents pass through a brain-icon Reason-in-Documents block captioned "integrate helpful information into the previous reasoning chain", emitting "trans-Cinnamaldehyde has the structure C₆H₅CH=CHCHO (✓)". Answer: 11 carbon atoms (✓). A sidebar lists six domains: Physics, Chemistry, Biology, Math, Code, ODQA.
The module exists for two stated reasons 55:58: "retrieved docs are lengthy, contain noise", and "LRMs suffer 'catastrophic forgetting' of general capabilities" under long context. It conditions on current query + previous reasoning + retrieved content.
Like a researcher: you don't paste every reference into your draft — you take notes on them.
The summary slide at 59:57 contradicts the figure it summarises, saying vanilla reasoning "guesses structure → wrong answer (14 atoms)" when panel (a) gives 10 and it is the Agentic RAG panel that gives 14.
On the slide 01:00:49 — Figure 3, scaling with top-k documents
Four panels — Physics, Chemistry, Biology, Overall — x-axis "Top-k Docs" at ticks 1, 2, 3, 5, 10; y-axis Pass@1. Three series: Search-o1 (blue, solid, markers), Direct Reasoning (green, dashed, horizontal), Standard RAG, k=10 (red, dash-dot, horizontal). Only Search-o1 moves with k. Physics spans 74–80, running ≈75.5 → 79 (peak at k=5) → 78. Chemistry spans 36–51: ≈42, a dip at k=2, then ≈48 from k=3 on — and here green sits above red, i.e. retrieval hurts. Biology spans 55–85: 63 at k=1, jumping to 79 at k=2, a plateau at ≈74 for k=3 and k=5, back to 79 at k=10, against RAG ≈73.7 and direct ≈68.5. Overall is monotone — 59.6, 61.1, 61.1, 62.1, 63.7 — against RAG 58.6 and direct 58.1. Caption: "All results are based on QwQ-32B-Preview model."
Table 2 compares against human experts on the GPQA extended set 01:01:52; the side bullets read "+5.5% over direct reasoning", "+24% average improvement over RAG baselines (Qwen2.5-7B)", "outperforms human experts in physics (68.7 vs 57.9)":
Method
Physics
Chemistry
Biology
Overall
Physicists
57.9
31.6
42.0
39.9
Chemists
34.5
72.6
45.6
48.9
Biologists
30.4
28.8
68.9
37.2
QwQ-32B
61.7
36.9
61.0
51.8
RAG-QwQ-32B
64.3
38.3
66.7
54.6
Search-o1 (Ours)
68.7
40.7
69.5
57.9
The advice is to read the diagonal — physicists on physics, chemists on chemistry. On that reading Search-o1 beats physicists (68.7 vs 57.9), edges biologists (69.5 vs 68.9), and is nowhere near chemists (40.7 vs 72.6). The chemistry gap draws two unresolved hypotheses from the room 01:02:25: that chemical structures survive retrieval badly, or that the training data was weaker there.
A companion text slide 01:03:40 claims "even 1 document with Search-o1 > 10 documents with Standard RAG", then lists "Physics: 74% → 78%, Chemistry: 36% → 48%, Biology: 55% → 85%" — endpoints that look like each panel's axis limits rather than its curve values, since biology never reaches 85 and physics starts above 74. The same slide carries a stray unrendered markup tag: <cite index="9-9">Performance improves with more retrieved documents (top-k from 1 to 10)</cite>.
On the slide 01:05:04 — multi-hop QA, with a drawn annotation
A wide EM/F1 table over six datasets — single-hop NQ and TriviaQA, then multi-hop HotpotQA, 2WIKI, MuSiQue, Bamboogle — with a thick green rounded rectangle drawn over the slide enclosing exactly the four multi-hop columns. Rows group as Direct Reasoning (w/o Retrieval) — Qwen2.5-32B, QwQ-32B, Qwen2.5-72B, Llama3.3-70B; Retrieval-augmented Reasoning — RAG- and RAgent- variants of the two 32B models; and with Reason-in-Documents — Search-o1, whose row reads NQ 34.0/49.7, TriviaQA 63.4/74.1, HotpotQA 45.2/57.3, 2WIKI 58.0/71.4, MuSiQue 16.6/28.2, Bamboogle 56.0/67.8. Side bullets: "+29.6% over standard RAG", "+5.3% over agentic RAG without refinement".
The narration says every bold number on that line comes from Search-o1. The table does not quite bear it out: on 2WIKI EM the best is RAgent-QwQ-32B at 58.4, ahead of Search-o1's 58.0, and the bold single-hop TriviaQA values (65.8/79.2) belong to RAG-Qwen2.5-32B. Search-o1 does hold the best numbers on HotpotQA, MuSiQue and Bamboogle.
On the slide 01:06:50 — "Impact on Reasoning Quality"
Before Search-o1: frequent hedging, guesswork at knowledge gaps, error propagation. With Search-o1: definitive statements backed by retrieved evidence, self-correction when assumptions are wrong, verification through additional searches. Then the counts, which the narration only gestures at:
"Perhaps": 30.4 → 15.8 occurrences
"Alternatively": 27.1 → 11.9
"Wait": 7.8 → 8.2 — the slide annotates this "minimal change"; it goes up
"Likely": 2.8 → 2.6
The neighbouring "Key Technical Insights" slide adds the multi-turn figure: an average of 1.4–2.0 valid searches per problem.
So "uncertainty drops substantially" holds for the two hedging words that mark knowledge gaps, and not for "wait", which is a self-correction marker and barely moves.
The final slide lists six takeaways — extended reasoning creates knowledge gaps; simple retrieval is insufficient; outcome-based RL works, no complex reward engineering needed; agentic beats fixed retrieval; document refinement is critical; benefits scale with model size — then a section the lecture ran out of time for. Search-R1 contributions: "retrieved token loss masking for stable RL", "multi-turn search with outcome rewards", "41% improvement (Qwen2.5-7B) on QA tasks" 01:08:14. Search-o1 closes the loop by prompting; Search-R1 teaches the model to search with RL. The closing slide reads "End of Lecture 8" 01:08:47.
The last question, over the room camera with no slide 01:09:22, asks whether output probabilities correlate with correctness across a thousand generations. Aggregate the log-probs sensibly — a geometric product or an average, not a sum — and models come out overconfident: 50% correct, 80% confident, which is why they resist correction. Knowing what you know is offered as an open project area.
Takeaways
Selection bottlenecks as hard as generation: AlphaCode's 10@k tops out near 0.30 where pass@k reaches ~0.45, and clustering buys more (16.9% → 21.0% at 10@1k) than going from 9B to 41B (16.9% → 16.9%).
AlphaCode's filter discards ~99% of a million samples; AlphaCode 2's discards ~95%, leaving ~50k, keeps the top 10 clusters, and reranks with a scorer estimating correctness in [0,1].
100 AlphaCode 2 samples match one million AlphaCode samples; at 10⁶ the solve rate is 43% versus 25% — from a Gemini Pro base, a diverse model family and a learned scorer, not more sampling.
Search-o1's contribution is not retrieval but retrieving mid-reasoning and distilling each document before insertion, which is why its accuracy climbs with top-k while the baselines are flat lines.
The measurable effect is on hedging — "perhaps" 30.4 → 15.8, "alternatively" 27.1 → 11.9 — at 1.4–2.0 searches per problem.
Chatbot benchmarks saturate, so the lecture asks what replaces them and walks three answers: METR measures how long a task a model can finish, GDPval measures whether the output beats a human professional on economically valuable work, and DeepScholar-Bench measures research synthesis against a live corpus. The first trend is exponential, the second is linear, and the third is stuck under 19%.
The agenda slide names all three by their paper titles 01:54: Measuring AI Ability to Complete Long Tasks; GDPVal: Evaluating AI Model Performance on Real-World Economically Valuable Tasks; DeepScholar-Bench: A Live Benchmark and Automated Evaluation for Generative Research Synthesis. The framing slide reduces the problem to two questions — "how long/complex are the tasks AI can complete?" and "can AI perform real-world work that humans currently do?" — and closes with the line "Different metrics, similar insights"03:36.
The definition on the slide is precise: the duration of tasks models complete at X% success rate, with 50% chosen as the "balance between capability and reliability," and human time-to-complete as the universal anchor 05:12. Three suites, 170 tasks, spanning six orders of magnitude 05:40.
A three-stage pipeline diagram the narration only gestures at. Stage 2 splits into Human Runs ("1 hrs ✗ / 2 hrs ✓ / 3 hrs ✓") feeding a # Time Estimate, and Agent Runs (✗ ✓ ✓) feeding a % Success Rate. Stage 3, "Time Horizon Analysis," shows a miniature sigmoid of success rate against time estimate with a dashed line dropped at 50%, producing a # Horizon Length, which is then plotted against Model Release Dates to yield Doubling Time. The whole method in one picture.
Human baselines come from professionals with roughly five years' experience recording completion times on successful attempts, aggregated by geometric mean 12:00. The acknowledged bias: experienced people are conditioned to what success looks like and systematically underestimate difficulty. The example-task table shown on screen is reproduced verbatim below 11:12; the cuda_backtesting task carries a specific performance target the spoken version rounds off.
Family
Length
Description (verbatim)
find_shell_script
3 seconds
Multiple choice: "Which file is a shell script?" Choices: "run.sh", "run.txt", "run.py", "run.md"
wikipedia_research
1 minute
Research simple factual information from Wikipedia and provide accurate answers to straightforward questions.
oxdna_simple
9 minutes
Detect and fix a bug in the input files for a molecular dynamics simulation using the oxDNA package.
munge_data
56 minutes
Write a Python script to transform JSON data from one format to another by inferring the conversion rules from provided example files.
cuda_backtesting
8 hours
Speed up a Python backtesting tool for trade executions by implementing custom CUDA kernels while preserving all functionality, aiming for a 30x performance improvement.
Model Success Rate vs Human Completion Time. Y-axis is mean model success rate, 0.0–1.0; x-axis is human time-to-complete on a log scale ticked 1 sec, 2 sec, 4 sec, 8 sec, 15 sec, 30 sec, 1 min, 2 min, 4 min, 8 min, 15 min, 30 min, 1 hr, 2 hrs, 4 hrs, 8 hrs, 16 hrs. A dashed regression line runs top-left to bottom-right with R² = 0.83 printed in the corner. Green crosses (SWAA) cluster at 0.8–1.0 out to about 30 sec. Blue crosses (HCAST) fan out between 1 min and 4 hrs and scatter from 0.76 down to a solid floor of 0.0 — the collapse to zero begins around 8–15 min and is nearly total past 1 hr. Orange crosses (RE-Bench) sit at 8–16 hrs, almost all at 0.0 with one point at ~0.16.
The headline plot: "Length of tasks AI agents have been able to complete autonomously — for 169 software engineering, cybersecurity, general reasoning, and ML tasks." Y-axis is "task time (for humans) that model completes with 50% success rate," log-ticked 1 sec to 4 hrs; x-axis is model release date, 2019 to 2027. Green points with vertical error bars sit on a straight purple fit; labelled points are GPT-2 (~2 sec, 2019), GPT-4 0314 (~5 min, 2023), and o1 / Claude 3.7 Sonnet near the top right just under 1 hr. Printed in the lower right: Doubling time: 7 months · 95% CI: 171 to 249 days · R²: 0.98. Note the plot says 169 tasks while the suite slide totals 170 (97+66+7).
A separate slide lists the trajectory explicitly 14:54: GPT-2 (2019) ~2 seconds; GPT-3 (2020) ~8 seconds; GPT-3.5 (2022) ~1 minute; GPT-4 (2023) ~8 minutes; Claude 3.7 Sonnet (2025) ~59 minutes. The drivers slide is short — better logical reasoning and code generation, improved tool use, "greater reliability: reduced 'looping' behaviors," and better error recovery and self-awareness 15:23.
Camera note: from roughly 16:05 to 20:15 the recording stays on the room camera and the projector is not in frame. That stretch is transcript-only — it is the class discussion where students add context engineering (including compaction at the end of the context window), feedback from user logs, explicit planning that triggers re-planning mid-execution, and memory of a codebase as an environment model.
The same plot at 80% success rate, and the visual argument is the gap between two lines. A faint gray dashed line — the 50% trend from the previous slide — runs above a purple fit for 80%, roughly parallel. Same axes. The legend enumerates every model plotted, in red-orange (Anthropic) and green (OpenAI): Claude 3.7 Sonnet, Claude 3.5 Sonnet (New), Claude 3.5 Sonnet (Old), o1, o1-preview, GPT-4o, GPT-4 1106, GPT-4 0314, gpt-3.5-turbo-instruct, davinci-002 (GPT-3). Claude 3.7 Sonnet, the top point, sits between the 8 min and 15 min ticks. Printed: Doubling time: 213 days · 2020-01-01+ data · R²: 0.97.
The comparison slide states it flatly 21:59: "80% horizon: Similar doubling time but ~5x shorter" and "Claude 3.7: 15 min (80%) vs 59 min (50%)." (The captions render "~5x shorter" as "five weeks shorter"; the slide is the reliable text.) The doubling times are effectively identical — 7 months at 50%, 213 days at 80% — so the reliability penalty is a constant factor, not a slower trend.
50% success is a coin flip. "That's like saying you gave your task to an intern, but it only completes it 50% of the time."
The slide shows raw counts, not percentages, for GPT-4 1106 against o1 — and the totals are nearly identical, which the narration does not say.
Failure type
GPT-4 1106
o1
Poor planning/tool choice
4
6
Incorrect mental math/reasoning
6
7
Premature task abandonment
8
16
Repeating failed actions
12
2
Other
1
1
Total
31
32
Reasoning buys a 6× reduction in repeated failed actions (12 → 2) and pays for it with double the premature abandonment (8 → 16). The failure budget moves; it does not shrink.
Three checks on the slide. Messiness factors (16 dimensions): lower performance at higher messiness, but similar trends across messiness levels and no evidence of plateaus on messier tasks. SWE-bench Verified replication: similar exponential trend but a shorter doubling time of ~70 days, which the slide attributes to "annotator time underestimating easier tasks" — the contamination story about models having seen public GitHub repositories is spoken, not written. Internal PRs: contractors are 5–18× slower than maintainers, model performance is consistent with contractor times, and therefore time horizons measure "low-context human" capability.
The pivot slide reframes the question as "not 'can AI do this?' but 'is AI output good enough?'", scored as head-to-head competition with industry experts. The slide specifies 14+ years experience, where the narration says "more than a decade" 28:00.
Two dense slides the speaker skims. The first is a 3×3 grid naming all 44 occupations under their sectors: Real Estate and Rental and Leasing, Government, Manufacturing, Professional/Scientific/Technical Services, Health Care and Social Assistance, Finance and Insurance, Retail Trade, Wholesale Trade, Information. The entries are BLS-style occupation titles, not job categories — "first-line supervisors of police and detectives," "medical secretaries & administrative assistants," "securities, commodities & financial services sales agents," "sales representatives, wholesale & manufacturing, except technical & scientific products." Health care is nurses and nurse practitioners, with no physicians — a gap noted aloud during the walkthrough.
The second slide is a montage of nine real tasks, each pairing a "Prompt + task context" document thumbnail with an "Experienced human deliverable": a rendered CAD assembly of a cable reel stand; a competitor-landscape spreadsheet for last-mile delivery; a skin-lesion consultation report with photo plates; a playable video intro reel; a customer-return email; a Bahamas itinerary with photo tiles; an audited purchase-order spreadsheet; a property sales brochure with interior photography; and a color-coded vendor-fair table layout. The deliverables are the point — documents, spreadsheets, CAD renders and video, not text answers.
Construction is top-down 33:39: 9 sectors contributing >5% to GDP, 44 occupations, 1,320 tasks with 220 in an open gold subset, "predominantly digital" defined as ≥60% of O*NET tasks being computer-based. Characteristics 34:38: average 7 hours completion time (some span weeks); multimodal (CAD, video, audio, spreadsheets, presentations); average $398 value per task in the gold subset; 67.7% require interaction with reference files; 89% rated well-specified by experts.
GDPval: Pairwise Expert Preferences. Y-axis is "win rate vs. industry professional (%)", 0–60%, with a horizontal dashed line at 50% labelled "Parity with Industry Expert". Each bar is two-toned — dark for Wins Only, light for Wins + Ties — with error bars. Left to right: GPT-4o 12.4% · Grok 4 24.3% · Gemini 2.5 Pro 25.5% · o4-mini high 27.9% · o3 high 34.1% · GPT-5 high 38.8% · Claude Opus 4.1 47.6%. No bar reaches the parity line. The slide's own caption reads "Different pattern from METR: Roughly linear, not exponential."
Asked whether METR and GDPval disagree 37:16, the answer is that they measure different metrics — but an exponential invites you to assume hours become days become weeks, and GDPval says that on real multi-hour work, broken down by profession, models are only so reliable.
Failure Modes: Prevalence of Label. Grouped bars, y-axis "% of Total Samples" (0–100%), three series: Instruction Following / Formatting / Accuracy. Values: Claude Opus 4.1 — 14% / 5% / 6%; GPT-5 high — 9% / 10% / 5%; Grok 4 — 35% / 13% / 5%; Gemini 2.5 Pro — 40% / 6% / 7%. The side text: "Claude, Grok, Gemini: Often promise but don't deliver, ignore reference data" and "GPT-5: Mainly formatting errors, fewest instruction-following issues." Note the ordering the captions blur: GPT-5 high has by far the lowest instruction-following rate (9% against Gemini's 40%) and is the only one of the four whose formatting errors outnumber its instruction-following errors.
GDPval: GPT-5 high Failure Analysis. Four bars, y-axis "Percentage of Tasks": Model better 22.9% · Acceptable but subpar 47.7% · Bad 26.7% · Catastrophic 2.7%. The side text rounds these to 48% acceptable-but-subpar and 29% bad-or-catastrophic, and adds a number the narration only alludes to: 23% of the time a human grader disagreed with the original assessment.
The economics table 40:33 compares three review strategies. "Naive" is the raw model-versus-human ratio; "Try 1x" and "Try nx" fold in the cost of a human reviewing and, in the n case, iterating.
Model
Win rate
Speed improvement
Cost improvement
Naive
Try 1x
Try nx
Naive
Try 1x
Try nx
gpt-4o
12.5%
327x
0.87x
0.46x
5172x
0.90x
0.53x
o4-mini
29.1%
186x
1.02x
1.06x
1265x
1.06x
1.22x
o3
35.2%
161x
1.08x
1.28x
480x
1.13x
1.47x
gpt-5
39.0%
90x
1.12x
1.39x
474x
1.18x
1.63x
Two things the table shows and the bullets do not. GPT-4o is a net loss under review — 0.46× speed and 0.53× cost against an unaided expert, because checking a 12.5%-win-rate model costs more time than it saves. And the naive speedup falls as models improve (327× → 90×): stronger models think longer.
The variation slide is specific where the narration is vague 41:46: by sector, "Government, Retail, Wholesale near parity; others lag"; by duration, "best on 0-2 hour tasks; declines with longer tasks"; by modality, "Claude better on multimodal; GPT-5 better on text."
Three consecutive 5×3 panel grids — GDPval: Pairwise Expert Preferences by Occupation — one panel per occupation, seven bars each (gpt-4o, gemini, grok, o4-mini-high, o3-high, gpt-5-high, claude), y-axis 0–100%, with a red dashed line at 50% marking human-expert parity. This is the "extremely dense plot" the speaker points at. Values legible on crops of the source video:
Occupation
gpt-4o
gemini
grok
o4-mini-high
o3-high
gpt-5-high
claude
Counter and Rental Clerks
—
41%
—
—
45%
57%
81%
Shipping, Receiving & Inventory Clerks
27%
22%
18%
53%
64%
57%
76%
Software Developers
—
46%
50%
—
70%
68%
70%
Editors
13%
43%
44%
44%
69%
75%
64%
Personal Financial Advisors
—
27%
16%
18%
27%
20%
64%
Dashes are labels too small to resolve even after cropping. Two patterns the aggregate 47.6% hides: several occupations sit well above parity, and the model ranking flips by occupation — Claude leads clerical and advisory work by a wide margin (Personal Financial Advisors: 64% against 27% for the next-best) while GPT-5 high leads Editors. Industrial engineers, mechanical engineers, lawyers, financial managers and pharmacists are the visibly flat panels, every bar far below the red line.
The sharpest single result in the GDPval section. Under-specified prompts deliberately removed context: 42% shorter prompts by token count, and win rate falls only 47.7% → 44.3%. The small drop is the finding — the slide's bold line is "Models struggle to 'figure out what to work on'", which the win-rate metric barely registers because a model that works on the wrong thing competently still sometimes wins the comparison.
The follow-on slide poses it as the critical question 46:42: are we measuring "can a smart person do this?" or "can someone embedded in this work do this?"
The task a student requested in the first ten minutes, turned into a benchmark: generate related-work sections for academic papers. Construction 52:55: 100 queries from recent arXiv papers at PhD-level difficulty, 22 domains, re-runnable monthly with new papers, using only post-training-cutoff papers to avoid contamination. Three evaluation dimensions 53:32 — knowledge synthesis (organization & coherence; nugget coverage), retrieval quality (relevance rate; document importance by citation counts; reference coverage), verifiability (citation precision; claim coverage) — all validated at 70–82% human agreement.
Key finding, stated on the results slide: no system exceeds 19% across all metrics.
The per-dimension numbers 55:16 are more specific than the narration. OpenAI DeepResearch leads knowledge synthesis with an organization score of 0.857, but all systems are under 40% on nugget coverage — they write coherently and miss key facts. Best reference coverage is 18.7% (OpenAI DeepResearch); document importance is under 12.5% for everything. On verifiability, DeepScholar-base reaches 93.6% citation precision (the captions say "90%") while OpenAI DeepResearch scores lower despite the better prose.
The failure analysis 56:39 names the oracle experiment the narration rounds off: hand a system the perfect sources and it still surfaces only 52.8% nugget coverage. Systems retrieve relevant documents but miss foundational papers, and struggle to assess document importance as distinct from relevance. No system excels at both synthesis quality and verifiability — OpenAI DeepResearch has the best synthesis and weaker citations; DeepScholar-base has strong citations and merely decent synthesis.
Research synthesis is run through all three lenses on one slide 1:01:32: METR would call it a 30 min – 8 hr task, inside the current ~50 min capability range for Claude 3.7 — "BUT quality at this horizon is still poor." Key gaps listed: multi-step reasoning over many sources, comprehensive information gathering, maintaining verifiability while synthesizing, and context acquisition from distributed sources. The takeaway line: "We're not just limited by task duration — quality of synthesis at reachable horizons needs major improvement."
Each benchmark's blind spots are named 1:02:51. METR: automatic scoring only, no multi-agent interaction, lax resource constraints, not punishing of mistakes. GDPval: tasks precisely-specified and one-shot, no iterative back-and-forth with stakeholders, limited tacit knowledge requirements.
Punishing/adversarial environments; long-term reliability at >95%
Well-organized outputs from strong models
Generalization beyond software/knowledge work
Finding comprehensive sources (all systems <19% ref coverage); surfacing essential facts (all systems <41% nugget coverage)
The closing takeaways slide 1:07:05 sets the three trends against each other: METR's exponential 7-month doubling over 6 years, currently ~50 minutes, forecast to a 1-month horizon by 2028–2031 (with caveats); GDPval's linear improvement over 2024–2025, currently ~48%; DeepScholar-Bench's sub-19% ceiling with critical gaps in retrieval comprehensiveness. The insight slide follows 1:07:46 with the sentence that holds the lecture together: "Key tension: Reaching time horizons ≠ high-quality outputs."
The Q&A 1:08:19–1:15:11 is room-camera only apart from a return to the METR pipeline slide at 1:12:18, used to answer how the 50% figure is computed — per-task success rate over multiple agent attempts, averaged across the 97 HCAST tasks, not a per-task floor. On what blocks the long tail 1:13:44: a mix of data and fundamental capability; broad domains like legal and financial research adopt fast, narrow ones stall, and robotics is the clearest case of an entire cohort of startups treating data collection as the bottleneck.
Takeaways
The 50%/80% gap is a constant factor, not a slower trend. Doubling times are 7 months and 213 days respectively; the horizon itself drops 59 min → 15 min for Claude 3.7.
Reasoning models redistribute failures rather than removing them: o1 cuts repeated failed actions 12 → 2 but doubles premature abandonment 8 → 16, for the same total (31 vs 32).
GDPval's aggregate 47.6% hides enormous per-occupation spread — 81% for Claude on counter and rental clerks, 75% for GPT-5 high on editors, versus near-zero panels for industrial engineers and lawyers. The best model changes with the occupation.
Under review, a weak model is negative value: gpt-4o scores 0.46× speed and 0.53× cost against an unaided expert.
Removing 42% of prompt context costs only 3.4 points of win rate — evidence that win rate is the wrong instrument for measuring context acquisition, not that context does not matter.
Even given perfect sources, research-synthesis systems extract only 52.8% of the key facts.
The closing lecture — the deck is titled Lecture 20 — Last Lecture — surveys four papers chosen to name four bottlenecks: diversity of reasoning chains, verification, where training prompts come from, and, on a different axis, the energy cost of intelligence. Each paper gets three to six slides whose figures carry most of the argument, followed by two "what's next" slides that are the real deliverable.
On the recording: it is a screen capture of a Google Slides deck in a Chrome window, with a two-person video strip above. There is no room camera and no cut away from the slides, so everything below is checkable against a frame — except two stretches, flagged in place, where one static slide stays up through a long Q&A.
"CS329A at a Glance" 00:40 lists the quarter as a flat outline: Test-time Scaling; Self-improvement Techniques (sub-bulleted Verifiers, Feedback, RL, Search); Evolution Strategies; Tool-use/Actions; Augmenting LLMs with Retrieval/Memory; Planning and Multi-step Reasoning; Robust Agent Evals; guest lectures from frontier AI labs and startups; Multimodal Agents & Robotics. One item is added aloud but is not on the slide — the guest lecture on symbolic techniques, filed under tool use, feeding synthetic data. Three definitional slides follow, cited to Anthropic's "building effective agents" 02:27–03:32: the agent loop, the contrasting agentic workflow ("systems where LLMs and tools are orchestrated through predefined code"), and a parts list closing on agentic workflows require planning, multi-step reasoning and self-improvement.
"Today's lecture" 04:12 names the four papers: Multiagent Finetuning: Self Improvement with Diverse Reasoning Chains; DeepSeekMath-V2: Towards Self-Verifiable Mathematical Reasoning; Absolute Zero: Reinforced Self-play Reasoning with Zero Data; Intelligence-Per-Watt: A Study of Local Intelligence Efficiency. The agenda slide 04:38 gives three lines that recur verbatim at the end: generalization via train-time scaling in reasoning; robust verification and meta-verification loops for diverse tasks; breaking through the data barrier of task selection.
Bottleneck 1 — diversity of reasoning chains 06:59–14:25
Iterative finetuning on self-generated data is described on the slide as running "into plateauing problem. Performance stops increasing, or even declines," with STaR and ReST named as variants 06:59. The diagnosis slide 08:05 gives two causes — lack of diversity, reliance on single models — and the fix: specialized agents split into generation agents (produce diverse initial solutions) and critic agents (evaluate and refine them).
"Step 1: Generate data" shows the multiagent-debate pseudocode: for each task x, for m in M rounds — if m = 0, each generation agent AG1..N(x) produces y1,1…y1,N; else summarize the responses from other agents in round m−1 into x*m,1..N and pass those to each critic agent AC. It ends with ŷ ← Majority Voting {yM,1…yM,N}. At 10:01 an orange hand-drawn annotation with an arrow into that last line reads: "Determines what is a correct generation + trajectory!" — majority vote is the label source, not just the answer.
Generation models then train on their own outputs across rounds, filtered for a match with the final majority vote; critic models get "a mix of trajectories where answer is correct from the start, and where answer is corrected over course of debate" — both halves matter, since the critic learns by contrast.
"Results: Does this Work?" — three accuracy-vs-iterations panels on MATH500, x-axis Iterations of finetuning 1–5, each with a shaded band. Phi-3: multiagent FT 58.8 → 66.1; single-agent FT 50.2, peaks 51.7 at iteration 3, then falls to 45.4. Mistral: multiagent 22.5 → 28.2; single-agent 17.2, peaks 20.1 at iteration 2, ends 18.1. LLaMA-3 (8B): multiagent 57.5 → 67.0; single-agent 52.2, peaks 54.6 at iteration 2, ends 52.0. In none of the three does the single-agent curve merely flatten — it turns over and declines.
"Results: Does this actually preserve diversity?" — four panels on the MATH dataset, two metrics. Negative Log-Likelihood (higher = more diverse), y 0.2–0.8: LLaMA-3 multiagent climbs 0.62 → 0.78 while single-agent sags 0.52 → 0.48; Mistral multiagent 0.58 → 0.63, single-agent flat near 0.50. Embedding Dissimilarity, LLaMA-3: multiagent falls 0.41 → 0.345, single-agent falls 0.25 → 0.105; Mistral: 0.455 → 0.355 versus 0.30 → 0.205. This corrects the spoken summary: under the embedding metric the multiagent runs also lose diversity, roughly four times more slowly. The caption is precise — diversity "remains consistent … for one metric and improves for another metric, whereas the diversity of the single-agent method drops significantly."
A slide that falls between sampled frames, "Results: Do fine-tuned agents actually generalize?" — a bar chart of GSM Accuracy: Base 44.00, Majority 49.00, Debate 51.00, STaR 48.00, Majority-FT 45.00, Ours (zero-shot) 54.00. The caption carries the claim: the method is trained on MATH and evaluated zero-shot on GSM, and "outperforms all the baselines that are trained on the GSM dataset."
Bottleneck 2 — the verification ceiling 15:47–22:45
The outcome-reward slide 15:47 is blunter than the narration: outcome reward models "enabled saturation of AIME, HMMT competitions in ~1 year" (the captions render this as "Amy"), and are an unreliable proxy — correct answers don't guarantee correct reasoning, via lucky errors and flawed logic — as well as inapplicable to theorem proving, which needs step-by-step derivation rather than numerical answers.
Critical observation: No generation–verification gap in natural-language theorem proving. 16:20
The training premise adds a claim the transcript skips: verification effort serves as proxy for proof quality. The architecture 17:41 is three roles — a verifier trained to identify issues and score proofs on (0, 0.5, 1), three levels rather than the two the narration mentions; a meta-verifier reviewing the verifier's analyses for faithfulness; a generator producing proofs with self-verification capability. The meta-verification slide 19:26 names the failure mode exactly — the verifier "can get correct score while hallucinating non-existent issues — e.g. predict score=0.5 with fabricated 'errors' that don't exist" — and checks whether those issues actually exist and whether the score follows from them. It reports a number the lecture never says aloud: verifier analysis quality improved from 0.85 → 0.96 while maintaining score accuracy.
The methodology slide 20:00 is similarly specific. Training is GRPO — the transcript says "TRPO", which is wrong — with iterative optimization Verification → Generation → Repeat on base model DeepSeek-V3.2-Exp-Base. Benchmarks come with sizes: in-house CNML-level problems (91 across 5 categories); IMO 2025 and CMO 2024 (6 problems each); Putnam 2024 (12); IMO Shortlist 2024 (31); IMO-ProofBench (60, Basic + Advanced).
Figure 2, "IMO Shortlist 2024": y-axis Proof Score 0.15–0.40+, x-axis Max Sequential Iterations 1–8, described as "1 (no refinement) to 8 (initial generation plus up to 7 refinements based on self verification)". Pass@1: 0.15, 0.18, 0.21, 0.22, 0.24, 0.24, 0.26, 0.27. Best@32: 0.26, 0.29, 0.33, 0.39, 0.39, 0.40, 0.40, 0.42 — most of its gain in the first four iterations, then a plateau. Worth flagging: the summary slide that follows 21:14 states "Best@32 improves: 0.15 → 0.42", but the figure's Best@32 curve starts at 0.26; 0.15 is the pass@1 starting point.
The takeaways slide generalises the recipe: a verifier trained to identify issues without reference solutions; meta-verification to reduce hallucinated issues; a self-verification incentive; and automated labeling, where scaled verification compute eliminates human annotation.
Bottleneck 3 — where do the tasks come from? 23:32–31:46
The scalability slide 23:32 has four bullets: SFT needs human-curated reasoning traces; RLVR still depends on expert-curated question-answer pairs; high-quality human data is scarce and expensive; and, as AI potentially surpasses human intelligence, human-designed tasks may limit learning potential.
The Absolute Zero pipeline. An "Absolute Zero Reasoner" box feeds a Self-play arrow into a "Task Types" panel and splits two ways: PROPOSE → "Construct & Estimate" (marked with a Python logo) → Learnability Reward; SOLVE → "Verify" (also Python) → Accuracy Reward. Both feed a single Joint Update. The legend separates solid arrows (model input/output) from dashed (model reward) and defines P = Program, I = Input, O = Output. The Task Types panel states the modes as equations — Abduction: O = P(?), Deduction: ? = P(I), Induction: O = ?(I) — infer the input, infer the output, infer the program. The deck then contradicts itself: the text slide that follows describes abduction as "similar to deduction — generates (program, input), environment computes output", which is not what the equations say, and the narration follows the text slide.
That same "Proposer" text slide supplies the diversity mechanism: the proposer is "conditioned on K past self-generated examples from a buffer, explicitly prompted to generate different tasks to promote diversity."
The learnability reward 27:04 is written out: if average solver success rate = 0 (unsolvable), reward = 0; otherwise reward = 1 − average_success_rate, and the line the narration omits — this is estimated via Monte Carlo rollouts of the solver with non-zero temperature. Validation 28:07 adds three gates before a task enters training: program integrity (must execute without errors and return a value), safety check (filters dangerous packages — os, sys, subprocess), determinism check (identical outputs across executions). The whole run bootstraps from one seed triplet that is the identity function, def f(x): return x.
Results 29:21: state of the art on coding benchmarks despite zero human-curated data, outperforming models trained on tens of thousands of expert examples. The emergent behaviours come with named metrics — complexity measured by ComplexiPy and Halstead rises over training without explicit optimization, and diversity of programs and answers grows.
The proposer and solver exhibit mildly adversarial but ultimately cooperative dynamics.
The takeaways slide 30:42 adds a scaling number absent from the audio: "Scaling Wins: Larger models gain more — 14B improves 13+ points vs 6 points for 3B." Under "Surprising Transfer", training only on self-proposed code tasks reaches state of the art on both coding and math. Mirhoseini connects this to SWiRL from the planning lecture 31:46 — model-generated data transferring across tools and domains, larger models absorbing the flywheel better.
Where verification is genuinely hard 33:10–39:32 — transcript only
For roughly six minutes the "What's next: improving the self improvement loop" slide sits static while the instructors and class talk; nothing new appears on screen. The content: the hard cases are those where verification is slow rather than subjective — chip-design simulation taking days, wet-lab chemistry — because RL needs hundreds or thousands of iterations and tolerates minutes, maybe an hour, not days. One workaround is a reward model trained to predict a simulation's outcome from offline data, bounded by data volume and prone to reward hacking when inaccurate. The KernelBench example 38:11: compiler execution tells you whether the kernel is correct, but reading performance profiles to find the unoptimized parts of a large concatenated program is harder — being attempted, the instructor notes mid-sentence, by a class project decomposing it into sub-parts with a knowledge base of reference solutions.
The title slide 40:27 carries the full author list, which the narration compresses to "Professor Ré and Professor John Hennessy and a large team": Jon Saad-Falcon*, Avanika Narayan*, Hakki Orhun Akengin, J. Wes Griffin, Herumb Shandilya, Adrian Gamarra Lafuente, Medhya Goel, Rebecca Joseph, Shlok Natarajan, Etash Kumar Guha, Shang Zhu, Ben Athiwaratkun, John Hennessy, Azalia Mirhoseini, Christopher Ré.
"The Mainframe Era — Demand is exploding faster than infrastructure can scale". Left: Google Cloud 1200× growth in 20 months; NVIDIA 10× year-over-year; 250GW data centers as the infrastructure response. Right: "Google AI Token Processing Growth", y-axis Tokens Processed per Month (Trillions) 0–1400, x-axis Feb 2024 → Oct 2025, four labelled points — 160T, 480T, 980T, 1.3Q — flat until early 2025, then near-vertical. An inset "Key Insights" box: 8.1× increase in 20 months; doubled from May to July 2025 (480T → 980T); covers Search, Gemini, Workspace, YouTube, Chrome. The narration says "1.3 billion" for the last point; the slide says quadrillion.
The usage-mix chart, sourced on the slide to Chatterji, Cunningham, Deming, Hitzig, Ong, Shan & Wadman (2025), "How People Use ChatGPT," NBER Working Paper No. 34255. Y-axis Share of Messages 0–36%, x-axis Jul 2024 → mid-2025, seven curves with end-point labels: Practical Guidance 28.8%, Seeking Information 24.4%, Writing 23.5%, Multimedia 7.3%, then self-expression, other/unknown and technical help clustered near 5% each. The top three sum to the 77% quoted aloud. The shape matters: Writing starts highest at ~34%, peaks near 36%, then declines to ~24%, crossing below Practical Guidance in early 2025 while Seeking Information climbs from ~18%.
The hardware counterpart 44:45, "Dawn of the PC AI Era — Local inference as a path to redistribute compute", plots GPU Memory (GB) on a log axis against Release Year 2012–2025 for local accelerators, annotated 126.3× Improvement — a stepped curve, nearly flat 2015–2020 then jumping — with slide text noting local hardware now runs models once confined to data centers at 128GB–200GB. The metric slide 46:26 gives the definition in two forms: capability ("What % of today's single-turn chat and reasoning LLM queries can local LMs (<=20B active params) answer correctly?") and a formula labelled acc/W — mean task accuracy ÷ mean power draw.
Study scope, from a table the narration only gestures at. Models: 20+ local LMs (Qwen3, gpt-oss, Gemma3, IBM Granite) at 1B–200B parameters — a wider band than the ≤20B active-params figure in the capability definition. Hardware, local: Apple M4 Max, RTX Quadro A6000, RTX 6000 Ada; cloud: Nvidia A100, H200, GH200, B200, AMD MI300X, SN40L. Workloads: 1M queries from 3 sources — real-world ChatGPT queries via WildChat, Natural Reasoning, and MMLU-Pro / SuperGPQA. Evaluation is under single-query inference, batch size = 1, called the standard deployment setting for local benchmarking — a caveat worth carrying, since batch size 1 is the worst case for enterprise accelerators.
"Findings — Local AI is viable and improving". Left chart, "Local LM Intelligence", y-axis Win/Tie Rate of Local LM (%), x-axis "Best Local Model Each Year", stacked local-versus-cloud bars: 23.2 (2023), 48.7 (2024), 71.3 (2025) — that ratio is the "3.1× in two years", a distinct measurement from the bullet's "handle 88.7% of queries accurately". Right chart, "Local Intelligence Efficiency — compounded growth from models & accelerators", y-axis Intelligence/Watt: 7.92e-4, 1.80e-3, 4.18e-3 for 2023–2025, annotated 5.3× Improvement and decomposed in the bullets as 3.1× from better models plus 1.7× from better hardware. Middle bullet: an Apple M4 Max delivers 1.5× lower IPW than a B200.
"Research Directions Forward" 52:16 lists three bullets — understanding foundational principles in test-time scaling and learning from the synthetic-data flywheel; continual learning from generated test-time experiences on the fly; infra for high-throughput / low-latency test-time scaling — over a three-box pipeline, (Pre-)training → Fine-tuning or Online / Continual learning → Test-time, with a feedback arrow from Test-time back into the middle box, and the footer link https://scalingintelligence.stanford.edu/. Spoken alongside: the question behind the first is why repeated sampling surfaces correct answers at all, and how best to distil successful trajectories back into the model; behind the third, that repeated sampling, revision and tool calling look nothing like single-turn chat serving. Her lab's own inference-systems work is named aloud here, but the captions garble the project names and no slide lists them.
"What's next: the era of intelligence efficiency" 56:55 is the efficiency counterpart: new inference serving engines for local/cloud resources; new model architectures and kernels for energy-efficient inference, framed as accelerator–architecture co-design; and more granular intelligence-per-watt measurements across tasks, hardware and deployment settings. The deck then returns to the same three self-improvement bullets from the opening, closing the loop.
The last eight minutes run over a static "End of Lecture 20" slide. The best exchange is continual learning versus memory 01:00:18–01:04:19: one path is effectively infinite context — a model with perfect access to unbounded context could hold every positive and negative experience at once — but in-context reasoning quality degrades well before a few million tokens, which is why techniques like cartridges push knowledge into KV caches instead of weights. The counter-argument is the sharper half:
No matter how much memory systems you add … cross-embodiment generalization doesn't happen if you don't update the weights. That's more of a skills transfer problem. 01:03:39
A last question asks whether agents can self-create environments, as Absolute Zero does for tasks. The answer reframes it: environments matter as proxies for real-world tasks, so the hard part is not who writes the simulator but whether it is a reasonable proxy for the feedback the model gets from the real world.
Takeaways
Single-agent iterative finetuning doesn't plateau — it declines. On MATH500 it peaks by iteration 2–3 and falls (Phi-3 51.7 → 45.4) while multiagent FT keeps climbing (Phi-3 58.8 → 66.1; LLaMA-3 8B 57.5 → 67.0).
Diversity is only half-preserved: negative log-likelihood improves under multiagent FT, but embedding dissimilarity still declines — 0.41 → 0.345 versus single-agent's 0.25 → 0.105.
DeepSeekMath-V2's contribution is a third role, not a better reward model: a meta-verifier checking whether the verifier's identified issues exist and whether the score follows from them. Verifier analysis quality 0.85 → 0.96; IMO Shortlist 2024 pass@1 0.15 → 0.27, Best@32 0.26 → 0.42 over 8 iterations, via GRPO on DeepSeek-V3.2-Exp-Base.
Absolute Zero's proposer reward, 1 − average_success_rate (zero if unsolvable, estimated by Monte Carlo rollouts at non-zero temperature), is a curriculum with no human data — bootstrapped from the seed triplet def f(x): return x. 14B gains 13+ points versus 6 points for 3B.
Intelligence per watt = mean task accuracy ÷ mean power draw. The best local model's win/tie rate against cloud went 23.2% → 48.7% → 71.3% (2023–25) and intelligence/watt 7.92e-4 → 4.18e-3 (5.3× = 3.1× models × 1.7× hardware) — at batch size 1, where an Apple M4 Max is still 1.5× behind a B200.