Why evals exist
You can’t judge a model by its parameter count, training data size, or architecture alone. Those numbers describe capacity — what the model could theoretically do — not capability, what it actually does when you give it a prompt. Benchmarks exist to bridge that gap. A good benchmark:- Standardizes comparison — every model answers the same questions under the same conditions.
- Reveals strengths and weaknesses — a model that scores well on math might be mediocre at code.
- Tracks progress — you can see whether a new generation of models actually improved or just got bigger.
The benchmark landscape
Here are the major benchmarks you’ll encounter on model cards and leaderboards:MMLU in detail
MMLU in detail
MMLU (Massive Multitask Language Understanding) is the most widely cited benchmark. It covers 57 subjects from STEM, humanities, and social sciences at the high-school to professional level. Each question is multiple-choice with 4 options. A score of 70 means the model gets 70% of these questions right. MMLU is useful as a broad capability signal but doesn’t test open-ended generation, creativity, or instruction following. Most model cards report the 5-shot score.
HumanEval and MBPP
HumanEval and MBPP
These 2 benchmarks measure code generation. HumanEval has 164 hand-written Python problems where the model generates a function from a docstring, then tests are run to check correctness. MBPP is larger (~1000 problems) but covers simpler algorithmic tasks. Both report pass@1 — the percentage of problems solved correctly on the first attempt. They’re good for comparing coding capability but cover a narrow slice of real-world programming.
MT-Bench and Chatbot Arena
MT-Bench and Chatbot Arena
MT-Bench evaluates conversational quality through 80 multi-turn prompts rated by GPT-4 or human judges on a 1–10 scale. Chatbot Arena (LMSYS) is different: it pits 2 anonymous models against each other and lets users vote, producing an ELO ranking like chess ratings. Arena scores reflect real-world user preference but update slowly and favor models that produce polished, confident-sounding answers over models that are correct but terse.
SWE-Bench
SWE-Bench
SWE-Bench tests whether a model can solve real GitHub issues end-to-end: read the issue, find the bug in a large codebase, and generate a correct pull request. Top models resolve 30–50% of issues on the verified subset. This is the closest benchmark to actual software engineering work, but it’s extremely difficult and results vary heavily by language and framework.
LiveBench
LiveBench
LiveBench refreshes its test set monthly using new data, which makes it resistant to benchmark contamination — models can’t have memorized answers they haven’t seen during training. It covers math, coding, reasoning, language, data analysis, and instruction following. It’s newer than MMLU or HumanEval but increasingly cited as a more trustworthy signal.
How to read a benchmark table
Scores look authoritative, but they need context to be useful.What the numbers mean
Most benchmarks report a score from 0 to 100, which is the percentage of questions the model answered correctly. An MMLU score of 70 means the model gets 70% of college-level multiple-choice questions right. ELO ratings (used by Chatbot Arena) are different — they’re relative rankings where a 100-point gap means the higher-rated model wins about 64% of head-to-head matchups.Margin of error
A 1–2 point difference on any single benchmark is noise. Scoring methodology, prompt formatting, and even random seed variation can shift scores by that much. If Model A scores 72 and Model B scores 74 on MMLU, treat them as equivalent and look at a benchmark that tests the specific capability you care about.Contamination
Benchmark contamination happens when test questions leak into a model’s training data. The model scores artificially high because it has already seen the answers. This is a growing problem as benchmarks become widely published. LiveBench and some newer benchmarks combat this by refreshing their test sets regularly.When a model’s benchmark score seems suspiciously high compared to its real-world performance, contamination is a likely explanation. Check whether the benchmark was published before the model’s training cutoff date.
Cherry-picking
Never judge a model by a single benchmark. Publishers sometimes highlight the 1 score where their model looks best while burying weaker results. Look for a spread of benchmarks that cover different capabilities — knowledge, code, math, instruction following — before drawing conclusions.Which benchmarks matter for your use case
Not every benchmark matters for every task. Focus on the ones that test what you actually need:Coding assistant
Look at: HumanEval, MBPP, SWE-Bench.
These directly measure code generation and software engineering. Ignore MMLU for this decision — a model can score high on trivia and still write bad code.
Chatbot and general conversation
Look at: MT-Bench, Chatbot Arena ELO, IFEval.
Conversational quality is subjective, so human-rated benchmarks matter most. IFEval adds a measure of whether the model follows formatting and constraint instructions reliably.
Reasoning and analysis
Look at: GSM8K, MATH, GPQA, ARC-Challenge, BigBench Hard.
These test multi-step logic at different difficulty levels. GPQA is the hardest — useful for separating frontier models from merely good ones.
General assistant
Look at: MMLU + MT-Bench + IFEval as a composite.
No single number captures “general assistant” quality. Check all 3 to get a picture of knowledge breadth, conversational skill, and instruction compliance.
Benchmark scores at different quantizations
Benchmark scores are usually reported at full precision (FP16 or BF16). When you run a quantized model locally, expect some score degradation.How much does quantization cost?
The impact depends on the benchmark, the model size, and the quantization level:When quantization hurts more
- Small models lose more than large models. A 7B model quantized to
Q4_K_Mdrops more than a 70B model at the same quant level, because the smaller model has less redundancy to absorb rounding errors. - Precise tasks suffer more. Math and code generation are more sensitive to weight precision than general chat. If you’re running a coding assistant, consider
Q5_K_Mor higher. - I-quants can help at low bit-widths. Imatrix quantization (
IQ4_XS,IQ3_XXS) preserves critical weights more carefully and may recover 1–2 points compared to standard K-quants at the same size.
A 70B model at
Q4_K_M almost always outperforms a 7B model at full precision on most benchmarks. Model size matters more than quantization level when the size gap is large.Running your own evals
Published benchmarks are a starting point. If you need to know how a model performs on your tasks with your setup, run your own evaluation.When to run your own
- You have a domain-specific use case (legal, medical, finance) that standard benchmarks don’t cover.
- You’re comparing 2 models that score similarly on public benchmarks.
- You’re testing a specific quantization or fine-tune and want to measure the real impact.
- You need to validate that a model handles your edge cases before deploying it.
Tools for running evals
lm-evaluation-harness (by EleutherAI) is the standard open-source tool. It supports 60+ academic benchmarks out of the box and runs against any model served throughllama.cpp, vLLM, or an OpenAI-compatible API:
A simple custom eval
You don’t need a framework to test domain-specific quality:- Write 50 questions from your actual use case.
- Send each question to the model and record the response.
- Score each response on a 1–5 scale (or pass/fail for factual questions).
- Repeat for each model you’re comparing.
When to trust published scores
Trust published benchmark scores when:- The model publisher has a track record of honest reporting (Meta, Google, Mistral, Qwen, Anthropic).
- Multiple independent sources confirm similar numbers.
- The benchmark was published after the model’s training cutoff (reducing contamination risk).
- You’re using a third-party quantization and want to verify it hasn’t degraded quality significantly.
- Your task is narrow enough that general benchmarks don’t apply.
- You’re making a production decision and need confidence beyond a leaderboard number.
Red flags in benchmark reporting
Not every benchmark claim is trustworthy. Watch for these patterns:- No quantization disclosed. “Our model scores 78 on MMLU” — at what precision? If they don’t say, they might be reporting full-precision scores for a model most users will run quantized.
- Only reporting the best benchmark. A model page that highlights 1 score and omits others is cherry-picking. Look for a full benchmark table.
- Comparing different model sizes. “Our 7B model beats a 70B model on X” — yes, on a narrow benchmark that favors the 7B’s training data. This isn’t a fair comparison.
- Contaminated benchmarks without disclosure. If a model’s training data likely included the benchmark’s test set and the publisher doesn’t address it, treat the score skeptically.
- “Beats GPT-4 on…” Almost always on a narrow, favorable benchmark. GPT-4 is a large proprietary model — beating it on 1 specific task doesn’t mean the model is generally better.
- No methodology described. If the score doesn’t include details like shot count, prompt format, and scoring method, you can’t compare it to other published numbers.
Where to find benchmark data
Go deeper
Read a model name
Decode model names, quantization labels, and architecture suffixes before you look at benchmarks.
Read a model card
Find the parameters, architecture, context length, and license that benchmarks don’t cover.
Quantization
Understand how quantization affects the benchmark scores you just learned to read.
Which local model for which task?
Use benchmark insights to pick a model matched to your specific use case.