Benchmarks
fixed Q&A test sets, auto-scored
LLM-as-judge
another model rates responses
Human preference
people compare outputs head to head
Real-world usage
the only evaluation that fully counts
Unlike a classifier with clean accuracy numbers, an LLM does open-ended, wildly varied tasks — coding, writing, math, conversation, tool use — and 'good' means different things in each. Evaluation is the discipline of turning that fuzzy question into numbers you can compare across models and over time, and every method for doing so has real blind spots.
- Benchmark — a fixed set of questions with known correct answers, scored automatically (MMLU, GSM8K, HumanEval).
- LLM-as-judge — using a strong model to score or compare another model's free-form responses, since there's no single correct answer to check against.
- Leaderboard — a public ranking aggregating scores across many benchmarks or human votes (e.g. Chatbot Arena).
- Contamination — when a benchmark's questions (or close variants) leaked into a model's training data, inflating its score without reflecting real capability.
Benchmarks are cheap and reproducible but brittle: a model can score well on a fixed multiple-choice test while failing at open-ended real use, and fixed benchmarks steadily lose their signal as models are (deliberately or accidentally) trained on data resembling them. Human evaluation is more realistic but expensive, slow, and can vary between raters. LLM-as-judge splits the difference — cheaper than humans, more flexible than fixed benchmarks — but inherits the judge model's own blind spots and biases.
- No single number captures 'how good is this model' — always ask 'good at what, measured how, on what data'.
- A model topping a leaderboard for one task type (e.g. coding) can be mediocre at another (e.g. long-form writing).
- Public benchmark leakage into training data is common enough that new, held-out, or dynamically-generated benchmarks are increasingly preferred.