DEV Community

Eli
Eli

Posted on • Originally published at aiglimpse.ai

LLM benchmarks explained: MMLU, HumanEval, MTEB, and what they actually measure

A technical guide to understanding what AI model benchmarks test, their blind spots, and how to evaluate responsibly.

An LLM benchmark is a standardized test that measures specific dimensions of model performance: knowledge retention, reasoning ability, code generation, or semantic understanding. Benchmarks use multiple-choice questions, code execution tests, or similarity rankings to produce a score. They are the closest thing the industry has to a standard for comparing models, yet nearly every popular benchmark has significant blind spots. Understanding what each test actually measures, and what it hides, is essential for engineers and product managers making model selection decisions.

Why this matters now

In 2026, the AI market has moved past "which model is smartest" and into "which model is right for my task and budget." Every major model vendor publishes benchmark results. Every AI leaderboard (OpenLI, Hugging Face, LMSYS) ranks dozens of models on dozens of benchmarks. Decision-makers are drowning in numbers and conflicting claims. A model that ranks first on MMLU might rank 15th on a code benchmark. A model trained primarily on English may perform poorly on multilingual tasks even if it scores high on general benchmarks. The risk is real: choosing a model based on cherry-picked benchmark results can waste engineering resources, miss critical failure modes, and lead to production issues that benchmarks never caught.

This matters because benchmarks drive decisions that affect millions of users. They shape which models get funded, which architectures researchers pursue, and which tools end up in production. Yet most working benchmarks measure narrow slices of capability: pattern matching on multiple-choice questions, syntax correctness in code, or semantic similarity in vector space. None of them measure alignment, safety, consistency over time, or robustness to adversarial inputs. Understanding the gap between benchmark scores and real-world performance is the core competency for responsible model evaluation.

MMLU: The de facto standard (and its wall of limitations)

MMLU: The de facto standard (and its wall of limitations)
Photo by Shantanu Kumar on Pexels.

MMLU (Massive Multitask Language Understanding) is the most cited LLM benchmark in public model reports. Introduced in 2021, it covers 57 subjects ranging from abstract algebra and computer science to nutrition and psychology. Models answer 14,042 multiple-choice questions across these domains. A top-tier model typically scores 90-96% on MMLU. It is ubiquitous because it is easy to run, publicly available, and produces a single number that feels meaningful.

What MMLU actually measures: knowledge breadth and multiple-choice test-taking ability. A model that scores 94% on MMLU has learned to associate question text with correct answer patterns across a wide range of domains. This correlates loosely with general knowledge and instruction-following capability. That loose correlation is why MMLU scores matter at all.

What MMLU does not measure: reasoning depth, factual grounding, the ability to admit uncertainty, or robustness to paraphrasing. Consider a physics problem on MMLU. The model sees a question formatted in a specific way with four answer choices, one of which is correct. The model has likely seen similar problems during training. But MMLU cannot measure whether the model can solve a novel physics problem, explain its reasoning, or catch its own errors. A 96% MMLU score does not mean a model can reliably answer physics questions in production if the questions are structured differently, require explanation, or demand multi-step verification.

MMLU also privileges models trained on academic and textbook data. Performance correlates with the quantity of educational material in the training set, not with the model's ability to perform on downstream tasks like customer support, code generation, or specialized domain work. A model that dominates MMLU may underperform on domain-specific tasks that require less breadth but more depth.

HumanEval: Code generation under ideal conditions

HumanEval is a benchmark of 164 Python coding problems, each with a function signature and docstring. The model generates code to solve the problem. The test harness runs the code and checks if it passes all test cases. Pass rates typically range from 50% to 90% for state-of-the-art models. It is the standard for measuring code generation capability.

What HumanEval measures: the ability to generate syntactically correct, functionally correct Python code given a specification. It tests basic problem-solving: the model must parse a requirement and produce working code. Performance on HumanEval correlates with performance on other code generation tasks, making it a useful proxy for general code ability.

The critical gap: HumanEval measures pass at first attempt on clean, isolated problems. It does not measure code that works in production. Real code requires debugging, refactoring, handling edge cases, reading and modifying existing code, and working in complex codebases. A model that scores 85% on HumanEval will fail to handle dependencies, error handling, or integrations with external systems. HumanEval also heavy-weights the training data problem: models memorize solutions. If training data includes LeetCode or GitHub repositories with the exact same problems (or near-identical variations), the benchmark becomes a test of data inclusion, not generalization.

HumanEval is also biased toward Python and problems that fit the mold of competitive programming. It does not measure code review, refactoring ability, or the ability to generate code in other languages at the same quality. For a production evaluation, supplement HumanEval with private code evaluation: take real pull requests from your codebase, have the model generate solutions, and have senior engineers review the output for style, efficiency, and correctness.

MTEB: Embedding evaluation for retrieval and semantic tasks

MTEB: Embedding evaluation for retrieval and semantic tasks
Photo by Shantanu Kumar on Pexels.

MTEB (Massive Text Embedding Benchmark) is fundamentally different from MMLU and HumanEval because it evaluates embedding models, not generative models. An embedding model produces a vector representation of text, which is then used for semantic search, clustering, classification, or similarity matching. MTEB includes 58 tasks across eight categories: retrieval, ranking, clustering, classification, semantic textual similarity (STS), paraphrase detection, and reranking.

What MTEB measures: semantic understanding as encoded in vector space. A model that ranks well on MTEB retrieval tasks can find relevant documents given a query. A model that ranks well on STS tasks captures semantic similarity between sentence pairs. Unlike MMLU or HumanEval, MTEB focuses on understanding meaning, not knowledge recall or syntax correctness.

Why it matters for production: if you are building search, recommendation, or retrieval-augmented generation (RAG) systems, MTEB scores directly predict performance. A model that scores 65 on MTEB retrieval will outperform a model that scores 58 on the same tasks. MTEB is also the most honest benchmark in common use: it reflects realistic performance on downstream tasks because the tasks (finding relevant documents, clustering text) are directly useful in production.

The limitations: MTEB is specific to embedding models. It does not help evaluate chat models or generative LLMs. It also does not measure downstream impact. A model with a 70 MTEB score might still produce poor search results if the queries are adversarial, out-of-distribution, or in specialized domains like medical or legal text. MTEB is multilingual, but performance varies widely by language, and some non-English languages are underrepresented in the benchmark.

Beyond the big three: benchmarks for reasoning, instruction-following, and safety

MMLU, HumanEval, and MTEB dominate public model reports, but they are incomplete. Other benchmarks measure different slices of capability.

Reasoning benchmarks: GSM8K (grade school math word problems) and MATH (competition math) measure step-by-step reasoning. A model that solves GSM8K problems must parse a word problem, set up equations, and verify answers. These benchmarks correlate with the ability to solve novel problems, not just pattern-match. Models that excel on reasoning benchmarks often generalize better to downstream tasks that require logical structure.

Instruction-following: IFEval (Instruction-Following Eval) measures whether a model follows specific constraints in its output: "generate exactly 3 bullet points," "do not use the word X," "format the answer as JSON." IFEval is more realistic than MMLU because real users give complex instructions, and models often fail to follow them. A model that scores 95% on IFEval but 60% on MMLU may be more useful in production for constrained output tasks.

Factuality and hallucination: TruthfulQA and FactKG measure whether a model generates true statements or hallucinates. These benchmarks are harder to game and more predictive of real-world risk. A model that scores 90% on MMLU but 50% on TruthfulQA is likely to confabulate confidently, which is dangerous in production.

Multilingual and specialized domains: XNLI (cross-lingual NLI), multilingual MMLU variants, and domain-specific benchmarks (MedQA, LawBench) measure performance outside English and general domains. If your use case is multilingual or domain-specific, these benchmarks are non-negotiable.

How leaderboards mislead (and how to read them honestly)

Model leaderboards rank hundreds of models on dozens of benchmarks. LMSYS, Hugging Face, and OpenLI aggregate results and publish rankings. These rankings are useful for baseline comparison but dangerous if taken literally.

The mechanics of leaderboard manipulation are well-understood: (1) models are sometimes fine-tuned specifically for benchmark tasks, (2) inference settings (temperature, sampling strategy, prompt format) can shift benchmark scores by 5-10%, (3) leaderboards often include only the benchmarks where a model performs well (survivorship bias), and (4) results are often taken from third-party evaluations, not the model author, introducing inconsistency.

