Nathan Lambert
Course on RLHF and post-training. Chapter 16.
Different model types need different strategies.
As models get smarter, we need to re-invent the cutting edge of AI.
Evaluation is at the core of AI progress and understanding truth of what the models are.
When Opus 4.6 and GPT-5.3-Codex shipped in the same week (Feb 2026), the headline benchmark deltas were tiny – and settled nothing about which model to use.
What separated them was found through use: usability, product fit, behavior over long agentic tasks. Benchmark-based release reactions barely matter at the frontier – consistent testing and clear articulation have to carry the comparison.
Read on Interconnects: the post-benchmark era

The task length frontier models can complete (at 50% success) doubles roughly every 7 months – from seconds-long questions to tasks that take human experts hours (Time Horizon 1.1).
Measuring the frontier now means running hours-long expert tasks, many times over.

Every training decision in this course – data mixes, hyperparameters, which checkpoint ships – is made off benchmark numbers.
Today: How we got to modern benchmarking approaches and research.
The key to understanding evals: popular benchmarks are a reflection of the training best practices of their moment.
Base models can’t take a bare or formatted question – eval prompts carried examples of the patterns (3 to 8+ in-context samples) so the model continues the pattern. Canonical evals: 5-shot MMLU, 8-shot GSM8K.
# Few-Shot Prompt
Below are examples of MMLU-style questions and answers:
### Example 1
Q: A right triangle has legs of lengths 3 and 4.
What is the length of its hypotenuse?
Choices:
(A) 5
(B) 6
(C) 7
(D) 8
Correct Answer: (A)
### Example 2
Q: Which of the following is the chemical symbol for Sodium?
Choices:
(A) Na
(B) S
(C) N
(D) Ca
Correct Answer: (A)
### Now answer the new question in the same style:
Q: Which theorem states that if a function f is continuous
on a closed interval [a,b], then f must attain both a
maximum and a minimum on that interval?
Choices:
(A) The Mean Value Theorem
(B) The Intermediate Value Theorem
(C) The Extreme Value Theorem
(D) Rolle's Theorem
Correct Answer:
Log-likelihood scoring: compare the probability the model assigns each answer option – either just the letter A, or the full answer string. No sampling, fully deterministic. The standard for pretraining evals, where models couldn’t always answer in a clean format.
Generation + exact match: sample a completion, extract the answer. Mirrors real usage – and is standard for post-training since ~2024. Aggregating multiple completions/samples gives majority voting; e.g. pass@k is a common tool.
Generation and extraction gave rise to answer extraction formatting bugs, which only became more complex with agentic models today.
pass@k = the probability that at least one of k samples solves the problem.
The naive route – generate exactly k, report whether any passed – is a high-variance coin flip per problem, and plugging a small-sample success rate into 1-(1-\hat{p})^k is biased.
The fix, from the Codex paper: sample n \geq k completions, count the c that pass, and average an unbiased estimator over problems.
Prompt in, completion out, grade it. Almost everything that could go wrong was in how you formatted the prompt.

