๐Ÿ“š Related: Best Local Models for OpenClaw ยท Best Models for Coding Locally ยท Quantization Explained ยท Context Length Explained ยท llama.cpp vs Ollama vs vLLM ยท Planning Tool

You picked a model because it scored 89% on MMLU and 78% on HumanEval. It’s terrible at your actual task. The 70B model that topped three leaderboards writes worse code than the 32B model that scored lower on every benchmark.

This keeps happening because LLM benchmarks are broken in ways that matter for anyone choosing models to run locally. The scores aren’t just imprecise โ€” they’re systematically inflated by contamination, gamed by labs, and measuring the wrong things. Here’s the specific evidence, and what to do instead.


The benchmark illusion

Every model release leads with numbers. “89.2% on MMLU! 94% on HumanEval! 128K context!” These numbers drive Hugging Face downloads, Reddit recommendations, and purchasing decisions. They’re also unreliable in ways that are well-documented but rarely discussed outside research papers.

Andrej Karpathy put it bluntly in his 2025 year-in-review: “Training on the test set is a new art form.” He described a “general apathy and loss of trust in benchmarks in 2025” and asked the question that should make every model-picker uncomfortable: “What does it look like to crush all the benchmarks but still not get AGI?”

A team of 42 scientists from Oxford, Stanford, Berkeley, and Yale examined 445 AI benchmarks for a NeurIPS 2025 paper and found that only 16% used statistical methods when comparing model performance. Lead author Andrew Bean: “Benchmarks underpin nearly all claims about advances in AI. But without shared definitions and sound measurement, it becomes hard to know whether models are genuinely improving or just appearing to.”

Sebastian Raschka summarized the state of things: benchmark numbers are “no longer trustworthy indicators of LLM performance.”


How benchmarks mislead โ€” the specific evidence

MMLU: the benchmark is wrong 6.5% of the time

MMLU (Massive Multitask Language Understanding) is the most-cited LLM benchmark. It tests multiple-choice academic knowledge across 57 subjects. The problem: the benchmark itself is broken.

A June 2024 study (“Are We Done with MMLU?”, Gema et al.) manually reviewed 5,700 MMLU questions and found an estimated 6.5% contain errors. In the Virology subset, 57% of questions had problems: 33% had completely wrong labeled answers, 14% had unclear questions, and 4% had multiple correct answers. The benchmark’s own answer key is wrong for 1 in 15 questions.

Then there’s contamination. Microsoft created MMLU-CF (Contamination-Free), which rephrases questions and shuffles options to test whether models actually know the material or just memorized the original questions. The results:

ModelMMLU (original)MMLU-CF (clean)Drop
GPT-4o88.0%73.4%-14.6
GPT-4-Turbo86.5%70.4%-16.1
Llama 3.3 70B86.3%68.8%-17.5
Qwen 2.5 72B85.3%71.6%-13.7
Phi-4 14B84.8%67.8%-17.0

Every model drops 14-17.5 points when contamination is removed. That Llama 3.3 70B you downloaded because it scored 86.3% on MMLU? Its clean score is 68.8%.

The memorization evidence is damning. When researchers asked GPT-4 to guess missing answer options in MMLU questions โ€” a task that should be impossible without having seen the test โ€” it guessed correctly 57% of the time. That’s not reasoning. That’s recall.

HumanEval: saturated and disconnected from real coding

HumanEval tests isolated function completion: given a function signature and docstring, write the body. Top models now score 90-94%. The benchmark is a solved problem.

The gap between HumanEval and real software engineering is enormous:

BenchmarkWhat it testsTop scores
HumanEvalWrite one function from a docstring90-94%
SWE-bench VerifiedFix real GitHub issues (multi-file)~96% (best, August 2026)
SWE-bench ProHarder real issues~59% standardized, ~80% vendor-reported

When this article was first published, a model scoring 94% on HumanEval might solve only 23% of real engineering tasks. That gap has narrowed a great deal since, but the way it gets reported has become its own problem. Three different numbers currently claim to be the best SWE-bench Pro score: about 59% on Scale’s standardized public set, about 80% in vendor-aggregate reporting, and about 47% on Scale’s private commercial set. All three are real measurements. The spread between them is scaffolding and data splits, not model quality โ€” which means “best on SWE-bench Pro” is now a claim you cannot evaluate without asking which harness produced it.

HumanEval+ (which added more comprehensive test cases to the same problems) dropped models by up to 8% โ€” the original benchmark had such weak tests that models could pass without actually solving the problem correctly.

LiveCodeBench collects competitive programming problems with known publication dates, which makes contamination detectable so long as the problems are newer than the model you point at them. Some models that perform well on HumanEval do not perform well on LiveCodeBench, and that is direct evidence of overfitting to the older benchmark’s specific problems.

That check has a shelf life, and the current release has reached it. LiveCodeBench v6 covers problems published between May 2023 and April 2025 โ€” 1,055 of them. Any model that shipped after April 2025 was trained on a web where those problems had already been posted, discussed and solved, so there is no post-cutoff slice left to compare its performance against. Most of what launched in 2026 sits on the wrong side of that line, which means the freshness guarantee people are relying on when they quote a v6 score mostly is not there any more.

Real coding requires understanding existing codebases, debugging multi-file interactions, knowing when not to write code, and making architectural decisions. HumanEval tests none of this, and a high score on it will not tell you whether a model can hold a refactor in its head.

It does have one property almost nothing else on this page has: it runs. 164 problems, deterministic under greedy decode, scored by OpenAI’s original harness, finishing in about an hour on one consumer GPU. That was a footnote in February. It counts for more now, because the benchmarks vendors lead with have drifted out of reach โ€” the agent-harness suites behind most 2026 model-card numbers cannot be pointed at a local inference server and will not load a quantized file, so nobody outside the lab that published the score can reproduce it. A narrow benchmark you can execute and check beats a broad one you can only quote. Read a HumanEval number as what it is: a floor check on isolated function synthesis, not a verdict on coding ability.

Context length: marketing vs physics

“128K context!” says the model card. Your VRAM says otherwise, and so does the model’s actual performance.

NVIDIA’s RULER benchmark tested models on tasks beyond simple needle-in-a-haystack retrieval: multi-hop tracing, aggregation, and complex retrieval. The findings:

ModelClaimed contextEffective context (RULER)Reality
Llama 3.1 70B128K~64K50% of claim
Most open-source models32K-128K<50% of claimTypical
GPT-4 (0125-preview)128KDegrades 15+ pts by 128KBest case

Despite achieving near-perfect accuracy on the simple needle-in-a-haystack test (find one sentence in a long document), almost all models fail on RULER’s harder tasks at extended lengths.

The “Lost in the Middle” problem makes it worse. Stanford researchers showed that models perform best when relevant information is at the beginning or end of the context, with over 30% performance degradation when key information sits in the middle of a long document. Your 128K context window is really more like two 8K windows (the start and end) with a dead zone in between.

For local AI users, this matters doubly: your context window is already limited by VRAM. An 8B model on 8GB VRAM tops out around 16K tokens of actual context. The model claims 128K. Your GPU gives you 16K. And even within that 16K, the model handles the middle worse than the edges.

Chatbot Arena: the “gold standard” has problems too

Chatbot Arena (LMSYS) is considered the most reliable benchmark because it uses real human preferences on real prompts, with anonymized model outputs. Over 6 million votes across 100+ models. No fixed test set to memorize.

It’s still gameable.

When LMSYS controlled for response length and markdown formatting, the rankings shifted significantly. GPT-4o-mini, which had outranked more capable Claude models, dropped below most frontier models. Claude 3.5 Sonnet and Llama-3.1-405B rose. The original rankings rewarded verbosity and heavy formatting over actual answer quality.

The bigger problem emerged in April 2025. A 68-page paper from researchers at Cohere, Stanford, MIT, and AI2 analyzed 2.8 million Arena battles and found that Meta had submitted 27 private Llama 4 variants before public release, keeping only the best-performing one visible. Selective model submissions inflated scores by up to 100 Elo points. Meta, OpenAI, Google, and Amazon all ran private tests and submitted only their best variants. Sara Hooker (Cohere VP): “Billions of dollars of investment are now being evaluated based on those scores.”

This was the Llama 4 scandal. Meta submitted an “experimental” Llama 4 Maverick to the Arena that produced verbose, emoji-laden responses optimized for human preference votes, reaching #2 on the leaderboard. The publicly released open-weight model behaved completely differently. LMArena’s response: “Meta’s interpretation of our policy did not match what we expect from model providers.”


Benchmark contamination โ€” the numbers

The contamination problem is worse than most people realize.

GPT-4 solved 10/10 pre-September 2021 Codeforces problems and 0/10 problems posted after its training cutoff. When given just a problem title, it could generate a link to the exact Codeforces contest. This is not reasoning โ€” it’s retrieval from memorized training data.

OpenAI’s own contamination checks found that portions of BIG-Bench were mixed into GPT-4’s training set. GPT-4-base had memorized tasks containing the benchmark’s canary string โ€” a hidden marker specifically designed to detect data leakage.

An analysis of 83 software engineering benchmarks found average leakage ratios of 4.8% for Python and 2.8% for Java. Some benchmarks are catastrophically compromised: QuixBugs has 100% leakage. BigCloneBench has 55.7%.

A 2025 ICML study tested 20 different contamination mitigation strategies across 5 benchmarks and concluded that none of them work. No existing strategy is both effective at removing contamination and faithful to the original evaluation goal.

Every new benchmark gets contaminated within months of release, because training data for the next generation of models includes the web pages where benchmark questions are discussed, analyzed, and solved. The lifecycle is: benchmark launches โ†’ researchers discuss it โ†’ discussion enters training data โ†’ models memorize it โ†’ benchmark becomes useless.


What actually predicts usefulness

For local AI, the question isn’t “which model scores highest?” It’s “which model does my job best on my hardware?”

Benchmarks can’t answer that because they don’t know your task, your data, or your constraints. The model that tops MMLU might be terrible at your specific use case because MMLU tests academic multiple-choice questions and you need a model that can summarize legal documents or debug Python scripts or write fiction.

What works is task-specific testing. If you need a coding assistant, test on your codebase, your languages, your patterns. Give it a real bug from your project. Ask it to refactor a function you actually need refactored. If it can’t do that, a 94% HumanEval score is meaningless.

For writing, test on your style, your domain, your length requirements. For RAG, test with your documents and your question types. For conversation, have a real conversation and see if the model tracks context, follows instructions, and stays coherent.

Fifteen minutes of hands-on testing tells you more than any leaderboard.


A practical evaluation framework

Build a personal test suite: 5-10 prompts that represent your actual use cases. Not toy problems โ€” real tasks from your workflow. Keep them in a text file. Run every new model through the same prompts before committing to it.

What to track:

MetricHow to measureWhy it matters
SpeedTokens/sec in Ollama or llama.cppUnusable if too slow for your workflow
QualitySubjective but consistent rating (1-5)The only metric that directly measures usefulness
VRAM usagenvidia-smi during inferenceDetermines what else you can run alongside it
Context handlingTest with your longest typical inputCatches models that degrade at your working length
Instruction followingGive multi-step instructions, check complianceThe gap between “smart” and “useful”
Format complianceAsk for JSON, tables, specific structuresSome models can reason but can’t format

Compare at the same quantization level. A model at Q8 vs another at Q4 is not a fair comparison โ€” quantization affects both speed and quality. Test Q4_K_M vs Q4_K_M if you’re choosing between models for the same hardware.

The process takes 15-30 minutes per model. It’s more work than glancing at a leaderboard. It also actually works.


Benchmarks that are somewhat useful

Not all evaluation is garbage. Some benchmarks are harder to game and more predictive than others.

EQ-Bench tests emotional intelligence through multi-turn role-play scenarios โ€” relationship conflicts, workplace dilemmas, nuanced social situations. The format makes pattern-matching on memorized data far less effective than in multiple-choice tests. It exposed an interesting gap: GPT-5 scored lower on emotional intelligence than GPT-4o, despite being the “better” model on traditional benchmarks.

LiveCodeBench uses competitive programming problems with known publication dates, making contamination directly detectable when those problems postdate the model. If a model scores high on problems posted before its training cutoff but drops on recent problems, you’re looking at memorization. Current top: Gemini 3 Pro Preview (91.7%), DeepSeek V3.2 Speciale (89.6%).

Check which release produced the number before you trust it. v6 stops at April 2025, so for anything released during 2026 the entire problem set predates the model and the memorization test has nothing left to fire on. The design is still sound and the logic still works against older models โ€” it just needs a release newer than whatever you are evaluating, and the releases are currently behind the models. A v6 score on a 2026 model is a coding score, not a contamination-free one.

SWE-bench Verified tests real software engineering: fix actual GitHub issues involving multi-file changes, debugging, and understanding existing codebases. It discriminated sharply when this article was written, with more than 50 points between the best and worst frontier models. That gap has since closed: the top of the board now sits in the mid-90s and the frontier bunches within roughly ten points of it. Worth watching, because it is the same saturation curve HumanEval already completed, and it puts SWE-bench Verified a couple of generations from telling you as little.

Chatbot Arena, despite its flaws, remains useful when you account for the style bias. The style-controlled rankings (which penalize verbose formatting) are more reliable than the raw Elo scores. Six million votes provide real signal about human preferences, even if labs game the submission process.

Your own test suite is the most reliable benchmark. Period. No contamination, no gaming, perfect alignment with your actual needs. The ten minutes you spend building it pays off every time you evaluate a new model.


What this means for local AI

When you’re choosing a model to run on your hardware, ignore the leaderboard and do this:

Pick 2-3 candidates based on size constraints (use the Planning Tool to check what fits). Don’t filter by benchmark scores โ€” filter by parameter count and quantization compatibility with your VRAM.

Run your test suite on each candidate. Same prompts, same quantization, same context length. Rate the outputs yourself. Note speed and VRAM usage.

Pick the winner based on your results, not anyone else’s numbers.

A 7B model that handles your specific tasks well is more useful than a 70B model that topped MMLU but runs at 3 tok/s on your hardware and can’t follow your formatting instructions. The benchmark says the 70B model is better. Your workflow says otherwise. Trust your workflow.

The benchmarks aren’t lying on purpose (usually). They’re measuring something real โ€” just not the thing you care about. An MMLU score measures multiple-choice academic knowledge recall. A HumanEval score measures isolated function completion. Neither measures “will this model be good at my job.”

Only you can measure that.