A responsible approach to leaderboard reading: (1) check the date of the benchmark results; older results may not reflect the current version of a model, (2) cross-reference results across multiple leaderboards; if a model ranks first on one leaderboard but middle on another, the discrepancy suggests the benchmarks measure different things or the evaluation settings differ, (3) look for missing results; if a model is omitted from a benchmark, ask why, and (4) verify the evaluation code; if the leaderboard does not publish code or checkpoints, results are not reproducible, which is a red flag.

Common pitfalls: when benchmarks fail you

Benchmarks are a useful filter, not a decision. Several failure modes are common.

Task-benchmark mismatch: A model scores well on MMLU but performs poorly on your actual use case because the benchmark does not measure what you need. Example: a support chatbot that needs to follow format constraints, stay on-topic, and de-escalate tension. None of these are measured by standard benchmarks. The solution is to build custom evals on your actual data and success metrics.

Benchmark contamination: If training data includes a benchmark (or similar problems), the benchmark is no longer a fair test of capability. This is suspected in HumanEval (many models were trained on GitHub, which includes LeetCode solutions) and in some MMLU variants. Request training data documentation and look for independent evaluations on held-out data.

Shifting definitions: Benchmarks change over time. MMLU has new questions added, HumanEval variants exist, and embedding benchmarks evolve. When a model vendor reports "94% on MMLU," specify which version and subset. Public benchmarks should be versioned and frozen for reproducibility.

Ignoring outliers and distribution: Leaderboards report point estimates (e.g., "87.3% on MMLU"). They do not report variance, confidence intervals, or per-task performance. A model that averages 87% but fails 30% of the time on a specific task is riskier than a model that averages 85% but fails only 5% of the time. Ask for per-task breakdowns and error analysis.

Generalization gaps: A model that scores 96% on MMLU may score 60% on a paraphrased version of the same questions, or 30% when answers are reordered. This is not a limitation of the model; it is a limitation of the benchmark. Real evaluations should test robustness to input variation.

How to run private evaluations responsibly

The most credible evaluation is one you run yourself on your own data. This requires effort, but it is the only way to make a defensible decision.

Step 1: Define success metrics. Start with what matters to your business or users. For a search system, is it recall at K=10? For a chatbot, is it task completion rate? For code generation, is it the percentage of generated code that passes your test suite? Translate business goals into measurable metrics.

Step 2: Prepare a test set. Use real data, not synthetic data. If you are building a customer support chatbot, use actual customer questions. If you are building code generation, use real pull requests or issues from your codebase. The test set should include edge cases, adversarial examples, and out-of-distribution inputs that your production system will see. Aim for at least 100-200 examples per metric, more if possible.

Step 3: Implement consistent evaluation. Use tools like lm-eval, vLLM, or custom evaluation scripts to run all models under identical conditions: same inference server, same temperature, same prompt format, same randomness. Variance in evaluation setup can introduce larger errors than differences between models.

Step 4: Measure multiple dimensions. Do not just measure accuracy. Measure latency, cost, variance (does the model produce consistent outputs?), and failure modes. A model that is 2% more accurate but 10x slower may not be worth it. Include human evaluation for subjective metrics like output quality and tone.

Step 5: Document everything. Record model versions, inference settings, test set composition, and exact prompts. This makes results reproducible and comparable over time. When you upgrade models, run the same eval to measure the delta.

Use public benchmarks as a baseline sanity check, but make the final decision based on private evaluation. If a model ranks well on public benchmarks but fails on your custom eval, trust your custom eval. If a model ranks poorly on public benchmarks but excels on your custom eval, it may be underrated for your specific use case.

The responsible path forward: treat benchmarks as a starting point for model exploration, not a destination. Run private evaluations on your actual data with your actual success metrics. Document your evaluation process and share results internally so others can learn from your decisions. Over time, this builds institutional knowledge about which models work for which tasks, which is far more valuable than any leaderboard score.


This article was originally published on AI Glimpse.

Top comments (0)