Slide Credit: Florian Brand
Few-shot examples that show intermediate steps let models reason before answering. When people were still prompting base models, adding CoT made math and reasoning scores jump! This is before modern post-training as well.
Soon just appending “Let’s think step by step” to a prompt approximated this behavior.
# standard prompting
Q: Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 tennis balls. How many tennis balls does he have now?
A: The answer is 11.
Q: The cafeteria had 23 apples. If they used 20 to make lunch and bought 6 more, how many apples do they have?
A: The answer is ...
# chain-of-thought prompting
Q: Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 tennis balls. How many tennis balls does he have now?
A: Roger started with 5 balls. 2 cans of 3 tennis balls each is 6 tennis balls. 5 + 6 = 11. The answer is 11.
Q: The cafeteria had 23 apples. If they used 20 to make lunch and bought 6 more, how many apples do they have?
A: The cafeteria had 23 apples originally. They...
Instruction tuning (FLAN (Wei et al., 2022), T0 (Sanh et al., 2022)) and then RLHF changed the way people expected to use models: the models learned to directly answer questions. This, in retrospect, was a huge deal! But not the default.
Now, the input to the model can look like:
User: "What is the capital of France?"
Assistant:
When we trained Tülu 3 (summer 2024), many of our evaluations were a mix of zero-shot and few-shot prompting. Though, the field was focusing on a variety of skills (from Tülu 3):
By early 2025, everyone was using zero-shot prompting, and today multi-shot prompting for a post-trained model is very rare, unless the model wasn’t trained for it (true in-context learning).
What was GDP per capita in the United States in 1850 when adjusting for inflation and PPP in 2011 prices?
A. About $300
B. About $3k
C. About $8k
D. About $15k
Internet trivia more than intelligence – but it tracked pretraining knowledge well.
We know reasoning models today think before answering. Tülu 3’s MMLU prompt (a model before reasoning models) → the same MMLU eval as the few-shot era, now long-form CoT with exact-match checking.
Modern eval suites can carry per-benchmark prompts tuned for formatting etc.
Answer the following multiple-choice question by giving the correct answer letter in parentheses.
Provide CONCISE reasoning for the answer, and make sure to finish the response with "Therefore, the answer is (ANSWER_LETTER)" where (ANSWER_LETTER) is one of (A), (B), (C), (D), (E), etc.
Question: {question}
(A) {choice_A}
(B) {choice_B}
(C) ...
Answer the above question and REMEMBER to finish your response with the exact phrase "Therefore, the answer is (ANSWER_LETTER)" where (ANSWER_LETTER) is one of (A), (B), (C), (D), (E), etc.
We know reasoning models today think before answering. Tülu 3’s MMLU prompt (a model before reasoning models) → the same MMLU eval as the few-shot era, now long-form CoT with exact-match checking.
Modern eval suites can carry per-benchmark prompts tuned for formatting etc.
Sampling settings joined the prompt as part of the eval: reasoning models need temperature > 0 for their best scores – Qwen’s model cards literally say “DO NOT use greedy decoding”. Read the generation_config.json: the recommended settings are “free” performance.
\boxed{42}, MetaMath (Yu et al., 2024) wants The answer is: 42 – training on both can be worse than either aloneReasoning models saturated the old eval suites, so the next generation came:
What was the rarest noble gas on Earth as a percentage of all terrestrial matter in 2002?
Official answer: Oganesson
The official answer is wrong three ways: oganesson is not a gas (predicted solid), not noble (predicted reactive), and not terrestrial (synthetic, ~5 atoms ever made – first synthesized in 2002).
Past a certain difficulty, verifying the answer key is the bottleneck – expert-written no longer means correct.
Still, incorrect labels are a common problem in evals! Most evals saturate at 90-95%, not 100%.
Benchmarks are consumable. As scores approach the ceiling, only the hardest (and mislabeled) items remain, and the benchmark stops separating models.

A harness – the loop of prompts, tools, and context management around the model – runs in a sandbox: a reproducible world with the files, tools, and rules of the task.
Add hardware and timeouts, and hours-long trajectories get graded by regex or an LLM judge.

Slide Credit: Florian Brand
Slide Credit: Florian Brand
Every box is a knob someone chose, mostly undocumented – two labs running “the same benchmark” can measure meaningfully different things
Slide Credit: Florian Brand
Sampling at temperature > 0 means re-running the same eval on the same model moves the score.
During Olmo 3 we measured it: std. dev. across 3 runs of 14 models, per benchmark →
Most reasoning-era evals sit between 0.25 and 1.5 points of noise – before anyone changes a prompt or a sampling setting.
Could be higher with agentic evals!
More in Appendix C: evaluation variance.
| Benchmark | σ | |
|---|---|---|
| High variance | GPQA | 1.48 |
| AlpacaEval 3 | 1.24 | |
| IFEval | 0.88 | |
| Stable | ZebraLogic | 0.56 |
| AIME 24 (avg@32) | 0.54 | |
| Very stable | LiveCodeBench (avg@10) | 0.29 |
| MATH | 0.25 | |
| MMLU | 0.22 |

Source: Artificial Analysis
There’s a long-running field of study on understanding whether training data intentionally or accidentally improved a score.
Observed techniques:
Defenses:
Grading agents is adversarial now – benchmark design inherits all of reward hacking.
The established harnesses:
★ 2.5k – UK AI Security Institute★ 13.5k – EleutherAI’s standard since the GPT-3 era★ 2.5k – Hugging Face; powered the Open LLM Leaderboard★ 390 – Ai2’s reproducible evaluation system★ 2.9k – Stanford CRFM★ 4.4k – Mosaic, now DatabricksThe environments wave:
★ 64 (new) – Ai2’s workbench for evals inside the model-development loop (2026)★ 4.4k + Environments Hub – Prime Intellect’s library and community hub: 2,500+ verifiable environments that double as evals (AIME, Terminal-Bench, …)Two talks that go deeper on everything in this lecture:
