๐Ÿ“š 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)~79% (best, with scaffolding)
SWE-bench ProHarder real issues~23%

A model scoring 94% on HumanEval might solve only 23% of real engineering tasks. 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 fresh competitive programming problems with known publication dates, making contamination detectable. Some models that perform well on HumanEval do not perform well on LiveCodeBench โ€” direct evidence of overfitting to the older benchmark’s specific problems.

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. A model’s HumanEval score tells you roughly as much about its coding ability as a spelling test tells you about someone’s writing.

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 fresh competitive programming problems with known publication dates, making contamination directly detectable. 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%).

SWE-bench Verified tests real software engineering: fix actual GitHub issues involving multi-file changes, debugging, and understanding existing codebases. The spread between best and worst frontier models is over 50 percentage points โ€” much more discriminating than HumanEval’s uniform 90%+ scores.

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.