C.W.K.
Stream
Lesson 06 of 12 · published

Benchmark Literacy: MMLU to GPQA to HLE

~12 min · benchmarks, evaluation

Level 0Token
0 XP0/94 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

Knowing what each benchmark measures, and which ones are still hard, is the difference between hype and useful comparison. The frontier saturates fast — what was a state-of-the-art number two years ago is sometimes uninteresting today.

BenchmarkTestsStatus (2026)
MMLU57-subject multiple choiceSaturated — top models 88-92%
HumanEval164 Python programming problemsSaturated — top models 95%+
GSM8K8.5K grade-school math word problemsSaturated — top models 95%+
AIME 2024 / 2025Competition math (USA Math Olympiad qualifier)Hard — frontier 80-95%
SWE-benchReal GitHub issues, agentic patchesHard — frontier 60-75%
GPQAPhD-level science multiple choiceHard — frontier 80-85%
HLE (Humanity's Last Exam)Hardest open multi-domainVery hard — frontier <30%
RULERLong-context retrieval at varying depthsHard at long depths

For reference: Gemini 2.5 Pro AIME 2024 92%, GPQA 83%, SWE-bench 63%; Claude 3.7 Sonnet GPQA 84.8%; GPT-5 AIME 2025 94.6%, SWE-bench Verified 74.9%, hallucination rate ~4.8% in thinking mode.

Reading benchmark numbers responsibly

Benchmarks can be gamed (training on test sets, optimizing for benchmark style). Numbers without protocols are nearly meaningless. Look for: was the eval done with thinking enabled? what was the temperature? was the test set contaminated? did the model's training data leak the answers? When in doubt, run your own eval on tasks closer to your real use case.

Code

Building your own eval harness·python
# A 30-line harness beats most marketing benchmark numbers
import json

def evaluate(model_fn, eval_set):
    results = []
    for item in eval_set:
        out = model_fn(item['prompt'])
        passed = grade(out, item['expected'])  # task-specific grader
        results.append({**item, 'output': out, 'passed': passed})
    return results

def grade(output, expected):
    # For multiple-choice: exact match.
    # For code: run the code, check tests pass.
    # For free-form: rubric (consistency, length, on-topic).
    # The grader IS your eval — make it match what you actually care about.
    return output.strip() == expected.strip()
# Run this nightly against your candidates. The 'best model'
# becomes a measurable, reproducible answer.

External links

Exercise

Build a 30-prompt eval harness covering three categories your application actually uses (e.g., 'follow instructions', 'extract structured data', 'short factual answer'). Run three candidate models. Compare results to whatever public benchmarks each model advertises. How well does public correlate with private?

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.