<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Benchmark Reliability on RockB</title><link>https://baeseokjae.github.io/tags/benchmark-reliability/</link><description>Recent content in Benchmark Reliability on RockB</description><image><title>RockB</title><url>https://baeseokjae.github.io/images/og-default.png</url><link>https://baeseokjae.github.io/images/og-default.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 13 Jul 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://baeseokjae.github.io/tags/benchmark-reliability/index.xml" rel="self" type="application/rss+xml"/><item><title>LLM Benchmark Variance 2026: Why Your Benchmark Scores Are Lying to You</title><link>https://baeseokjae.github.io/posts/llm-benchmark-variance-2026/</link><pubDate>Mon, 13 Jul 2026 12:00:00 +0000</pubDate><guid>https://baeseokjae.github.io/posts/llm-benchmark-variance-2026/</guid><description>Why LLM benchmark scores vary wildly between runs, prompts, and templates — and six practical strategies to get reliable evaluations in 2026.</description><content:encoded><![CDATA[<p>You ran the same model on the same benchmark twice and got different scores. Then you changed one word in the prompt and got a different ranking. Then you realized the benchmark questions themselves have errors. Welcome to LLM benchmark variance — the problem that makes most published benchmark scores less reliable than they look.</p>
<p>I&rsquo;ve been evaluating LLMs for production deployment over the past year, and I&rsquo;ve learned that benchmark scores are not the stable, objective measurements most people assume they are. A model that scores 87% on MMLU one week can score 82% the next week with a different instruction template. A 3-point lead on a micro-benchmark can flip entirely when you run the full evaluation. And 6.49% of MMLU questions — the most-cited benchmark in AI history — contain ground truth errors. This article breaks down every major source of benchmark variance I&rsquo;ve encountered, with the numbers and research to back it up, and what to do about it.</p>
<h2 id="why-llm-benchmarks-are-not-as-reliable-as-they-seem">Why LLM Benchmarks Are Not as Reliable as They Seem</h2>
<p>The core problem is that LLM evaluation looks like a science but has more uncontrolled variables than most practitioners realize. When you see a benchmark score in a model release, you&rsquo;re seeing one data point from a distribution that can be surprisingly wide. The variance comes from at least five independent sources, and they compound.</p>
<h3 id="stochasticity-even-temperature0-isnt-deterministic">Stochasticity: Even Temperature=0 Isn&rsquo;t Deterministic</h3>
<p>The first surprise most people hit: LLMs are not deterministic even at temperature=0 with a fixed seed. The <a href="https://arxiv.org/abs/2410.03492">October 2024 paper on quantifying LLM uncertainty</a> demonstrates this clearly — outputs vary across runs due to GPU nondeterminism, kernel scheduling, and floating-point accumulation order. The effect is small on simple tasks but compounds on multi-step reasoning where each step&rsquo;s variance propagates.</p>
<p>In practice, I&rsquo;ve seen single-run MMLU scores vary by 1-2 percentage points on the same model, same hardware, same seed. That&rsquo;s enough to flip the ordering of two models that are within 3 points of each other — which is most of the frontier. If you&rsquo;re comparing Claude Opus 4.6 at 91.3% and GPT-5.3 Codex at 81% on GPQA Diamond, the gap is wide enough that stochasticity doesn&rsquo;t matter. But if you&rsquo;re comparing two fine-tuned 8B models that differ by 1.5 points on a 100-example micro-benchmark, the noise floor is higher than the signal.</p>
<p>The fix is straightforward but rarely applied: run each evaluation at least 3-5 times and report the mean and standard deviation, not a single number. The <a href="https://github.com/EleutherAI/lm-evaluation-harness">LM Evaluation Harness</a> team documented this as one of their key lessons from three years of building the framework — single-run evaluations are not reproducible.</p>
<h3 id="prompt-sensitivity-small-wording-changes-big-score-differences">Prompt Sensitivity: Small Wording Changes, Big Score Differences</h3>
<p>This is the variance source that surprised me the most. A <a href="https://arxiv.org/abs/2408.12263">2024 study on instruction template variance</a> showed that score differences across different prompt templates are large enough to change model rankings. The authors proposed a &ldquo;Sharpe score&rdquo; metric that accounts for template variance — treating each template as a different evaluation condition and measuring the risk-adjusted return.</p>
<p>I&rsquo;ve seen this firsthand. A model that scores 85% with &ldquo;Answer the following question:&rdquo; can score 78% with &ldquo;Q: [question]\nA:&rdquo; — and the ranking of two models can invert depending on which template you use. The effect is documented across both English and Japanese datasets, so it&rsquo;s not a language-specific artifact.</p>
<p>The <a href="https://arxiv.org/abs/2509.04013">2025 paraphrased benchmark study</a> tested 34 state-of-the-art LLMs across 6 benchmarks with paraphrased question variants. The finding: absolute scores decline significantly when questions are rephrased, even though relative rankings remain more stable. This means benchmark scores overstate a model&rsquo;s ability to generalize — the model has learned to answer the specific wording of the benchmark, not the underlying concept.</p>
<h3 id="ground-truth-errors-the-mmlu-problem">Ground Truth Errors: The MMLU Problem</h3>
<p>MMLU is the most-cited benchmark in LLM history, and <a href="https://arxiv.org/abs/2406.04127">MMLU-Redux</a> found that 6.49% of its questions contain ground truth errors. The Virology subset is the worst offender at 57% error rate. Think about that: more than half the questions in one MMLU subset have the wrong answer marked as correct.</p>
<p>This matters because MMLU scores are still quoted in model releases in 2026, even though the benchmark is <a href="/posts/llm-benchmarks-guide-2026/">saturated and retired for frontier comparison</a>. A model that scores 89% on MMLU might actually be at 83% or 95% if the errors were corrected — we don&rsquo;t know, because nobody re-runs the corrected version. The errors introduce systematic bias that affects some model families more than others, depending on which subsets they&rsquo;re strong on.</p>
<h2 id="the-many-sources-of-benchmark-variance">The Many Sources of Benchmark Variance</h2>
<p>Beyond the headline issues, there&rsquo;s a longer tail of variance sources that compound in practice.</p>
<h3 id="run-to-run-variance-and-the-need-for-multiple-repeats">Run-to-Run Variance and the Need for Multiple Repeats</h3>
<p>The <a href="https://arxiv.org/abs/2405.14782">LM Evaluation Harness team&rsquo;s retrospective</a> documents concrete cases where missing best practices led to misleading results. One example: a model&rsquo;s score on a 100-example subset can vary by 5+ points between runs due to sampling variance alone. The recommended practice is to run each evaluation at least 3 times and report confidence intervals.</p>
<p>The problem is that running evaluations 3x costs 3x the compute and 3x the time. Most labs and independent evaluators don&rsquo;t do it. The <a href="https://arxiv.org/abs/2410.03492">October 2024 paper</a> proposes a cost-effective method using prediction intervals — you can estimate the uncertainty from a single run if you model the per-question variance structure. But this requires knowing the variance structure in advance, which you don&rsquo;t until you&rsquo;ve run the evaluation a few times.</p>
<h3 id="instruction-template-variance-and-the-sharpe-score">Instruction Template Variance and the Sharpe Score</h3>
<p>The Sharpe score approach from the <a href="https://arxiv.org/abs/2408.12263">2024 template variance paper</a> is worth understanding even if you don&rsquo;t implement it. The idea: instead of reporting a single score from a single prompt template, evaluate the model across N different templates, compute the mean and standard deviation of scores, and report the ratio (mean / std). A model that scores 85% with low variance across templates is more reliable than one that scores 87% but drops to 78% when you change the prompt format.</p>
<p>This maps directly to production reality. Your application won&rsquo;t use the exact same prompt format as the benchmark. If a model&rsquo;s performance is brittle to prompt changes, it will underperform in production relative to its benchmark score. The Sharpe score captures this brittleness.</p>
<h3 id="benchmark-contamination-and-data-leakage">Benchmark Contamination and Data Leakage</h3>
<p>Data contamination is the elephant in the room for LLM evaluation in 2026. Training corpora for most modern models are only partially disclosed, making direct decontamination infeasible. The <a href="https://arxiv.org/abs/2607.07481">2025 contamination analysis</a> shows that benchmark performance is systematically inflated by training data overlap — and the effect is largest on the benchmarks that are most widely cited.</p>
<p>The <a href="/posts/swe-bench-coding-benchmarks-guide-2026/">SWE-bench contamination scandal</a> is the most visible example. OpenAI stopped reporting SWE-bench Verified scores after discovering contamination across every frontier model. SWE-bench Pro was created specifically to address this, drawing tasks from repositories with post-training-cutoff commit histories. But the contamination isn&rsquo;t limited to SWE-bench — it affects every static, public benchmark that&rsquo;s been around for more than a year.</p>
<p>The practical implication: any benchmark score from a dataset published before a model&rsquo;s training cutoff should be treated as an upper bound, not a reliable measurement. The true capability is likely lower, and we don&rsquo;t know by how much.</p>
<h2 id="the-micro-benchmarking-trap">The Micro-Benchmarking Trap</h2>
<p>One of the most dangerous trends in 2026 is micro-benchmarking — running small subsets of benchmarks to save cost and time. The <a href="https://arxiv.org/abs/2510.08730">October 2025 study on micro-benchmark reliability</a> is devastating on this point.</p>
<h3 id="why-small-scale-evaluations-mislead">Why Small-Scale Evaluations Mislead</h3>
<p>The study tested every practical micro-benchmarking method and found that no method can consistently rank model pairs that are 3.5 accuracy points apart on MMLU-Pro or 4 points apart on BIG-bench Hard. For 8B instruction-tuned models on MMLU-Pro, more than 50% of pairwise comparisons are lost with 25-example micro-benchmarks.</p>
<p>This matches what I&rsquo;ve seen in practice. A team evaluates two models on a 50-example subset, model A scores 72% and model B scores 68%, they pick model A. But the full 14,000-example evaluation would have shown model B at 71% and model A at 69% — the ranking flips because the micro-benchmark sampled from an unrepresentative subset of the distribution.</p>
<h3 id="how-many-samples-do-you-actually-need">How Many Samples Do You Actually Need?</h3>
<p>The same study provides a concrete answer: at least 250 examples are needed for reliable ranking, and random sampling is competitive with more sophisticated selection methods. Below 250 examples, the noise from sampling variance exceeds the signal from model capability differences for any pair of models within 5 points of each other.</p>
<p>For production evaluation, I&rsquo;d push that number higher. If you&rsquo;re building an internal benchmark from your own data, aim for 200-300 examples minimum, stratified across your task distribution. The <a href="/posts/lm-council-llm-benchmarks-guide-2026/">LM Council framework</a> recommends 100-200 for initial filtering and 500+ for final selection decisions.</p>
<h2 id="do-benchmarks-even-agree-with-each-other">Do Benchmarks Even Agree With Each Other?</h2>
<p>Here&rsquo;s a question that doesn&rsquo;t get asked enough: if two benchmarks claim to measure &ldquo;reasoning,&rdquo; do they rank models the same way?</p>
<h3 id="benchmark-agreement-testing-bat">Benchmark Agreement Testing (BAT)</h3>
<p>The <a href="https://arxiv.org/abs/2407.13696">Benchmark Agreement Testing paper</a> shows that different benchmarks often disagree on model rankings, even when they&rsquo;re designed to measure similar capabilities. The authors raise serious questions about construct validity — if MMLU-Pro and GPQA Diamond both claim to measure reasoning but rank models differently, what exactly are they measuring?</p>
<h3 id="when-mmlu-arc-c-and-hellaswag-disagree">When MMLU, ARC-C, and HellaSwag Disagree</h3>
<p>In practice, I&rsquo;ve seen models that rank #1 on MMLU but #5 on ARC-C and #3 on HellaSwag. The disagreement isn&rsquo;t noise — it&rsquo;s each benchmark measuring a different skill distribution. MMLU tests broad factual knowledge across 57 subjects. ARC-C tests scientific reasoning with a specific focus on grade-school science. HellaSwag tests commonsense narrative inference. A model that&rsquo;s strong on memorized facts but weak on inference will score well on MMLU and poorly on HellaSwag.</p>
<p>The mistake is averaging these scores into a single &ldquo;overall&rdquo; number. A composite score hides the capability profile that matters for your use case. If you&rsquo;re building a scientific research assistant, GPQA Diamond and ARC-C matter more than MMLU. If you&rsquo;re building a customer support bot, instruction following and factual recall matter more than coding benchmarks.</p>
<h2 id="best-practices-for-reliable-llm-evaluation-in-2026">Best Practices for Reliable LLM Evaluation in 2026</h2>
<p>After a year of dealing with benchmark variance, here&rsquo;s what I&rsquo;ve settled on as a practical evaluation protocol.</p>
<h3 id="quantifying-uncertainty-with-confidence-intervals">Quantifying Uncertainty with Confidence Intervals</h3>
<p>Every benchmark score should be reported with a confidence interval. For a 100-question benchmark, the standard error of a 75% score is roughly sqrt(0.75 * 0.25 / 100) = 4.3%. That means the 95% confidence interval spans 66.5% to 83.5% — a 17-point range. A 3-point difference between two models is meaningless at this sample size.</p>
<p>The <a href="https://arxiv.org/abs/2410.03492">prediction interval method</a> from the October 2024 paper is the most practical approach I&rsquo;ve found. It models per-question variance using a small calibration run (20-30 questions evaluated 3-5 times), then estimates the uncertainty for the full evaluation from a single pass. It&rsquo;s not as accurate as full repeated evaluation, but it&rsquo;s much better than reporting a single number with no uncertainty.</p>
<h3 id="multiple-runs-and-statistical-significance">Multiple Runs and Statistical Significance</h3>
<p>For any evaluation that will inform a production decision, run it at least 3 times. Report the mean and standard deviation. If two models&rsquo; means are within 2 standard deviations of each other, they&rsquo;re statistically indistinguishable on that benchmark — don&rsquo;t treat the higher score as meaningful.</p>
<p>This is especially important for fine-tuning evaluations. I&rsquo;ve seen teams run a single evaluation after fine-tuning, see a 2-point improvement, and declare success. A 2-point improvement on a 100-example benchmark is within the noise floor. Run 3-5 evaluations before and after, and only trust improvements that are statistically significant at p &lt; 0.05.</p>
<h3 id="contamination-aware-evaluation">Contamination-Aware Evaluation</h3>
<p>When evaluating a model, check whether the benchmark dataset was published before the model&rsquo;s training cutoff. If it was, treat the score as potentially inflated. The safest approach is to use only benchmarks with continuous test-set rotation — <a href="https://arxiv.org/abs/2406.06604">LiveCodeBench</a> is the gold standard here, with problems drawn from competitive programming platforms after each model&rsquo;s training cutoff.</p>
<p>For internal evaluations, use tasks drawn from your own production data that couldn&rsquo;t appear in any public training set. This is the only way to get a contamination-free measurement of a model&rsquo;s capability on your specific workload.</p>
<h3 id="the-case-for-dynamic-and-fluid-benchmarks">The Case for Dynamic and Fluid Benchmarks</h3>
<p>The <a href="https://arxiv.org/abs/2509.11106">Fluid Benchmarking approach</a>, inspired by psychometrics, addresses three problems at once: costly evaluations, capability misalignment, and benchmark saturation. Instead of running every model on every question, fluid benchmarking adapts the question set based on the model&rsquo;s demonstrated ability — harder questions for stronger models, easier questions for weaker ones. This reduces evaluation cost while maintaining discriminative power.</p>
<p>The psychometric inspiration is important. Educational testing has dealt with these exact problems for decades: how do you measure ability when the test-taker population spans a wide range? How do you prevent test exposure from inflating scores? How do you ensure the test measures the intended construct? LLM evaluation is rediscovering these problems in 2026, and the solutions already exist in the psychometrics literature.</p>
<h2 id="what-this-means-for-practitioners">What This Means for Practitioners</h2>
<p>Here&rsquo;s the bottom line after a year of dealing with benchmark variance:</p>
<ol>
<li>
<p><strong>Never trust a single-run benchmark score.</strong> Run at least 3 evaluations and report the mean and standard deviation. If the variance is high, run more.</p>
</li>
<li>
<p><strong>Don&rsquo;t trust micro-benchmarks with fewer than 250 examples.</strong> Below that threshold, sampling variance dominates. You&rsquo;re measuring noise, not capability.</p>
</li>
<li>
<p><strong>Check for contamination.</strong> If the benchmark dataset was published before the model&rsquo;s training cutoff, the score is an upper bound, not a reliable measurement.</p>
</li>
<li>
<p><strong>Evaluate across multiple prompt templates.</strong> A model that&rsquo;s brittle to prompt changes will underperform in production. Use the Sharpe score approach if you can.</p>
</li>
<li>
<p><strong>Build your own internal benchmark.</strong> 200-300 examples from your production data, stratified across your task distribution, will give you more reliable signal than any public benchmark for your specific use case.</p>
</li>
<li>
<p><strong>Report confidence intervals.</strong> A score without an uncertainty estimate is not a scientific measurement. It&rsquo;s a marketing number.</p>
</li>
</ol>
<p>The benchmarks that still provide genuine signal in 2026 — <a href="/posts/swe-bench-coding-benchmarks-guide-2026/">SWE-bench Verified and Pro</a>, GPQA Diamond, LiveCodeBench — are useful precisely because their designers have grappled with these variance sources. But even the best benchmark is only as reliable as the evaluation protocol around it. Run it once, and you&rsquo;re guessing. Run it five times with confidence intervals, and you have data.</p>
<h2 id="faq">FAQ</h2>
<h3 id="how-much-variance-is-normal-in-llm-benchmark-scores">How much variance is normal in LLM benchmark scores?</h3>
<p>For a 100-question benchmark, a 75% score has a standard error of about 4.3%, meaning the 95% confidence interval spans roughly 17 percentage points. For frontier models within 3-5 points of each other, run-to-run variance alone can flip rankings. I&rsquo;ve seen 1-2 point swings on MMLU from GPU nondeterminism alone, and 5+ point swings on small subsets from sampling variance.</p>
<h3 id="can-i-trust-benchmark-scores-from-model-release-blog-posts">Can I trust benchmark scores from model release blog posts?</h3>
<p>Only as directional indicators, not as precise measurements. Most model releases report single-run scores without confidence intervals, and many use benchmarks that may be contaminated by training data overlap. Treat a published score as an upper bound — the model&rsquo;s real performance on your specific task is likely lower, and you won&rsquo;t know by how much until you evaluate it yourself.</p>
<h3 id="whats-the-minimum-number-of-benchmark-questions-for-reliable-evaluation">What&rsquo;s the minimum number of benchmark questions for reliable evaluation?</h3>
<p>At least 250 examples for reliable ranking between models within 5 points of each other, based on the October 2025 micro-benchmarking study. Below that threshold, sampling variance dominates. For production selection decisions, aim for 500+ examples stratified across your task distribution.</p>
<h3 id="how-do-i-check-if-a-benchmark-is-contaminated">How do I check if a benchmark is contaminated?</h3>
<p>Check whether the benchmark dataset was published before the model&rsquo;s training cutoff date. If it was, the score is potentially inflated. The safest approach is to use benchmarks with continuous test-set rotation like LiveCodeBench, or build your own evaluation set from production data that couldn&rsquo;t appear in any public training corpus.</p>
<h3 id="whats-the-single-most-important-thing-i-can-do-to-improve-my-llm-evaluations">What&rsquo;s the single most important thing I can do to improve my LLM evaluations?</h3>
<p>Run every evaluation at least 3 times and report the mean and standard deviation. This single practice eliminates the most common source of misleading results — treating a single noisy measurement as a reliable score. If two models&rsquo; means are within 2 standard deviations of each other, they&rsquo;re statistically indistinguishable on that benchmark.</p>
]]></content:encoded></item></channel></rss>