<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ward Ed</title>
    <description>The latest articles on DEV Community by Ward Ed (@ward_ed_6b5e6aa8ded94a987).</description>
    <link>https://dev.to/ward_ed_6b5e6aa8ded94a987</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4163315%2F0bd91171-b421-4ec2-9ce1-8301c0077eca.jpg</url>
      <title>DEV Community: Ward Ed</title>
      <link>https://dev.to/ward_ed_6b5e6aa8ded94a987</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ward_ed_6b5e6aa8ded94a987"/>
    <language>en</language>
    <item>
      <title>Reading a Hardware-Equivalence Claim Like an Evaluator: A Checklist Applied to an NPU vs GPU Pretraining Twin</title>
      <dc:creator>Ward Ed</dc:creator>
      <pubDate>Mon, 26 Oct 2026 06:12:21 +0000</pubDate>
      <link>https://dev.to/ward_ed_6b5e6aa8ded94a987/reading-a-hardware-equivalence-claim-like-an-evaluator-a-checklist-applied-to-an-npu-vs-gpu-3cfb</link>
      <guid>https://dev.to/ward_ed_6b5e6aa8ded94a987/reading-a-hardware-equivalence-claim-like-an-evaluator-a-checklist-applied-to-an-npu-vs-gpu-3cfb</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: this account is run by members of the VIDRAFT team, and the work discussed below is VIDRAFT's own result. It is not an independent review.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;"Matches the GPU" is easy to say and hard to show. Here are five checks an evaluator should run on any such claim, applied to VKORE-325M, pretrained on a Rebellions ATOM-Max NPU and on a B200 GPU. It passes four; the fifth (seed variance) is still open.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check 1: Is there a true twin?
&lt;/h2&gt;

&lt;p&gt;The reference must differ only in hardware. Here initialization, data, batch and schedule were identical.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhuggingface.co%2FFINAL-Bench%2FVKORE-325M-NPU-Base%2Fresolve%2Fmain%2Farticle%2Ffig6_twin_design.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fhuggingface.co%2FFINAL-Bench%2FVKORE-325M-NPU-Base%2Fresolve%2Fmain%2Farticle%2Ffig6_twin_design.png" alt="Twin design" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg8yjy8vynqyh2f6oggya.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fg8yjy8vynqyh2f6oggya.png" alt="Same schedule" width="800" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Check 2: Is the evaluation data really unseen?
&lt;/h2&gt;

&lt;p&gt;Read the sampler, not the split table. The first evaluation used windows from the end of the training file, but training drew random windows from the whole file, so those windows were partly seen. The corrected evaluation uses FineWeb-Edu shard 013, which was never in the training corpus (shards 000 and 001).&lt;/p&gt;

&lt;h2&gt;
  
  
  Check 3: Is the comparison paired?
&lt;/h2&gt;

&lt;p&gt;Window-to-window variance dwarfs model differences. On identical windows the paired standard error is 0.0007, versus about 0.0049 for each model's mean.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy50kh9fr17pvf4zzc3vx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy50kh9fr17pvf4zzc3vx.png" alt="Paired differences" width="800" height="349"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Loss, unseen (1,024 windows)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Rebellions ATOM-Max NPU&lt;/td&gt;
&lt;td&gt;0.7993&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B200 GPU&lt;/td&gt;
&lt;td&gt;0.7994&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Check 4: Can you rerun it?
&lt;/h2&gt;

&lt;p&gt;Both checkpoints and evaluate_unseen.py are public in &lt;a href="https://huggingface.co/FINAL-Bench/VKORE-325M-NPU-Base" rel="noopener noreferrer"&gt;the model repo&lt;/a&gt;. An evaluator can reproduce the table without trusting the authors.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check 5: Is variance across seeds reported?
&lt;/h2&gt;

&lt;p&gt;Not yet: one run per hardware. A stronger claim would repeat each side with several seeds.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What would falsify the claim?&lt;/strong&gt; A paired difference well outside two standard errors on fresh data, or failure to reproduce with the published files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does the claim cover speed?&lt;/strong&gt; No, only quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Technical report: &lt;a href="https://huggingface.co/blog/FINAL-Bench/pretraining-a-325m-language-model-from-zero-on-an" rel="noopener noreferrer"&gt;https://huggingface.co/blog/FINAL-Bench/pretraining-a-325m-language-model-from-zero-on-an&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>benchmark</category>
      <category>llm</category>
    </item>
    <item>
      <title>What a Youden index of 77 actually means on the OWASP Benchmark</title>
      <dc:creator>Ward Ed</dc:creator>
      <pubDate>Fri, 23 Oct 2026 09:23:10 +0000</pubDate>
      <link>https://dev.to/ward_ed_6b5e6aa8ded94a987/what-a-youden-index-of-77-actually-means-on-the-owasp-benchmark-5196</link>
      <guid>https://dev.to/ward_ed_6b5e6aa8ded94a987/what-a-youden-index-of-77-actually-means-on-the-owasp-benchmark-5196</guid>
      <description>&lt;p&gt;Security tool vendors love a single headline number. The OWASP Benchmark gives one, the Youden index, and it is worth understanding before you compare anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Youden index is
&lt;/h2&gt;

&lt;p&gt;The OWASP Benchmark runs a tool against about 2,700 test cases, each a known true or false vulnerability, and scores the result as a Youden index from 0 to 100. The index is sensitivity plus specificity minus one, rescaled. In plain terms, it rewards catching real issues and penalizes false alarms at the same time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why that matters
&lt;/h2&gt;

&lt;p&gt;A tool can inflate raw precision by quietly reporting fewer findings, or inflate recall by flagging everything. Youden resists both, because dropping true positives hurts sensitivity and flagging noise hurts specificity. So a move from the low 50s to the high 70s is meaningful only if recall held while false positives fell.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to compare tools fairly
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ask whether a score is self-measured or verified through the official scoring harness. Both are legitimate, but they are not the same claim.&lt;/li&gt;
&lt;li&gt;Check that the test set and version are stated. The benchmark evolves.&lt;/li&gt;
&lt;li&gt;Separate static-analysis-only numbers from results that include dynamic probing. They measure different things.&lt;/li&gt;
&lt;li&gt;Treat mid-70s and above as the current commercial band, not a finish line.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The point is not any one product. It is that a number only means something when you know how it was measured.&lt;/p&gt;

</description>
      <category>security</category>
      <category>appsec</category>
      <category>benchmark</category>
      <category>testing</category>
    </item>
    <item>
      <title>GPQA Diamond Has 198 Questions: What the Hugging Face Leaderboard's 115 Rows Can and Cannot Rank</title>
      <dc:creator>Ward Ed</dc:creator>
      <pubDate>Wed, 21 Oct 2026 16:05:19 +0000</pubDate>
      <link>https://dev.to/ward_ed_6b5e6aa8ded94a987/gpqa-diamond-has-198-questions-what-the-hugging-face-leaderboards-115-rows-can-and-cannot-rank-2dlm</link>
      <guid>https://dev.to/ward_ed_6b5e6aa8ded94a987/gpqa-diamond-has-198-questions-what-the-hugging-face-leaderboards-115-rows-can-and-cannot-rank-2dlm</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;On October 22, 2026 the Hugging Face official GPQA Diamond leaderboard returned &lt;strong&gt;115 rows for 97 repos, and 0 rows marked verified&lt;/strong&gt;. 60 rows link to a model card, 22 come from an EvalEval source, 33 have another or no source.&lt;/li&gt;
&lt;li&gt;GPQA Diamond has &lt;strong&gt;198 questions&lt;/strong&gt;. One question is 0.505 points. A score of 93.5% has a 95% sampling interval of roughly 89.2 to 96.2, so a model at 90.1% and a model at 93.5% are not separated by this test alone.&lt;/li&gt;
&lt;li&gt;Of 93 rows whose values are rounded to two decimals or fewer, &lt;strong&gt;57 cannot be a single pass over 198 questions&lt;/strong&gt; (for example 93.5 is not a rounding of 185/198 = 93.43 or 186/198 = 93.94). Those rows are averages over runs or a different protocol. 43 of the 57 have an empty notes field, and only one says it is an average.&lt;/li&gt;
&lt;li&gt;In the same Hugging Face repo, one model's score spans &lt;strong&gt;67.1 to 80.1&lt;/strong&gt; across reasoning-effort settings on the model card. That is a bigger spread than the entire gap between rank 2 and rank 15.&lt;/li&gt;
&lt;li&gt;In an &lt;strong&gt;illustrative simulation&lt;/strong&gt;, a 2-point gap (92% vs 90%) survives a fresh draw of 198 questions about 77% of the time. It takes roughly 800 questions to reach 95%.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Kimi%2520K3%2520%252893.5%2529%2522%252C%2522GLM-5.2%2520%252891.2%2529%2522%252C%2522Kimi%2520K2.6%2520%252890.5%2529%2522%252C%2522Hunyuan%2520Hy3%2520%252890.4%2529%2522%252C%2522DeepSeek-V4-Pro%2520%252890.1%2529%2522%252C%2522DeepSeek-V4-Flash%2520%252888.1%2529%2522%252C%2522Qwen3.6-27B%2520%252887.8%2529%2522%252C%2522Nemotron%25203%2520Ultra%2520%252887.0%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2520%2522%252C%2522data%2522%253A%255B89.2%252C86.4%252C85.6%252C85.5%252C85.1%252C82.8%252C82.5%252C81.6%255D%252C%2522backgroundColor%2522%253A%2522rgba%25280%252C0%252C0%252C0%2529%2522%257D%252C%257B%2522label%2522%253A%252295%2525%2520Wilson%2520interval%2520for%2520a%2520198-question%2520score%2522%252C%2522data%2522%253A%255B7.0%252C8.0%252C8.2%252C8.3%252C8.4%252C9.1%252C9.2%252C9.4%255D%252C%2522backgroundColor%2522%253A%2522%25232b6cb0%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522GPQA%2520Diamond%252C%2520self-reported%2520scores%2520with%2520sampling%2520intervals%2522%252C%2522fontSize%2522%253A18%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522min%2522%253A78%252C%2522max%2522%253A98%257D%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522fontSize%2522%253A14%257D%257D%255D%257D%252C%2522legend%2522%253A%257B%2522display%2522%253Atrue%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Kimi%2520K3%2520%252893.5%2529%2522%252C%2522GLM-5.2%2520%252891.2%2529%2522%252C%2522Kimi%2520K2.6%2520%252890.5%2529%2522%252C%2522Hunyuan%2520Hy3%2520%252890.4%2529%2522%252C%2522DeepSeek-V4-Pro%2520%252890.1%2529%2522%252C%2522DeepSeek-V4-Flash%2520%252888.1%2529%2522%252C%2522Qwen3.6-27B%2520%252887.8%2529%2522%252C%2522Nemotron%25203%2520Ultra%2520%252887.0%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2520%2522%252C%2522data%2522%253A%255B89.2%252C86.4%252C85.6%252C85.5%252C85.1%252C82.8%252C82.5%252C81.6%255D%252C%2522backgroundColor%2522%253A%2522rgba%25280%252C0%252C0%252C0%2529%2522%257D%252C%257B%2522label%2522%253A%252295%2525%2520Wilson%2520interval%2520for%2520a%2520198-question%2520score%2522%252C%2522data%2522%253A%255B7.0%252C8.0%252C8.2%252C8.3%252C8.4%252C9.1%252C9.2%252C9.4%255D%252C%2522backgroundColor%2522%253A%2522%25232b6cb0%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522GPQA%2520Diamond%252C%2520self-reported%2520scores%2520with%2520sampling%2520intervals%2522%252C%2522fontSize%2522%253A18%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522min%2522%253A78%252C%2522max%2522%253A98%257D%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522fontSize%2522%253A14%257D%257D%255D%257D%252C%2522legend%2522%253A%257B%2522display%2522%253Atrue%257D%257D%257D" alt="GPQA Diamond self-reported scores with sampling intervals" width="2000" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is on the Hugging Face GPQA leaderboard?
&lt;/h2&gt;

&lt;p&gt;The dataset repo &lt;code&gt;Idavidrein/gpqa&lt;/code&gt; carries the tags &lt;code&gt;benchmark:official&lt;/code&gt; and &lt;code&gt;benchmark:eval-yaml&lt;/code&gt;, which mark it as an official benchmark that accepts eval YAML files. Models report results through &lt;code&gt;.eval_results/*.yaml&lt;/code&gt; files in their own repos or through pull requests. The leaderboard shows what those files say.&lt;/p&gt;

&lt;p&gt;I pulled the JSON the leaderboard view uses. I did not find documentation for that endpoint, so treat it as unstable. The snapshot (October 22, 2026, KST) looks like this:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Count&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Rows&lt;/td&gt;
&lt;td&gt;115&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Distinct repos&lt;/td&gt;
&lt;td&gt;97&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rows with &lt;code&gt;verified: true&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Source name "Model Card"&lt;/td&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Source name "EvalEval"&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other or no source&lt;/td&gt;
&lt;td&gt;33&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rows with a free-text &lt;code&gt;notes&lt;/code&gt; field filled in&lt;/td&gt;
&lt;td&gt;63&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Zero verified rows does not mean the numbers are wrong. It means the board is a collection of claims, and the only checks are the ones you do yourself. Everything below is about what you can check from the rows alone.&lt;/p&gt;

&lt;p&gt;A roundup check first. An open-LLM roundup updated October 13, 2026 lists GPQA Diamond for eight models: 93.5 (Kimi K3), 91.2 (GLM-5.2), 90.5 (Kimi K2.6), 90.4 (Hunyuan Hy3), 90.1 (DeepSeek-V4-Pro), 88.1 (DeepSeek-V4-Flash), 87.8 (Qwen3.6-27B) and 87.0 (Nemotron 3 Ultra). All eight equal the model-card row on the Hugging Face board to the decimal. The roundup does not say where its numbers come from, but this match makes self-reported figures the likely source. I will use those eight as the running example, because they are the numbers people actually quote.&lt;/p&gt;

&lt;h2&gt;
  
  
  How much can 198 questions separate?
&lt;/h2&gt;

&lt;p&gt;Treat each question as a coin flip with the model's true accuracy. The standard error of a score p over n = 198 questions is sqrt(p(1-p)/n). At p = 0.90 that is 2.1 points, and the 95% Wilson interval is about plus or minus 4 points.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model (self-reported)&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;95% interval over 198 questions&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Kimi K3&lt;/td&gt;
&lt;td&gt;93.5&lt;/td&gt;
&lt;td&gt;89.2 to 96.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GLM-5.2&lt;/td&gt;
&lt;td&gt;91.2&lt;/td&gt;
&lt;td&gt;86.4 to 94.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kimi K2.6&lt;/td&gt;
&lt;td&gt;90.5&lt;/td&gt;
&lt;td&gt;85.6 to 93.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hunyuan Hy3&lt;/td&gt;
&lt;td&gt;90.4&lt;/td&gt;
&lt;td&gt;85.5 to 93.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek-V4-Pro&lt;/td&gt;
&lt;td&gt;90.1&lt;/td&gt;
&lt;td&gt;85.1 to 93.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek-V4-Flash&lt;/td&gt;
&lt;td&gt;88.1&lt;/td&gt;
&lt;td&gt;82.8 to 91.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.6-27B&lt;/td&gt;
&lt;td&gt;87.8&lt;/td&gt;
&lt;td&gt;82.5 to 91.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nemotron 3 Ultra&lt;/td&gt;
&lt;td&gt;87.0&lt;/td&gt;
&lt;td&gt;81.6 to 91.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Every interval overlaps with at least its neighbours. Overlap is a conservative test, and the better question is about the &lt;strong&gt;gap&lt;/strong&gt;. Two models answer the same 198 questions, so their errors are correlated: a question that is hard for one is usually hard for the other. A correlation rho between the two models' per-question outcomes shrinks the noise in the gap to sqrt(2p(1-p)(1-rho)/n). The smallest gap that clears a 95% test is then:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;True accuracy&lt;/th&gt;
&lt;th&gt;rho = 0&lt;/th&gt;
&lt;th&gt;rho = 0.5&lt;/th&gt;
&lt;th&gt;rho = 0.8&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;80%&lt;/td&gt;
&lt;td&gt;7.9&lt;/td&gt;
&lt;td&gt;5.6&lt;/td&gt;
&lt;td&gt;3.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;90%&lt;/td&gt;
&lt;td&gt;5.9&lt;/td&gt;
&lt;td&gt;4.2&lt;/td&gt;
&lt;td&gt;2.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;93.5%&lt;/td&gt;
&lt;td&gt;4.9&lt;/td&gt;
&lt;td&gt;3.4&lt;/td&gt;
&lt;td&gt;2.2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Nobody publishes the per-question correlation between two vendors' runs, so rho is an assumption. Even at an optimistic 0.8, a 90% model needs a 2.6 point lead before the order is statistically readable. On the board, 13 rows sit at or above 90.3, which is the lower end of the top row's own interval. The top of this board is a cluster, not a ladder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Would the order survive a fresh draw of questions?
&lt;/h2&gt;

&lt;p&gt;A simulation makes the point more concretely. I drew 198 questions with a shared difficulty factor (a latent Gaussian copula), set the accuracies to the reported values, and counted how often model A scored strictly higher than model B. These are &lt;strong&gt;illustrative&lt;/strong&gt; numbers under the assumed correlation, not measurements of any real model pair.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pair (reported scores)&lt;/th&gt;
&lt;th&gt;Order holds, rho = 0.5&lt;/th&gt;
&lt;th&gt;Order holds, rho = 0.8&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;93.5 vs 91.2&lt;/td&gt;
&lt;td&gt;81.0%&lt;/td&gt;
&lt;td&gt;85.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;93.5 vs 90.1&lt;/td&gt;
&lt;td&gt;90.8%&lt;/td&gt;
&lt;td&gt;94.8%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;91.2 vs 90.1&lt;/td&gt;
&lt;td&gt;62.6%&lt;/td&gt;
&lt;td&gt;66.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;90.1 vs 88.1&lt;/td&gt;
&lt;td&gt;74.4%&lt;/td&gt;
&lt;td&gt;78.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;93.5 vs 87.0&lt;/td&gt;
&lt;td&gt;99.3%&lt;/td&gt;
&lt;td&gt;99.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The 6.5 point gap between the first and last model is safe. Everything adjacent is closer to a coin flip with a thumb on the scale. Ties, which are up to 9% of draws here, count against "A is ahead" in this table.&lt;/p&gt;

&lt;p&gt;The next chart holds the accuracy at 90%, sets rho to 0.6, and asks how many questions a benchmark needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522line%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522198%2522%252C%2522400%2522%252C%2522800%2522%252C%25221600%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%25221%2520point%2520gap%2522%252C%2522data%2522%253A%255B61.5%252C71.0%252C77.5%252C87.8%255D%252C%2522borderColor%2522%253A%2522%2523999%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%25222%2520point%2520gap%2522%252C%2522data%2522%253A%255B76.6%252C87.6%252C94.6%252C99.1%255D%252C%2522borderColor%2522%253A%2522%2523dd6b20%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%25223%2520point%2520gap%2522%252C%2522data%2522%253A%255B88.5%252C96.5%252C99.3%252C100%255D%252C%2522borderColor%2522%253A%2522%25232b6cb0%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%252295%2525%2520line%2522%252C%2522data%2522%253A%255B95%252C95%252C95%252C95%255D%252C%2522borderColor%2522%253A%2522%2523c53030%2522%252C%2522borderDash%2522%253A%255B6%252C4%255D%252C%2522fill%2522%253Afalse%252C%2522pointRadius%2522%253A0%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Chance%2520a%252090%2525%2520model%2520stays%2520ahead%2520on%2520a%2520fresh%2520question%2520draw%2520%2528illustrative%2520simulation%2529%2522%252C%2522fontSize%2522%253A16%257D%252C%2522scales%2522%253A%257B%2522yAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522min%2522%253A55%252C%2522max%2522%253A100%257D%252C%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522%2525%2520of%2520draws%252C%2520same%2520order%2522%257D%257D%255D%252C%2522xAxes%2522%253A%255B%257B%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522number%2520of%2520questions%2522%257D%257D%255D%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522line%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522198%2522%252C%2522400%2522%252C%2522800%2522%252C%25221600%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%25221%2520point%2520gap%2522%252C%2522data%2522%253A%255B61.5%252C71.0%252C77.5%252C87.8%255D%252C%2522borderColor%2522%253A%2522%2523999%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%25222%2520point%2520gap%2522%252C%2522data%2522%253A%255B76.6%252C87.6%252C94.6%252C99.1%255D%252C%2522borderColor%2522%253A%2522%2523dd6b20%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%25223%2520point%2520gap%2522%252C%2522data%2522%253A%255B88.5%252C96.5%252C99.3%252C100%255D%252C%2522borderColor%2522%253A%2522%25232b6cb0%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%252295%2525%2520line%2522%252C%2522data%2522%253A%255B95%252C95%252C95%252C95%255D%252C%2522borderColor%2522%253A%2522%2523c53030%2522%252C%2522borderDash%2522%253A%255B6%252C4%255D%252C%2522fill%2522%253Afalse%252C%2522pointRadius%2522%253A0%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Chance%2520a%252090%2525%2520model%2520stays%2520ahead%2520on%2520a%2520fresh%2520question%2520draw%2520%2528illustrative%2520simulation%2529%2522%252C%2522fontSize%2522%253A16%257D%252C%2522scales%2522%253A%257B%2522yAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522min%2522%253A55%252C%2522max%2522%253A100%257D%252C%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522%2525%2520of%2520draws%252C%2520same%2520order%2522%257D%257D%255D%252C%2522xAxes%2522%253A%255B%257B%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522number%2520of%2520questions%2522%257D%257D%255D%257D%257D%257D" alt="Order-survival curve versus number of questions" width="2000" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For a 2-point gap the answer is about 800 questions (94.6%) and for a 1-point gap more than 1,600 (87.8%). GPQA Diamond was built as a hard, expert-validated subset, so its small size is a design choice, not a mistake. The consequence is that it was never built to rank models 2 points apart.&lt;/p&gt;

&lt;h2&gt;
  
  
  Are these rows single runs over 198 questions?
&lt;/h2&gt;

&lt;p&gt;This is the check I find most useful, and it takes four lines of code. If a row is one pass over the 198 questions, its value must be k/198 for an integer k. The rows from EvalEval are: all 22 have long decimals such as 87.8787878788, which is exactly 174/198. Their values come straight from a count.&lt;/p&gt;

&lt;p&gt;The other rows are rounded by their authors. For a value rounded to two decimals, the chance of landing on a k/198 value by coincidence is about 2%, so a hit is meaningful. For one decimal it is about 20%, so a hit proves little, but a &lt;strong&gt;miss&lt;/strong&gt; is conclusive:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;93 rows have two decimals or fewer.&lt;/li&gt;
&lt;li&gt;36 of them are consistent with one pass over 198 questions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;57 are not.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The headline example is 93.5. The nearest single-pass values are 185/198 = 93.43 and 186/198 = 93.94. A reported 93.5 therefore comes from an average over several runs, a different item count, or a different aggregation. The row's &lt;code&gt;notes&lt;/code&gt; field is empty, so the board does not say which. Across all 57 off-grid rows, 43 have no notes and only one ("Avg@4") names an averaging protocol.&lt;/p&gt;

&lt;p&gt;Why it matters: an average over several samples has less noise than a single run, but a majority vote over up to 16 samples or a larger thinking budget is a different measurement. Notes on the board range from "greedy decoding, single sample" to "majority vote over up to 16 samples" to "Avg@4". They all land in one column and get ranked together. I cannot tell you which protocol is best. I can tell you the column does not hold one quantity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Same repo, different setting: how big can the gap be?
&lt;/h2&gt;

&lt;p&gt;Fourteen rows belong to the two &lt;code&gt;gpt-oss&lt;/code&gt; repos: each model card reports three reasoning-effort levels, each with and without tools (six rows), plus one EvalEval row per repo. Without tools, the model-card values are:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Reasoning effort&lt;/th&gt;
&lt;th&gt;gpt-oss-120b&lt;/th&gt;
&lt;th&gt;gpt-oss-20b&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;low&lt;/td&gt;
&lt;td&gt;67.1&lt;/td&gt;
&lt;td&gt;56.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;medium&lt;/td&gt;
&lt;td&gt;73.1&lt;/td&gt;
&lt;td&gt;66.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;high&lt;/td&gt;
&lt;td&gt;80.1&lt;/td&gt;
&lt;td&gt;71.5&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522low%2522%252C%2522medium%2522%252C%2522high%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522gpt-oss-120b%2522%252C%2522data%2522%253A%255B67.1%252C73.1%252C80.1%255D%252C%2522backgroundColor%2522%253A%2522%25232b6cb0%2522%257D%252C%257B%2522label%2522%253A%2522gpt-oss-20b%2522%252C%2522data%2522%253A%255B56.8%252C66.0%252C71.5%255D%252C%2522backgroundColor%2522%253A%2522%2523dd6b20%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Same%2520weights%252C%2520three%2520settings%253A%2520GPQA%2520Diamond%2520by%2520reasoning%2520effort%2520%2528model-card%2520rows%252C%2520no%2520tools%2529%2522%252C%2522fontSize%2522%253A16%257D%252C%2522scales%2522%253A%257B%2522yAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522min%2522%253A40%252C%2522max%2522%253A90%257D%252C%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522accuracy%2520%2525%2522%257D%257D%255D%252C%2522xAxes%2522%253A%255B%257B%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522reasoning%2520effort%2522%257D%257D%255D%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522low%2522%252C%2522medium%2522%252C%2522high%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522gpt-oss-120b%2522%252C%2522data%2522%253A%255B67.1%252C73.1%252C80.1%255D%252C%2522backgroundColor%2522%253A%2522%25232b6cb0%2522%257D%252C%257B%2522label%2522%253A%2522gpt-oss-20b%2522%252C%2522data%2522%253A%255B56.8%252C66.0%252C71.5%255D%252C%2522backgroundColor%2522%253A%2522%2523dd6b20%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Same%2520weights%252C%2520three%2520settings%253A%2520GPQA%2520Diamond%2520by%2520reasoning%2520effort%2520%2528model-card%2520rows%252C%2520no%2520tools%2529%2522%252C%2522fontSize%2522%253A16%257D%252C%2522scales%2522%253A%257B%2522yAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522min%2522%253A40%252C%2522max%2522%253A90%257D%252C%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522accuracy%2520%2525%2522%257D%257D%255D%252C%2522xAxes%2522%253A%255B%257B%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522reasoning%2520effort%2522%257D%257D%255D%257D%257D%257D" alt="gpt-oss GPQA Diamond by reasoning effort" width="2000" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Same weights, spread of 13.0 points for the larger model and 14.7 for the smaller. For comparison, the whole distance from rank 2 (93.5) to rank 15 (89.5) on the board is 4.0 points. &lt;strong&gt;A setting you did not read can move a score more than every model gap in the top 15.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The EvalEval rows show the same trap from the other side. For gpt-oss-120b, EvalEval reports 80.81, which sits next to the "high" model-card value (80.1). For gpt-oss-20b, EvalEval reports 58.59, which sits next to the "low" values (58.0 and 56.8) and 12.9 points below the "high" card value. The EvalEval row records no reasoning effort, so a naive comparison would conclude that the 20b card is inflated by 13 points. More likely the two sources ran different settings. I cannot confirm that from the rows, and that is the point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do self-reports run higher than independent re-measurements?
&lt;/h2&gt;

&lt;p&gt;Four repos have both a model-card row and an EvalEval row, with a setting I can match:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Repo&lt;/th&gt;
&lt;th&gt;Model card&lt;/th&gt;
&lt;th&gt;EvalEval (single pass)&lt;/th&gt;
&lt;th&gt;Difference&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Kimi-K2.5&lt;/td&gt;
&lt;td&gt;87.60&lt;/td&gt;
&lt;td&gt;87.37&lt;/td&gt;
&lt;td&gt;+0.23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.5-122B-A10B&lt;/td&gt;
&lt;td&gt;86.60&lt;/td&gt;
&lt;td&gt;84.85&lt;/td&gt;
&lt;td&gt;+1.75&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.5-27B&lt;/td&gt;
&lt;td&gt;85.50&lt;/td&gt;
&lt;td&gt;81.82&lt;/td&gt;
&lt;td&gt;+3.68&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gpt-oss-120b (high, no tools)&lt;/td&gt;
&lt;td&gt;80.10&lt;/td&gt;
&lt;td&gt;80.81&lt;/td&gt;
&lt;td&gt;-0.71&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The mean difference is +1.24 points, positive in three of four. A single pass over 198 questions at 85% accuracy has a standard error of 2.5 points, so only the Qwen3.5-27B gap (1.5 standard errors) is anywhere near notable, and 4 repos cannot tell a 1 point inflation from none. I read this as "no evidence of large inflation, and no power to see a small one". It is not a verdict on any vendor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do repeated numbers mean copied numbers?
&lt;/h2&gt;

&lt;p&gt;Seventeen values appear under more than one repo. Most are coincidences at a 0.1 resolution among 115 rows, or sibling checkpoints. Three look different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;zai-org/GLM-5.1&lt;/code&gt; and two MXFP4 AutoRound re-uploads (&lt;code&gt;INCModel3/...&lt;/code&gt; and &lt;code&gt;intel-ai/...&lt;/code&gt;) all list exactly 86.2.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;nvidia/...Nemotron-3-Super-120B-A12B-BF16&lt;/code&gt; and &lt;code&gt;RedHatAI/...Nemotron-3-Super-120B-A12B-BF16&lt;/code&gt; both list the same two values, 82.7 and 79.23.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A quantized checkpoint reproducing its parent's score to the decimal is more plausibly a copied figure than a re-measurement. That is an inference, since the rows do not say. If true, those rows inflate the count of "models above 86" without adding evidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is there headroom left to rank at the top?
&lt;/h2&gt;

&lt;p&gt;GPQA Diamond is a ceiling-limited test. The original paper reports expert accuracy of 65% on the full 448-question set, 74% when excluding errors the experts later identified. An Epoch AI analysis from May 30, 2025 hand-reviewed six of the hardest Diamond questions, judged about 2.25 of them invalid, and extrapolated to roughly 8% of the benchmark (about 15 questions). That extrapolation rests on six questions and carries a wide error bar.&lt;/p&gt;

&lt;p&gt;Take it at face value anyway. Fifteen invalid questions would put the ceiling at 183/198 = 92.4%, and &lt;strong&gt;5 of the 115 rows are above it&lt;/strong&gt;, including the top row at 94.44 (187/198). A model can match the key on a flawed question, for example by reproducing the same common mistake as the answer key, so being above the "valid ceiling" is not proof of anything wrong. It does mean that at the very top, a point or two measures key agreement as much as science knowledge.&lt;/p&gt;

&lt;h2&gt;
  
  
  A six-step check before quoting a GPQA number
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Read the &lt;code&gt;notes&lt;/code&gt; field. If it is empty, you do not know the protocol.&lt;/li&gt;
&lt;li&gt;Test the grid. If the value is not k/198 (and it has at most two decimals), it is not one pass.&lt;/li&gt;
&lt;li&gt;Find the setting: reasoning effort, tools, temperature, number of samples. Compare only matching settings.&lt;/li&gt;
&lt;li&gt;Attach an interval. For n = 198 use plus or minus 4 points near 90%.&lt;/li&gt;
&lt;li&gt;Check whether the repo is a quantized re-upload of a model already on the board.&lt;/li&gt;
&lt;li&gt;Say "tied within noise" when the gap is under about 3 points, unless you have per-question data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The script below reproduces the board statistics, the grid test and the interval table. It needs &lt;code&gt;numpy&lt;/code&gt; only for the simulation, which I left out here for brevity.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;collections&lt;/span&gt;
&lt;span class="n"&gt;URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://huggingface.co/api/datasets/Idavidrein/gpqa/leaderboard&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;rows&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;User-Agent&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Mozilla/5.0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}),&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;198&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;decimals&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;repr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;float&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;rstrip&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;on_grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;decimals&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;any&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;wilson&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1.96&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;modelId&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;}),&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;verified&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;low&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;rows&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;decimals&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rounded rows:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;low&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;off the k/198 grid:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="nf"&gt;on_grid&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;low&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;93.5 -&amp;gt;&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;wilson&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.935&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Limitations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;One snapshot, taken October 22, 2026. The board changes as pull requests merge.&lt;/li&gt;
&lt;li&gt;The grid test cannot say why a value is off the grid. Averages, a different item count and partial-credit scoring all produce it.&lt;/li&gt;
&lt;li&gt;The simulation assumes a latent Gaussian copula with rho set by hand. Real models are not Gaussian, and real rho is unknown.&lt;/li&gt;
&lt;li&gt;The card-versus-EvalEval comparison has four repos and a single EvalEval pass each.&lt;/li&gt;
&lt;li&gt;I ran no model. Every score is as published.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;How many questions are in GPQA Diamond?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It is the hardest subset of the 448-question GPQA set, kept to questions where both expert validators answered correctly. One question is 0.505 points of accuracy.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Is a 93.5% GPQA Diamond score better than 90.1%?&lt;/strong&gt;&lt;br&gt;
Probably, but not by this test alone. Over 198 questions the 95% interval for 93.5% runs from about 89.2 to 96.2, which contains 90.1. In the simulation above, the order holds in 91% to 95% of fresh draws depending on the assumed correlation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does "verified: false" on the Hugging Face board mean?&lt;/strong&gt;&lt;br&gt;
Every one of the 115 rows had it, so the board gave no independent confirmation for any score. The rows record a claim and its source link, not a reproduction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why would a GPQA score not be a multiple of 1/198?&lt;/strong&gt;&lt;br&gt;
A single pass over the 198 questions produces only multiples of 1/198 (0.505%). A value off that grid means averaging over several samples, another item count, or a different aggregation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How should I compare two open models on GPQA Diamond?&lt;/strong&gt;&lt;br&gt;
Match the setting first: reasoning effort, tools, temperature, number of samples. Then compare with an interval. If the gap is under about 3 points, call it a tie unless you have per-question results for both models.&lt;/p&gt;

&lt;h2&gt;
  
  
  Further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/ward_ed_6b5e6aa8ded94a987/how-hugging-face-official-benchmark-leaderboards-actually-work-evalresults-yaml-the-basemodel-29bo"&gt;How Hugging Face Official Benchmark Leaderboards Actually Work: .eval_results YAML, the base_model Filter, and the 30% the Default View Hides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ward_ed_6b5e6aa8ded94a987/best-open-weight-llm-in-october-2026-auditing-two-leaderboards-row-by-row-1b64"&gt;Best Open-Weight LLM in October 2026? Auditing Two Leaderboards Row by Row&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://huggingface.co/datasets/Idavidrein/gpqa" rel="noopener noreferrer"&gt;Hugging Face, Idavidrein/gpqa dataset&lt;/a&gt; and its leaderboard data (retrieved October 22, 2026)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://arxiv.org/abs/2311.12022" rel="noopener noreferrer"&gt;Rein et al., GPQA: A Graduate-Level Google-Proof Q&amp;amp;A Benchmark (arXiv 2311.12022)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://epochai.substack.com/p/gpqa-diamond-whats-left" rel="noopener noreferrer"&gt;Epoch AI, GPQA Diamond: What's Left? (May 30, 2025)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://epoch.ai/benchmarks/gpqa-diamond" rel="noopener noreferrer"&gt;Epoch AI, GPQA Diamond benchmark page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://onyx.app/insights/best-open-source-llms-2026" rel="noopener noreferrer"&gt;Onyx, Best Open Source LLMs in 2026 (updated October 13, 2026)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://huggingface.co/moonshotai/Kimi-K3" rel="noopener noreferrer"&gt;Hugging Face, moonshotai/Kimi-K3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>llm</category>
      <category>benchmark</category>
    </item>
    <item>
      <title>Do 66 Terminal Tasks and a 45% Private Weight Settle AI Rankings? Reading Artificial Analysis Index v4.3</title>
      <dc:creator>Ward Ed</dc:creator>
      <pubDate>Tue, 20 Oct 2026 13:50:27 +0000</pubDate>
      <link>https://dev.to/ward_ed_6b5e6aa8ded94a987/do-66-terminal-tasks-and-a-45-private-weight-settle-ai-rankings-reading-artificial-analysis-index-1872</link>
      <guid>https://dev.to/ward_ed_6b5e6aa8ded94a987/do-66-terminal-tasks-and-a-45-private-weight-settle-ai-rankings-reading-artificial-analysis-index-1872</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Artificial Analysis Intelligence Index v4.3 (launch article dated September 7, 2026) raised the weight of evaluations with private tasks or answers from 40% to 45%. In the published weight table, four of the ten evaluations carry that 45%: AA-Briefcase (15), AutomationBench-AA (5), AA-Omniscience (10 + 5) and CritPt (10).&lt;/li&gt;
&lt;li&gt;Private test sets attack one problem, gaming and contamination. They do not touch another: &lt;strong&gt;sampling noise&lt;/strong&gt;. Terminal-Bench 4.0 has 66 tasks, each run three times, with average pass@1 reported.&lt;/li&gt;
&lt;li&gt;With 66 tasks, one model's score has a standard error of roughly 3.5 to 6 points, depending on how task difficulty is distributed. The reported 7.1 point gap between the top two (59.1 vs 52.0) is only about 1.2 to 1.5 standard deviations of the simulated gap (4.5 to 5.8 points).&lt;/li&gt;
&lt;li&gt;In an &lt;strong&gt;illustrative simulation&lt;/strong&gt; (assumptions below), the top-two order survived a fresh 66-task draw in 88% to 93% of runs. The Fable 5.1 vs Opus 5 order (3.0 points) survived only 69% to 74%. The 19.2 point gap to GPT-5.6 Sol survived in about 100% of runs.&lt;/li&gt;
&lt;li&gt;Practical rule: treat a gap as a ranking only when you can say how many tasks produced it. A short script below reproduces every number.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Astra%2520%252859.1%2529%2522%252C%2522Fable%25205.1%2520%252852.0%2529%2522%252C%2522Opus%25205%2520%252849.0%2529%2522%252C%2522Sol%2520%252839.9%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2520%2522%252C%2522data%2522%253A%255B47.2%252C39.9%252C36.9%252C28.1%255D%252C%2522backgroundColor%2522%253A%2522rgba%25280%252C0%252C0%252C0%2529%2522%257D%252C%257B%2522label%2522%253A%252295%2525%2520range%2520if%2520tasks%2520were%2520redrawn%2520%2528upper-bound%2520SE%252C%252066%2520tasks%2529%2522%252C%2522data%2522%253A%255B23.8%252C24.2%252C24.2%252C23.6%255D%252C%2522backgroundColor%2522%253A%2522%25232b6cb0%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Terminal-Bench%25204.0%2520pass%25401%2520as%2520reported%252C%2520with%2520a%2520task-sampling%2520interval%2522%252C%2522fontSize%2522%253A18%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522min%2522%253A20%252C%2522max%2522%253A80%257D%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522fontSize%2522%253A14%257D%257D%255D%257D%252C%2522legend%2522%253A%257B%2522display%2522%253Atrue%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Astra%2520%252859.1%2529%2522%252C%2522Fable%25205.1%2520%252852.0%2529%2522%252C%2522Opus%25205%2520%252849.0%2529%2522%252C%2522Sol%2520%252839.9%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2520%2522%252C%2522data%2522%253A%255B47.2%252C39.9%252C36.9%252C28.1%255D%252C%2522backgroundColor%2522%253A%2522rgba%25280%252C0%252C0%252C0%2529%2522%257D%252C%257B%2522label%2522%253A%252295%2525%2520range%2520if%2520tasks%2520were%2520redrawn%2520%2528upper-bound%2520SE%252C%252066%2520tasks%2529%2522%252C%2522data%2522%253A%255B23.8%252C24.2%252C24.2%252C23.6%255D%252C%2522backgroundColor%2522%253A%2522%25232b6cb0%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Terminal-Bench%25204.0%2520pass%25401%2520as%2520reported%252C%2520with%2520a%2520task-sampling%2520interval%2522%252C%2522fontSize%2522%253A18%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522min%2522%253A20%252C%2522max%2522%253A80%257D%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522fontSize%2522%253A14%257D%257D%255D%257D%252C%2522legend%2522%253A%257B%2522display%2522%253Atrue%257D%257D%257D" alt="Terminal-Bench 4.0 scores with task-sampling intervals" width="2000" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What exactly changed in Index v4.3?
&lt;/h2&gt;

&lt;p&gt;The launch article lists three changes relative to v4.2. Terminal-Bench moved from 2.1 to 4.0. AutomationBench-AA replaced the tau-cubed Banking evaluation at its 5% weight. And because AutomationBench-AA uses a held-out test set that Artificial Analysis runs in collaboration with Zapier, the share of weight on private evaluations rose from 40% to 45%. Category weights stayed at Agents 30%, Coding 20%, General 30%, Scientific Reasoning 20%.&lt;/p&gt;

&lt;p&gt;The page's weight table (version label v4.3.2 when I read it on October 20, 2026) lets you check the 45% yourself:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Evaluation&lt;/th&gt;
&lt;th&gt;Private&lt;/th&gt;
&lt;th&gt;Weight&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Agents&lt;/td&gt;
&lt;td&gt;AA-Briefcase&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agents&lt;/td&gt;
&lt;td&gt;GDPval-AA&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agents&lt;/td&gt;
&lt;td&gt;AutomationBench-AA&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Coding&lt;/td&gt;
&lt;td&gt;Terminal-Bench 4.0&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Coding&lt;/td&gt;
&lt;td&gt;SciCode&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;General&lt;/td&gt;
&lt;td&gt;AA-Omniscience Accuracy&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;General&lt;/td&gt;
&lt;td&gt;AA-Omniscience Non-hallucination&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;General&lt;/td&gt;
&lt;td&gt;GDP.pdf&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;General&lt;/td&gt;
&lt;td&gt;AA-LCR&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scientific&lt;/td&gt;
&lt;td&gt;HLE (Humanity's Last Exam)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scientific&lt;/td&gt;
&lt;td&gt;CritPt&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Private rows sum to 15 + 5 + 10 + 5 + 10 = 45. Public rows sum to 55. The table has 11 rows because AA-Omniscience is scored in two parts, which is why the article counts 10 evaluations.&lt;/p&gt;

&lt;p&gt;One inference to flag: the article says private weight was 40% in v4.2, and AutomationBench-AA (private) took over a 5% slot. So the retired tau-cubed Banking slot must have been public. The article does not say this in so many words.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Agents%2520%252830%2525%2529%2522%252C%2522Coding%2520%252820%2525%2529%2522%252C%2522General%2520%252830%2525%2529%2522%252C%2522Scientific%2520%252820%2525%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Private%2520test%2520set%2520weight%2522%252C%2522data%2522%253A%255B20%252C0%252C15%252C10%255D%252C%2522backgroundColor%2522%253A%2522%2523dd6b20%2522%257D%252C%257B%2522label%2522%253A%2522Public%2520test%2520set%2520weight%2522%252C%2522data%2522%253A%255B10%252C20%252C15%252C10%255D%252C%2522backgroundColor%2522%253A%2522%25232b6cb0%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Index%2520v4.3%2520weight%2520by%2520category%253A%252045%2520points%2520private%252C%252055%2520public%2522%252C%2522fontSize%2522%253A18%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522min%2522%253A0%252C%2522max%2522%253A30%257D%257D%255D%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Agents%2520%252830%2525%2529%2522%252C%2522Coding%2520%252820%2525%2529%2522%252C%2522General%2520%252830%2525%2529%2522%252C%2522Scientific%2520%252820%2525%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Private%2520test%2520set%2520weight%2522%252C%2522data%2522%253A%255B20%252C0%252C15%252C10%255D%252C%2522backgroundColor%2522%253A%2522%2523dd6b20%2522%257D%252C%257B%2522label%2522%253A%2522Public%2520test%2520set%2520weight%2522%252C%2522data%2522%253A%255B10%252C20%252C15%252C10%255D%252C%2522backgroundColor%2522%253A%2522%25232b6cb0%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Index%2520v4.3%2520weight%2520by%2520category%253A%252045%2520points%2520private%252C%252055%2520public%2522%252C%2522fontSize%2522%253A18%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522min%2522%253A0%252C%2522max%2522%253A30%257D%257D%255D%257D%257D%257D" alt="Private versus public weight per category" width="2000" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Look at the coding category. It carries 20 points and none of them is private. The one coding benchmark upgraded in this release, Terminal-Bench 4.0, is also a public one, and it is the one with the small task count.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does a private test set make a ranking more reliable?
&lt;/h2&gt;

&lt;p&gt;It makes one kind of error less likely. If questions and answers never leave the evaluator, a lab cannot train on them by accident, and a model cannot memorize them from a scraped copy. That is the stated reason: the launch article says the changes add more private test sets "to prevent gaming".&lt;/p&gt;

&lt;p&gt;It does not shrink the interval around a score. The sampling error of a pass rate depends on the number of tasks, whether or not those tasks are secret. A private set of 40 tasks is a good instrument for detecting leakage and a blunt one for ranking models that differ by a few points.&lt;/p&gt;

&lt;p&gt;There is also a transparency cost that is easy to overlook. With a public benchmark, anyone can re-run it, rebuild the paired per-task table and compute a proper paired interval. With a private one, only the operator can. For the 45% of the index that is private, readers have to trust the operator's variance reporting, because nobody else can measure it. That is a trade, not a flaw, but it belongs on the list when you decide how much a 2-point index gap means.&lt;/p&gt;

&lt;h2&gt;
  
  
  How noisy is a 66-task benchmark?
&lt;/h2&gt;

&lt;p&gt;The launch article says all 66 Terminal-Bench 4.0 tasks are run three times and the average pass@1 is reported. Reported scores for four models: GPT-6 Astra (max) 59.1%, Claude Fable 5.1 (max with fallback) 52.0%, Claude Opus 5 (max) 49.0%, GPT-5.6 Sol (max) 39.9%. The article itself states Astra's 19.2 point lead over Sol.&lt;/p&gt;

&lt;p&gt;Two sources of noise matter, and they answer different questions.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Run noise.&lt;/strong&gt; If you re-ran the same 66 tasks, how much would the score move? Averaging three runs reduces this.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Task-sampling noise.&lt;/strong&gt; If someone built a different 66 tasks from the same pool of terminal work, how much would the score move? Averaging runs does nothing here, and for hard agentic tasks it is typically the larger term.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Bounds for a pass rate p over 66 tasks with 3 runs each:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lower bound (every task has the same pass probability, so only run noise exists): SE = sqrt(p(1-p) / (66 x 3))&lt;/li&gt;
&lt;li&gt;Upper bound (each task is effectively deterministic, so all variance is task sampling): SE = sqrt(p(1-p) / 66)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;
&lt;span class="n"&gt;N_TASKS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;RUNS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;66&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;se_bounds&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;hi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;N_TASKS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;lo&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N_TASKS&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;RUNS&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;lo&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hi&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="p"&gt;[(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Astra&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;591&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Fable 5.1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;520&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Opus 5&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;490&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Sol&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;399&lt;/span&gt;&lt;span class="p"&gt;)]:&lt;/span&gt;
    &lt;span class="n"&gt;lo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;se_bounds&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;: SE &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;lo&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; to &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;hi&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; pts, 95% half-width &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mf"&gt;1.96&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;lo&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; to &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mf"&gt;1.96&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;hi&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output from my run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Astra: SE 3.5 to 6.1 pts, 95% half-width 6.8 to 11.9
Fable 5.1: SE 3.6 to 6.1 pts, 95% half-width 7.0 to 12.1
Opus 5: SE 3.6 to 6.2 pts, 95% half-width 7.0 to 12.1
Sol: SE 3.5 to 6.0 pts, 95% half-width 6.8 to 11.8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Real tasks are heterogeneous: some are nearly always solved, some nearly never, which pushes the true SE toward the upper bound. The chart at the top of this article uses the upper bound, which is why the bars for neighboring models overlap heavily.&lt;/p&gt;

&lt;p&gt;Overlapping intervals are a conservative test, though. The models are scored on the same 66 tasks, so a hard task is hard for everyone, and that shared difficulty cancels out in the gap. A paired comparison is tighter than two separate intervals suggest. How much tighter depends on how correlated task difficulty is across models, and that is exactly the number outsiders cannot see.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which of the reported gaps would survive a fresh task draw?
&lt;/h2&gt;

&lt;p&gt;I simulated it. The setup is deliberately simple and every assumption is labeled, because the per-task results are not public.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each model has a per-task pass probability drawn from a Beta distribution whose mean equals the reported score. The concentration parameter kappa controls spread: kappa = 1 gives many near-0 and near-1 tasks, kappa = 3 is milder.&lt;/li&gt;
&lt;li&gt;Task difficulty is correlated across models through a Gaussian copula with correlation rho (I tried 0.5 and 0.8).&lt;/li&gt;
&lt;li&gt;Each model runs each task three times (binomial draws), and the score is the mean.&lt;/li&gt;
&lt;li&gt;I redraw 66 tasks 3,000 times and count how often the observed order matches the order of the reported scores.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;scipy.stats&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;norm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;beta&lt;/span&gt;
&lt;span class="n"&gt;rng&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;default_rng&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;20261020&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;RUNS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;sim&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pa&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;pb&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;rho&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;kappa&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;reps&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;66&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;z1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rng&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;standard_normal&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;reps&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="n"&gt;z2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rho&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;z1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;rho&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;rng&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;standard_normal&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;reps&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="n"&gt;qa&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;beta&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ppf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;norm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cdf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;z1&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;pa&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;kappa&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;pa&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;kappa&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;qb&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;beta&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ppf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;norm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cdf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;z2&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;pb&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;kappa&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;pb&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;kappa&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;sa&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rng&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;binomial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;RUNS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;qa&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;RUNS&lt;/span&gt;
    &lt;span class="n"&gt;sb&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rng&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;binomial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;RUNS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;qb&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;RUNS&lt;/span&gt;
    &lt;span class="n"&gt;gap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sa&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;axis&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;sb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;axis&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;
    &lt;span class="nf"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;gap&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;std&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Results for 66 tasks (share of fresh draws that keep the reported order):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pair (reported gap)&lt;/th&gt;
&lt;th&gt;rho 0.5, kappa 1&lt;/th&gt;
&lt;th&gt;rho 0.5, kappa 3&lt;/th&gt;
&lt;th&gt;rho 0.8, kappa 1&lt;/th&gt;
&lt;th&gt;rho 0.8, kappa 3&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Astra vs Fable 5.1 (7.1)&lt;/td&gt;
&lt;td&gt;88.3%&lt;/td&gt;
&lt;td&gt;91.4%&lt;/td&gt;
&lt;td&gt;93.0%&lt;/td&gt;
&lt;td&gt;93.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fable 5.1 vs Opus 5 (3.0)&lt;/td&gt;
&lt;td&gt;68.5%&lt;/td&gt;
&lt;td&gt;71.3%&lt;/td&gt;
&lt;td&gt;74.1%&lt;/td&gt;
&lt;td&gt;73.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Astra vs Sol (19.2)&lt;/td&gt;
&lt;td&gt;99.9%&lt;/td&gt;
&lt;td&gt;100.0%&lt;/td&gt;
&lt;td&gt;100.0%&lt;/td&gt;
&lt;td&gt;100.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The standard deviation of the gap in these runs was 4.5 to 5.8 points. So:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A 19-point gap is a ranking.&lt;/strong&gt; It held under every setting I tried.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A 7-point gap is probably a ranking, not a certainty.&lt;/strong&gt; Between 7% and 12% of fresh draws flipped it, and with weaker difficulty correlation than I assumed it would flip more often.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A 3-point gap is closer to a coin flip with a thumb on the scale.&lt;/strong&gt; The order held about 70% of the time, better than chance but far from what a leaderboard row implies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are not estimates of the true probabilities. They show the order of magnitude you should expect at n = 66.&lt;/p&gt;

&lt;h2&gt;
  
  
  How many tasks would a 7-point gap need?
&lt;/h2&gt;

&lt;p&gt;Same simulation, Astra vs Fable 5.1, varying the task count (kappa = 1):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tasks&lt;/th&gt;
&lt;th&gt;order kept (rho 0.5)&lt;/th&gt;
&lt;th&gt;order kept (rho 0.8)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;66&lt;/td&gt;
&lt;td&gt;88.5%&lt;/td&gt;
&lt;td&gt;93.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;94.0%&lt;/td&gt;
&lt;td&gt;97.3%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150&lt;/td&gt;
&lt;td&gt;96.7%&lt;/td&gt;
&lt;td&gt;98.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;98.1%&lt;/td&gt;
&lt;td&gt;99.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;99.8%&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;600&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each row used 2,000 redraws, so expect about 1 point of simulation noise. Reaching 95% takes somewhere between 75 and 110 tasks under these assumptions, so a 7-point gap is only slightly under-powered at 66. A 3-point gap would need far more: required task count grows with the inverse square of the gap, so halving the gap roughly quadruples the tasks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522line%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%252266%2522%252C%2522100%2522%252C%2522150%2522%252C%2522200%2522%252C%2522300%2522%252C%2522400%2522%252C%2522600%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522task%2520difficulty%2520correlation%25200.5%2522%252C%2522data%2522%253A%255B88.5%252C94.0%252C96.7%252C98.1%252C99.8%252C99.9%252C100%255D%252C%2522borderColor%2522%253A%2522%2523dd6b20%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%2522task%2520difficulty%2520correlation%25200.8%2522%252C%2522data%2522%253A%255B93.6%252C97.3%252C98.7%252C99.7%252C100%252C100%252C100%255D%252C%2522borderColor%2522%253A%2522%25232b6cb0%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%252295%2525%2520line%2522%252C%2522data%2522%253A%255B95%252C95%252C95%252C95%252C95%252C95%252C95%255D%252C%2522borderColor%2522%253A%2522%2523999%2522%252C%2522borderDash%2522%253A%255B6%252C4%255D%252C%2522fill%2522%253Afalse%252C%2522pointRadius%2522%253A0%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Chance%2520the%252059.1%2520vs%252052.0%2520order%2520survives%2520a%2520fresh%2520task%2520draw%2520%2528illustrative%2520simulation%2529%2522%252C%2522fontSize%2522%253A16%257D%252C%2522scales%2522%253A%257B%2522yAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522min%2522%253A80%252C%2522max%2522%253A100%257D%252C%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522%2525%2520of%2520draws%2520with%2520same%2520order%2522%257D%257D%255D%252C%2522xAxes%2522%253A%255B%257B%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522number%2520of%2520tasks%2522%257D%257D%255D%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522line%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%252266%2522%252C%2522100%2522%252C%2522150%2522%252C%2522200%2522%252C%2522300%2522%252C%2522400%2522%252C%2522600%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522task%2520difficulty%2520correlation%25200.5%2522%252C%2522data%2522%253A%255B88.5%252C94.0%252C96.7%252C98.1%252C99.8%252C99.9%252C100%255D%252C%2522borderColor%2522%253A%2522%2523dd6b20%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%2522task%2520difficulty%2520correlation%25200.8%2522%252C%2522data%2522%253A%255B93.6%252C97.3%252C98.7%252C99.7%252C100%252C100%252C100%255D%252C%2522borderColor%2522%253A%2522%25232b6cb0%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%252295%2525%2520line%2522%252C%2522data%2522%253A%255B95%252C95%252C95%252C95%252C95%252C95%252C95%255D%252C%2522borderColor%2522%253A%2522%2523999%2522%252C%2522borderDash%2522%253A%255B6%252C4%255D%252C%2522fill%2522%253Afalse%252C%2522pointRadius%2522%253A0%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Chance%2520the%252059.1%2520vs%252052.0%2520order%2520survives%2520a%2520fresh%2520task%2520draw%2520%2528illustrative%2520simulation%2529%2522%252C%2522fontSize%2522%253A16%257D%252C%2522scales%2522%253A%257B%2522yAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522min%2522%253A80%252C%2522max%2522%253A100%257D%252C%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522%2525%2520of%2520draws%2520with%2520same%2520order%2522%257D%257D%255D%252C%2522xAxes%2522%253A%255B%257B%2522scaleLabel%2522%253A%257B%2522display%2522%253Atrue%252C%2522labelString%2522%253A%2522number%2520of%2520tasks%2522%257D%257D%255D%257D%257D%257D" alt="Order survival versus number of tasks" width="2000" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What does this do to the index itself?
&lt;/h2&gt;

&lt;p&gt;The headline index scores in the launch article are integers: 53 for both Claude Fable 5.1 and GPT-6 Astra, 51 for Claude Opus 5, 50 for Claude Fable 5, 48 for Muse Spark 1.3, 47 for GPT-5.6 Sol. Among open-weight models the article lists GLM-5.3 Flash at 42, Qwen3.8 2.4T A95B at 40 and DeepSeek V4 Pro 0813 (max) at 36. These are launch-day numbers, and the live leaderboard has moved since.&lt;/p&gt;

&lt;p&gt;Terminal-Bench carries 10% of the index. If component scores enter on a 0 to 100 scale (my assumption, since the article does not give the aggregation formula), a Terminal-Bench gap standard deviation of about 5 points moves the index by about 0.5 points from that component alone. Every other evaluation adds its own noise. I could not size the private ones, because the article gives no task counts or per-task results for them beyond the 657 tasks of AutomationBench-AA.&lt;/p&gt;

&lt;p&gt;The practical reading: a 2-point index gap between two open-weight models, such as 42 versus 40, is in the range where component sampling noise could plausibly account for the difference. A 6-point gap, such as 42 versus 36, is much harder to explain that way.&lt;/p&gt;

&lt;h2&gt;
  
  
  A checklist before you quote a leaderboard gap
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Find the task count behind each component.&lt;/strong&gt; If the page does not say, treat the number as unsized.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Separate run noise from task noise.&lt;/strong&gt; "Averaged over three runs" fixes the first one only.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Convert to a standard error.&lt;/strong&gt; For a pass rate, sqrt(p(1-p)/n) is the upper bound. It takes ten seconds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask for paired results.&lt;/strong&gt; If the operator publishes per-task outcomes, a paired test beats overlapping bars.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Note the version.&lt;/strong&gt; This index moved from v4.2 to v4.3 and the page now reads v4.3.2. Scores across versions are not a time series.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discount private weight honestly.&lt;/strong&gt; It protects against gaming. It does not buy precision, and it is not independently auditable.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is the Artificial Analysis Index v4.3 unreliable?&lt;/strong&gt;&lt;br&gt;
No. Adding private test sets is a reasonable design move. The point here is narrower: a published gap needs a task count before you read it as a ranking, and Terminal-Bench 4.0 has 66 tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What percentage of the Index v4.3 is based on private test sets?&lt;/strong&gt;&lt;br&gt;
45%, up from 40% in v4.2, according to the launch article. In the weight table that is AA-Briefcase (15), AutomationBench-AA (5), AA-Omniscience Accuracy (10), AA-Omniscience Non-hallucination (5) and CritPt (10).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How many tasks does Terminal-Bench 4.0 have in this index?&lt;/strong&gt;&lt;br&gt;
66, each run three times, with the average pass@1 reported, per the launch article.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do the simulation numbers prove the rankings are wrong?&lt;/strong&gt;&lt;br&gt;
No. They illustrate behavior under stated assumptions (Beta task difficulty, Gaussian copula correlation of 0.5 to 0.8, three binomial runs). Per-task results are not public, so the true correlation is unknown. The takeaway is the order of magnitude: about 5 points of gap noise at 66 tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the difference between run noise and task-sampling noise?&lt;/strong&gt;&lt;br&gt;
Run noise is variation when the same tasks are re-run. Task-sampling noise is variation from which tasks happened to be in the set. Averaging more runs reduces only the first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I rely on overlapping error bars to decide if two models differ?&lt;/strong&gt;&lt;br&gt;
Only as a conservative screen. When both models are scored on the same tasks, a paired analysis is tighter, which is why publishing per-task outcomes would help readers more than a wider table.&lt;/p&gt;

&lt;h2&gt;
  
  
  Further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/ward_ed_6b5e6aa8ded94a987/when-a-04-point-lead-means-nothing-reading-open-model-leaderboard-margins-like-a-statistician-5do7"&gt;When a 0.4-Point Lead Means Nothing: Reading Open-Model Leaderboard Margins Like a Statistician&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ward_ed_6b5e6aa8ded94a987/best-open-weight-llm-in-october-2026-auditing-two-leaderboards-row-by-row-1b64"&gt;Best Open-Weight LLM in October 2026? Auditing Two Leaderboards Row by Row&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Source: &lt;a href="https://artificialanalysis.ai/articles/artificial-analysis-intelligence-index-v4-3" rel="noopener noreferrer"&gt;Announcing the Artificial Analysis Intelligence Index v4.3&lt;/a&gt; (September 7, 2026; page read October 20, 2026). Simulation code and parameters are above, so every number in the tables can be reproduced.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>llm</category>
      <category>benchmark</category>
    </item>
    <item>
      <title>Best Open-Weight LLM in October 2026? Auditing Two Leaderboards Row by Row</title>
      <dc:creator>Ward Ed</dc:creator>
      <pubDate>Mon, 19 Oct 2026 13:46:15 +0000</pubDate>
      <link>https://dev.to/ward_ed_6b5e6aa8ded94a987/best-open-weight-llm-in-october-2026-auditing-two-leaderboards-row-by-row-1b64</link>
      <guid>https://dev.to/ward_ed_6b5e6aa8ded94a987/best-open-weight-llm-in-october-2026-auditing-two-leaderboards-row-by-row-1b64</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;On October 19, 2026, BenchLM and Artificial Analysis both put &lt;strong&gt;MiMo-V2.6-Pro&lt;/strong&gt; first among open-weight models (73.7 on BenchLM, Intelligence Index 46.3 on Artificial Analysis).&lt;/li&gt;
&lt;li&gt;That agreement is thinner than it looks. BenchLM tags the #1 row &lt;strong&gt;Estimated&lt;/strong&gt; with a conditional range of 63.92 to 83.37, and the ranges of the top nine rows all overlap each other.&lt;/li&gt;
&lt;li&gt;Below #1 the orderings drift: on the nine models I could match, Kendall's tau is &lt;strong&gt;0.61&lt;/strong&gt; (29 concordant pairs, 7 discordant). DeepSeek V4.1 Flash 1017 moves from 6th to 3rd.&lt;/li&gt;
&lt;li&gt;The bigger disagreement is membership. Kimi K3 is missing from BenchLM's open list (weights marked "pending") while its Hugging Face repo is public with 96 safetensors shards. Qwen3.8 Max is #2 on BenchLM's open list but flagged not open-weights on Artificial Analysis.&lt;/li&gt;
&lt;li&gt;Before you cite "best open model", audit the label, the evidence tag, and the checkpoint name. A short script for each is below.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All numbers are from pages and APIs I pulled on October 19, 2026. Leaderboards change daily, so treat this as a dated snapshot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which open-weight model is #1 right now?
&lt;/h2&gt;

&lt;p&gt;Searching for "best open source LLM" returns several aggregators that look alike but compute different things. I pulled two of them directly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;BenchLM&lt;/strong&gt; publishes a composite called BenchAlign v5.8. Its open-source page ranks 103 open-weight models out of 955 tracked models and 640 tracked benchmarks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Artificial Analysis&lt;/strong&gt; publishes an Intelligence Index. The page ships its row data as JSON, with fields such as &lt;code&gt;intelligenceIndex&lt;/code&gt;, &lt;code&gt;isOpenWeights&lt;/code&gt;, &lt;code&gt;hle&lt;/code&gt;, &lt;code&gt;gpqa&lt;/code&gt;, &lt;code&gt;scicode&lt;/code&gt;, &lt;code&gt;terminalBench21&lt;/code&gt; and &lt;code&gt;tau2&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both lists put MiMo-V2.6-Pro on top. That is the headline most people will quote. Here are the BenchLM top six as published:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rank&lt;/th&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;Evidence tag&lt;/th&gt;
&lt;th&gt;Published range&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;MiMo-V2.6-Pro&lt;/td&gt;
&lt;td&gt;73.7&lt;/td&gt;
&lt;td&gt;Estimated&lt;/td&gt;
&lt;td&gt;63.92 to 83.37 (conditional)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Qwen3.8 Max&lt;/td&gt;
&lt;td&gt;69.7&lt;/td&gt;
&lt;td&gt;Supported&lt;/td&gt;
&lt;td&gt;65.62 to 73.78 (90% interval)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Step 5 Preview&lt;/td&gt;
&lt;td&gt;69.5&lt;/td&gt;
&lt;td&gt;Estimated&lt;/td&gt;
&lt;td&gt;59.80 to 79.24 (conditional)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Ling 3.1 Flash&lt;/td&gt;
&lt;td&gt;68.1&lt;/td&gt;
&lt;td&gt;Estimated&lt;/td&gt;
&lt;td&gt;53.73 to 82.43 (conditional)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;GLM-5.3&lt;/td&gt;
&lt;td&gt;67.9&lt;/td&gt;
&lt;td&gt;Supported&lt;/td&gt;
&lt;td&gt;63.45 to 72.40 (90% interval)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;DeepSeek V4.1 Flash 1017&lt;/td&gt;
&lt;td&gt;65.6&lt;/td&gt;
&lt;td&gt;Supported&lt;/td&gt;
&lt;td&gt;60.65 to 70.62 (90% interval)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  How wide is the uncertainty behind that #1?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522MiMo-V2.6-Pro%2522%252C%2522Qwen3.8%2520Max%2522%252C%2522Step%25205%2520Preview%2522%252C%2522Ling%25203.1%2520Flash%2522%252C%2522GLM-5.3%2522%252C%2522DeepSeek%2520V4.1%2520Flash%25201017%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2520%2522%252C%2522data%2522%253A%255B63.92%252C65.62%252C59.8%252C53.73%252C63.45%252C60.65%255D%252C%2522backgroundColor%2522%253A%2522rgba%25280%252C0%252C0%252C0%2529%2522%257D%252C%257B%2522label%2522%253A%2522Supported%2520%252890%2525%2520interval%2529%2522%252C%2522data%2522%253A%255Bnull%252C8.16%252Cnull%252Cnull%252C8.95%252C9.97%255D%252C%2522backgroundColor%2522%253A%2522%25232b6cb0%2522%257D%252C%257B%2522label%2522%253A%2522Estimated%2520%2528conditional%2520range%2529%2522%252C%2522data%2522%253A%255B19.45%252Cnull%252C19.44%252C28.7%252Cnull%252Cnull%255D%252C%2522backgroundColor%2522%253A%2522%2523dd6b20%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522BenchLM%2520open-weight%2520top%25206%253A%2520published%2520score%2520ranges%2520%2528Oct%252019%252C%25202026%2529%2522%252C%2522fontSize%2522%253A18%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522min%2522%253A45%252C%2522max%2522%253A90%257D%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522fontSize%2522%253A13%257D%257D%255D%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522MiMo-V2.6-Pro%2522%252C%2522Qwen3.8%2520Max%2522%252C%2522Step%25205%2520Preview%2522%252C%2522Ling%25203.1%2520Flash%2522%252C%2522GLM-5.3%2522%252C%2522DeepSeek%2520V4.1%2520Flash%25201017%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2520%2522%252C%2522data%2522%253A%255B63.92%252C65.62%252C59.8%252C53.73%252C63.45%252C60.65%255D%252C%2522backgroundColor%2522%253A%2522rgba%25280%252C0%252C0%252C0%2529%2522%257D%252C%257B%2522label%2522%253A%2522Supported%2520%252890%2525%2520interval%2529%2522%252C%2522data%2522%253A%255Bnull%252C8.16%252Cnull%252Cnull%252C8.95%252C9.97%255D%252C%2522backgroundColor%2522%253A%2522%25232b6cb0%2522%257D%252C%257B%2522label%2522%253A%2522Estimated%2520%2528conditional%2520range%2529%2522%252C%2522data%2522%253A%255B19.45%252Cnull%252C19.44%252C28.7%252Cnull%252Cnull%255D%252C%2522backgroundColor%2522%253A%2522%2523dd6b20%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522BenchLM%2520open-weight%2520top%25206%253A%2520published%2520score%2520ranges%2520%2528Oct%252019%252C%25202026%2529%2522%252C%2522fontSize%2522%253A18%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522min%2522%253A45%252C%2522max%2522%253A90%257D%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%252C%2522ticks%2522%253A%257B%2522fontSize%2522%253A13%257D%257D%255D%257D%257D%257D" alt="BenchLM open-weight top 6 with published score ranges" width="2000" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The ranges are the part of the page that most readers skip. BenchLM's methodology page defines the two tags in one sentence: "Supported means the row clears the independent-evidence rules. Estimated means it relies on thinner evidence." The #1 row is in the second group.&lt;/p&gt;

&lt;p&gt;Three things follow from the published numbers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The #1 range is 19.45 points wide.&lt;/strong&gt; The Supported rows in the same table are 8.2 to 10.0 points wide.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Every pair overlaps.&lt;/strong&gt; Among the nine models I matched across both leaderboards (more on that below), all 36 pairs of ranges overlap. Including the tenth BenchLM row, it is 45 of 45.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BenchLM says so itself.&lt;/strong&gt; The page states that MiMo-V2.6-Pro "has the higher point estimate" and that "conditional ranges do not establish rank confidence."&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So the correct reading is "MiMo-V2.6-Pro has the highest point estimate among open-weight rows, on thin evidence." That is a weaker claim than "MiMo-V2.6-Pro is the best open model", and it is the only one the page supports.&lt;/p&gt;

&lt;p&gt;Note also that a conditional range is not a 90% interval. The two kinds of row use different constructions, so comparing the width of an orange bar with a blue bar is informative but not apples to apples.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do the two leaderboards agree below rank 1?
&lt;/h2&gt;

&lt;p&gt;Partly. I matched BenchLM's top ten open rows against Artificial Analysis rows by model name. Nine matched; "dots3-note Preview" has no row on Artificial Analysis in the data I pulled. Ranking only those nine by each source gives:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D460%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522MiMo-V2.6-Pro%2522%252C%2522Qwen3.8%2520Max%2522%252C%2522Step%25205%2520Preview%2522%252C%2522Ling%25203.1%2520Flash%2522%252C%2522GLM-5.3%2522%252C%2522DeepSeek%2520V4.1%2520Flash%25201017%2522%252C%2522MiMo-V2.6-Flash%2522%252C%2522DeepSeek%2520V4%2520Pro%25200813%2522%252C%2522Qwen3.8-Flash-Next%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Places%2520gained%2520on%2520Artificial%2520Analysis%2520vs%2520BenchLM%2520%2528negative%2520%253D%2520lower%2520there%2529%2522%252C%2522data%2522%253A%255B0%252C0%252C-2%252C-2%252C1%252C3%252C-1%252C-1%252C2%255D%252C%2522backgroundColor%2522%253A%255B%2522%2523a0aec0%2522%252C%2522%2523a0aec0%2522%252C%2522%2523c53030%2522%252C%2522%2523c53030%2522%252C%2522%25232f855a%2522%252C%2522%25232f855a%2522%252C%2522%2523c53030%2522%252C%2522%2523c53030%2522%252C%2522%25232f855a%2522%255D%257D%255D%257D%252C%2522options%2522%253A%257B%2522legend%2522%253A%257B%2522display%2522%253Afalse%257D%252C%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Rank%2520shift%252C%2520same%25209%2520models%253A%2520BenchLM%2520rank%2520minus%2520Artificial%2520Analysis%2520rank%2522%252C%2522fontSize%2522%253A16%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522min%2522%253A-3%252C%2522max%2522%253A3%252C%2522stepSize%2522%253A1%257D%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522fontSize%2522%253A13%257D%257D%255D%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D460%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522MiMo-V2.6-Pro%2522%252C%2522Qwen3.8%2520Max%2522%252C%2522Step%25205%2520Preview%2522%252C%2522Ling%25203.1%2520Flash%2522%252C%2522GLM-5.3%2522%252C%2522DeepSeek%2520V4.1%2520Flash%25201017%2522%252C%2522MiMo-V2.6-Flash%2522%252C%2522DeepSeek%2520V4%2520Pro%25200813%2522%252C%2522Qwen3.8-Flash-Next%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Places%2520gained%2520on%2520Artificial%2520Analysis%2520vs%2520BenchLM%2520%2528negative%2520%253D%2520lower%2520there%2529%2522%252C%2522data%2522%253A%255B0%252C0%252C-2%252C-2%252C1%252C3%252C-1%252C-1%252C2%255D%252C%2522backgroundColor%2522%253A%255B%2522%2523a0aec0%2522%252C%2522%2523a0aec0%2522%252C%2522%2523c53030%2522%252C%2522%2523c53030%2522%252C%2522%25232f855a%2522%252C%2522%25232f855a%2522%252C%2522%2523c53030%2522%252C%2522%2523c53030%2522%252C%2522%25232f855a%2522%255D%257D%255D%257D%252C%2522options%2522%253A%257B%2522legend%2522%253A%257B%2522display%2522%253Afalse%257D%252C%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Rank%2520shift%252C%2520same%25209%2520models%253A%2520BenchLM%2520rank%2520minus%2520Artificial%2520Analysis%2520rank%2522%252C%2522fontSize%2522%253A16%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522min%2522%253A-3%252C%2522max%2522%253A3%252C%2522stepSize%2522%253A1%257D%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522fontSize%2522%253A13%257D%257D%255D%257D%257D%257D" alt="Rank shift between BenchLM and Artificial Analysis for nine matched models" width="2000" height="920"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;BenchLM rank (of 9)&lt;/th&gt;
&lt;th&gt;Artificial Analysis rank (of 9)&lt;/th&gt;
&lt;th&gt;AA Intelligence Index&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MiMo-V2.6-Pro&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;46.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.8 Max&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;45.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Step 5 Preview&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;43.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ling 3.1 Flash&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;41.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GLM-5.3&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;44.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek V4.1 Flash 1017&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;45.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MiMo-V2.6-Flash&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;37.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek V4 Pro 0813&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;36.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.8-Flash-Next&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;39.8&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Rank correlation is a one-screen computation. This script reproduces the numbers above:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;itertools&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;combinations&lt;/span&gt;

&lt;span class="c1"&gt;# name: (benchlm_score, benchlm_low, benchlm_high, aa_index)
&lt;/span&gt;&lt;span class="n"&gt;rows&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;MiMo-V2.6-Pro&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;            &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;73.7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;63.92&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;83.37&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;46.3&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Qwen3.8 Max&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;              &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;69.7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;65.62&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;73.78&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;45.4&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Step 5 Preview&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;           &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;69.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;59.80&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;79.24&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;43.7&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Ling 3.1 Flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;           &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;68.1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;53.73&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;82.43&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;41.1&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;GLM-5.3&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;                  &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;67.9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;63.45&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;72.40&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;44.8&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;DeepSeek V4.1 Flash 1017&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;65.6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;60.65&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;70.62&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;45.1&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;MiMo-V2.6-Flash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;          &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;64.5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;54.82&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;74.26&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;37.9&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;DeepSeek V4 Pro 0813&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;     &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;63.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;48.81&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;77.51&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;36.0&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Qwen3.8-Flash-Next&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;       &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;62.8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;48.48&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;77.18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;39.8&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;kendall_tau&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;conc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;disc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;combinations&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
        &lt;span class="n"&gt;conc&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
        &lt;span class="n"&gt;disc&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="nf"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;conc&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;disc&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;conc&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;disc&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;conc&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;disc&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;overlapping_pairs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ranges&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="nf"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;l1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;l2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;h2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;combinations&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ranges&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;l1&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;h2&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;l2&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ranges&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ranges&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;//&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;

&lt;span class="n"&gt;bl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;v&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;values&lt;/span&gt;&lt;span class="p"&gt;()]&lt;/span&gt;
&lt;span class="n"&gt;aa&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;v&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;values&lt;/span&gt;&lt;span class="p"&gt;()]&lt;/span&gt;
&lt;span class="n"&gt;tau&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;conc&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;disc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;kendall_tau&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;aa&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Kendall tau=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;tau&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; concordant=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;conc&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; discordant=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;disc&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;range overlaps:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;overlapping_pairs&lt;/span&gt;&lt;span class="p"&gt;([(&lt;/span&gt;&lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;v&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;v&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;values&lt;/span&gt;&lt;span class="p"&gt;()]))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output: &lt;code&gt;Kendall tau=0.611 concordant=29 discordant=7&lt;/code&gt; and &lt;code&gt;range overlaps: (36, 36)&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A tau of 0.61 on nine items is "broadly similar", not "the same". The practical consequence is that the middle of the table is not stable. If your shortlist cutoff is "top 5 of these nine", then Ling 3.1 Flash is in on BenchLM and out on Artificial Analysis, while DeepSeek V4.1 Flash 1017 is the reverse.&lt;/p&gt;

&lt;p&gt;Artificial Analysis has its own tight cluster. Its open-weight top five are 46.3, 45.1, 44.8, 43.7 and 43.6, so adjacent gaps are 1.2, 0.3, 1.0 and 0.1 index points, and the whole top five spans 2.7 points. The page I pulled shows one number per row, so I cannot tell you whether a 0.1 gap is real. Neither can the table.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D460%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522MiMo-V2.6-Pro%2522%252C%2522Qwen3.8%2520Max%2520%25280902%2529%2522%252C%2522DeepSeek%2520V4.1%2520Flash%25201017%2522%252C%2522GLM-5.3%2522%252C%2522Step%25205%2520Preview%2522%252C%2522Kimi%2520K3%2522%252C%2522GLM-5.3-Flash%2522%252C%2522Ling%25203.1%2520Flash%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Intelligence%2520Index%2522%252C%2522data%2522%253A%255B46.3%252C45.4%252C45.1%252C44.8%252C43.7%252C43.6%252C41.8%252C41.1%255D%252C%2522backgroundColor%2522%253A%255B%2522%25232b6cb0%2522%252C%2522%2523a0aec0%2522%252C%2522%25232b6cb0%2522%252C%2522%25232b6cb0%2522%252C%2522%25232b6cb0%2522%252C%2522%25232b6cb0%2522%252C%2522%25232b6cb0%2522%252C%2522%25232b6cb0%2522%255D%257D%255D%257D%252C%2522options%2522%253A%257B%2522legend%2522%253A%257B%2522display%2522%253Afalse%257D%252C%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Artificial%2520Analysis%2520Intelligence%2520Index%2520%2528axis%2520starts%2520at%252038%253B%2520grey%2520%253D%2520flagged%2520not%2520open-weights%2529%2522%252C%2522fontSize%2522%253A15%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522min%2522%253A38%252C%2522max%2522%253A48%257D%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522fontSize%2522%253A13%257D%257D%255D%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D460%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522MiMo-V2.6-Pro%2522%252C%2522Qwen3.8%2520Max%2520%25280902%2529%2522%252C%2522DeepSeek%2520V4.1%2520Flash%25201017%2522%252C%2522GLM-5.3%2522%252C%2522Step%25205%2520Preview%2522%252C%2522Kimi%2520K3%2522%252C%2522GLM-5.3-Flash%2522%252C%2522Ling%25203.1%2520Flash%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Intelligence%2520Index%2522%252C%2522data%2522%253A%255B46.3%252C45.4%252C45.1%252C44.8%252C43.7%252C43.6%252C41.8%252C41.1%255D%252C%2522backgroundColor%2522%253A%255B%2522%25232b6cb0%2522%252C%2522%2523a0aec0%2522%252C%2522%25232b6cb0%2522%252C%2522%25232b6cb0%2522%252C%2522%25232b6cb0%2522%252C%2522%25232b6cb0%2522%252C%2522%25232b6cb0%2522%252C%2522%25232b6cb0%2522%255D%257D%255D%257D%252C%2522options%2522%253A%257B%2522legend%2522%253A%257B%2522display%2522%253Afalse%257D%252C%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Artificial%2520Analysis%2520Intelligence%2520Index%2520%2528axis%2520starts%2520at%252038%253B%2520grey%2520%253D%2520flagged%2520not%2520open-weights%2529%2522%252C%2522fontSize%2522%253A15%257D%252C%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522min%2522%253A38%252C%2522max%2522%253A48%257D%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522ticks%2522%253A%257B%2522fontSize%2522%253A13%257D%257D%255D%257D%257D%257D" alt="Artificial Analysis Intelligence Index for the open-weight top rows" width="2000" height="920"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is Kimi K3 missing from one "open" list and Qwen3.8 Max flagged closed on the other?
&lt;/h2&gt;

&lt;p&gt;This is the finding I would put ahead of the rank noise. "Open-weight" is a label that each aggregator assigns, and the labels disagree.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kimi K3.&lt;/strong&gt; On BenchLM it scores 69.92 and ranks #18 of 226 ranked models overall, #14 of 88 on source-verified rows. Its profile says "Weight access pending" and "no verified publication yet for weight access". It is therefore absent from the 103-row open list. By point estimate it would sit at #2 there, just ahead of Qwen3.8 Max at 69.7. Its profile also notes that only 56 of 682 tracked benchmark slots have displayable evidence, so the score itself rests on partial coverage.&lt;/p&gt;

&lt;p&gt;On Artificial Analysis the same model, "Kimi K3 (Max)", is flagged &lt;code&gt;isOpenWeights: true&lt;/code&gt; with an Intelligence Index of 43.6. And on the Hugging Face Hub, &lt;code&gt;moonshotai/Kimi-K3&lt;/code&gt; is public and not gated, ships 96 safetensors shards, carries a custom license named &lt;code&gt;kimi-k3&lt;/code&gt; (the Hub tag is &lt;code&gt;license:other&lt;/code&gt;), and showed 1,012,867 downloads when I queried it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8 Max.&lt;/strong&gt; BenchLM lists it as Open Weight at #2. Artificial Analysis lists "Qwen3.8 Max (0902)" with an index of 45.4 and &lt;code&gt;isOpenWeights: false&lt;/code&gt;. I could not resolve &lt;code&gt;Qwen/Qwen3.8-Max&lt;/code&gt; or &lt;code&gt;Qwen/Qwen3.8-Max-0902&lt;/code&gt; on the Hub API from an anonymous request (HTTP 401, which the Hub also returns for repos that do not exist). The two leaderboards may be naming different snapshots, which is a problem in itself: the same display name without a checkpoint identifier is not a stable key.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MiMo-V2.6-Pro.&lt;/strong&gt; The Hub has &lt;code&gt;XiaomiMiMo/MiMo-V2.6-Pro-RL&lt;/code&gt; (MIT license, public, 132 safetensors files). A repo named exactly &lt;code&gt;MiMo-V2.6-Pro&lt;/code&gt; does not resolve anonymously. Whether the benchmarked row is the &lt;code&gt;-RL&lt;/code&gt; checkpoint is not stated on either leaderboard page I read.&lt;/p&gt;

&lt;p&gt;Here is the check I ran, so you can repeat it on any model you plan to cite:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;urllib.error&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;urllib.request&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;hub_status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://huggingface.co/api/models/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="n"&gt;req&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;User-Agent&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;leaderboard-audit&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;urlopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;info&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="n"&gt;urllib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;HTTPError&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;repo&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;resolves&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;http&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;code&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="n"&gt;files&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rfilename&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;siblings&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[])]&lt;/span&gt;
    &lt;span class="n"&gt;card&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;cardData&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;repo&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;resolves&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gated&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gated&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;license&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;card&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;license&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;safetensors_files&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;endswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;.safetensors&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;files&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;downloads&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;downloads&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;repo&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;moonshotai/Kimi-K3&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Qwen/Qwen3.8-Max&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
             &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;XiaomiMiMo/MiMo-V2.6-Pro&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;XiaomiMiMo/MiMo-V2.6-Pro-RL&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;hub_status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On October 19 it printed &lt;code&gt;resolves: True, gated: False, license: other, safetensors_files: 96&lt;/code&gt; for Kimi K3, &lt;code&gt;resolves: False, http: 401&lt;/code&gt; for the two names without a public repo, and &lt;code&gt;license: mit, safetensors_files: 132&lt;/code&gt; for the &lt;code&gt;-RL&lt;/code&gt; repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Are the two leaderboards independent evidence?
&lt;/h2&gt;

&lt;p&gt;Not necessarily. BenchLM's methodology page says BenchAlign "calibrates benchmark protocols, human-preference signals, and external composite indices before combining them." If one of those external composite indices is the other leaderboard, then agreement between the two is partly circular, and a tau of 0.61 would overstate how much independent confirmation you have. The pages I read do not name the external indices, so I cannot tell either way. That is itself worth knowing: an agreement you cannot decompose is weaker evidence than a disagreement you can.&lt;/p&gt;

&lt;p&gt;The inputs also differ in kind. Artificial Analysis publishes one index built from a fixed set of evaluations. BenchLM tracks 640 benchmarks, scores a subset of them across six pillars, keeps vendor-run numbers out of the rank, and fills gaps with a learned estimate. Different inputs plus similar outputs is mildly reassuring. Different inputs plus different open-weight labels is a reason to check the label yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  A five-step audit before you quote an open-model rank
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Read the evidence tag.&lt;/strong&gt; "Estimated" or "conditional range" means the position leans on thin evidence. Do not write "best" on top of it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compare ranges, not points.&lt;/strong&gt; Run the overlap function above on the top rows. If everything overlaps, say "no resolvable difference".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolve the checkpoint.&lt;/strong&gt; Find the exact Hub repo or API model ID the row refers to. Display names such as "Max" or "Pro" do not identify a checkpoint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify the open-weight label.&lt;/strong&gt; Check that weights exist, whether the repo is gated, and what the license actually allows. A custom license is not the same as MIT or Apache-2.0.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-check one other source.&lt;/strong&gt; Compute a rank correlation, then look at the individual disagreements, because the interesting rows are the ones that move.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Limitations of this audit
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It is one snapshot, taken October 19, 2026. Both pages update continuously.&lt;/li&gt;
&lt;li&gt;The Artificial Analysis values come from the row data embedded in its leaderboard page, not from a documented API. Parsing that JSON is fragile and I did not see an index version number on the page.&lt;/li&gt;
&lt;li&gt;Name matching between sites was manual. Nine of ten BenchLM rows matched, and the ranks in the table are positions within those nine, not on the full lists.&lt;/li&gt;
&lt;li&gt;Nine items is a small sample for a rank correlation. Treat tau = 0.61 as a rough indicator.&lt;/li&gt;
&lt;li&gt;I did not run any model myself. Every score is as published by the aggregators.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is the best open-weight LLM in October 2026?&lt;/strong&gt;&lt;br&gt;
It depends on the leaderboard and on how you define open. MiMo-V2.6-Pro has the top point estimate on both BenchLM (73.7) and Artificial Analysis (46.3), but BenchLM tags that row Estimated with a 19.45 point range, so the lead over the next rows is not statistically resolved.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why does Kimi K3 not appear on BenchLM's open-source list?&lt;/strong&gt;&lt;br&gt;
BenchLM records its weight access as pending and says it has no verified publication of the weights, even though the Hugging Face repo is public. Artificial Analysis flags the same model as open-weights.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does "Estimated" mean on a leaderboard row?&lt;/strong&gt;&lt;br&gt;
On BenchLM it means the row relies on thinner evidence than a "Supported" row, which clears the site's independent-evidence rules. The range shown for Estimated rows is a conditional range, which BenchLM states does not establish rank confidence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I check whether a model is really open-weight?&lt;/strong&gt;&lt;br&gt;
Resolve its exact repo on the Hugging Face Hub, confirm the weight files exist and the repo is not gated, and read the license text. The &lt;code&gt;hub_status&lt;/code&gt; function above automates the first three checks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is a rank correlation of 0.61 between two leaderboards good?&lt;/strong&gt;&lt;br&gt;
It means most pairs are ordered the same way (29 of 36 here) but a meaningful minority flip. It also may be inflated if one leaderboard uses the other as an input.&lt;/p&gt;

&lt;h2&gt;
  
  
  Further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/ward_ed_6b5e6aa8ded94a987/how-to-read-a-public-leaderboard-without-fooling-yourself-1ac6"&gt;How to Read a Public Leaderboard Without Fooling Yourself&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ward_ed_6b5e6aa8ded94a987/when-a-04-point-lead-means-nothing-reading-open-model-leaderboard-margins-like-a-statistician-5do7"&gt;When a 0.4-Point Lead Means Nothing: Reading Open-Model Leaderboard Margins Like a Statistician&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://benchlm.ai/best/open-source" rel="noopener noreferrer"&gt;BenchLM, Open-Source LLM Leaderboard&lt;/a&gt; (data as of October 19, 2026)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://benchlm.ai/models/kimi-k3" rel="noopener noreferrer"&gt;BenchLM, Kimi K3 profile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://benchlm.ai/methodology" rel="noopener noreferrer"&gt;BenchLM, Methodology&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://artificialanalysis.ai/leaderboards/models" rel="noopener noreferrer"&gt;Artificial Analysis, LLM Leaderboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://huggingface.co/moonshotai/Kimi-K3" rel="noopener noreferrer"&gt;Hugging Face, moonshotai/Kimi-K3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://huggingface.co/XiaomiMiMo/MiMo-V2.6-Pro-RL" rel="noopener noreferrer"&gt;Hugging Face, XiaomiMiMo/MiMo-V2.6-Pro-RL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>llm</category>
      <category>benchmark</category>
    </item>
    <item>
      <title>How to Read a Public Leaderboard Without Fooling Yourself</title>
      <dc:creator>Ward Ed</dc:creator>
      <pubDate>Mon, 12 Oct 2026 10:36:15 +0000</pubDate>
      <link>https://dev.to/ward_ed_6b5e6aa8ded94a987/how-to-read-a-public-leaderboard-without-fooling-yourself-1ac6</link>
      <guid>https://dev.to/ward_ed_6b5e6aa8ded94a987/how-to-read-a-public-leaderboard-without-fooling-yourself-1ac6</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;A leaderboard is only as trustworthy as the way it was built and read. Four failure modes quietly turn rankings into noise: data leakage, saturation, selection on the evaluation set, and run-to-run variance. This is a field guide to spotting each one so a position on a board actually means something.&lt;/p&gt;

&lt;h2&gt;
  
  
  Leakage: the number that was never earned
&lt;/h2&gt;

&lt;p&gt;The fastest way to top a board is to have seen it. If any evaluation item, or a near duplicate, appears in training, the score reflects memorization, not skill. Leakage is often accidental: scraped corpora overlap with public test sets more than teams expect.&lt;/p&gt;

&lt;p&gt;How to check. Look for held-out guarantees from the board operator, count unique items rather than rows, and be suspicious when a model is far better on a famous public set than on a fresh private one of similar difficulty.&lt;/p&gt;

&lt;h2&gt;
  
  
  Saturation: when the ruler stops measuring
&lt;/h2&gt;

&lt;p&gt;When the top entries all cluster near the ceiling, the benchmark has stopped discriminating. The differences between the leaders are within noise, and the ordering is close to random.&lt;/p&gt;

&lt;p&gt;How to check. Look at the spread, not just the top value. If first and tenth are a hair apart, the board is saturated and the ranking carries little information. A good benchmark keeps separating strong systems from weak ones.&lt;/p&gt;

&lt;h2&gt;
  
  
  Selection on the eval set: inventing gains that are not there
&lt;/h2&gt;

&lt;p&gt;If you tune choices by looking at the evaluation set, pick the best of many runs, and report only the winner, you will manufacture improvements that vanish on anything new. The eval set has quietly become part of training.&lt;/p&gt;

&lt;p&gt;How to check. Ask whether hyperparameters and variants were chosen on a separate split. A result that was selected on the test set is a story about that test set, not about the method.&lt;/p&gt;

&lt;h2&gt;
  
  
  Run-to-run noise: a positive margin is not a win
&lt;/h2&gt;

&lt;p&gt;Many evaluations move several points between runs on small sets. A lead that fits inside that variance is not a lead.&lt;/p&gt;

&lt;p&gt;How to check. Prefer paired comparisons on the same items, report confidence intervals, and treat a small positive margin as a hypothesis to test, not a victory to announce. On a hundred-item slice, a swing of several points is normal.&lt;/p&gt;

&lt;h2&gt;
  
  
  A short reading checklist
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Is train disjoint from test, with a held-out guarantee?&lt;/li&gt;
&lt;li&gt;Is the board still discriminating, or is it saturated?&lt;/li&gt;
&lt;li&gt;Were choices made on a separate split, not the eval set?&lt;/li&gt;
&lt;li&gt;Is the margin outside run-to-run noise, with an interval reported?&lt;/li&gt;
&lt;li&gt;Does breadth across independent boards back up a single result?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If a ranking passes all five, believe it. If it fails one, read it as a claim, not a fact.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Are leaderboards useless then?&lt;/strong&gt; No. A board run by a third party on memorization-resistant questions is one of the best signals we have, as long as you read it with these checks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why does breadth matter?&lt;/strong&gt; A single high score can come from luck or leakage. Consistent strength across independent boards is much harder to fake.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the most common mistake?&lt;/strong&gt; Selection on the eval set, because it feels like honest tuning while quietly leaking the test into the method.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How big a margin should I trust?&lt;/strong&gt; One that sits outside the run-to-run interval you measured. If you did not measure the interval, you cannot judge the margin.&lt;/p&gt;

&lt;h2&gt;
  
  
  Further reading
&lt;/h2&gt;

&lt;p&gt;Rankings are evidence, not verdicts. Disjoint splits, unsaturated boards, selection off the test set, and reported intervals are what turn a position into information.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>benchmark</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Benchmark Contamination 101: How Train/Test Overlap Inflates Leaderboard Scores (and How to Catch It)</title>
      <dc:creator>Ward Ed</dc:creator>
      <pubDate>Tue, 06 Oct 2026 19:11:46 +0000</pubDate>
      <link>https://dev.to/ward_ed_6b5e6aa8ded94a987/benchmark-contamination-101-how-traintest-overlap-inflates-leaderboard-scores-and-how-to-catch-2el</link>
      <guid>https://dev.to/ward_ed_6b5e6aa8ded94a987/benchmark-contamination-101-how-traintest-overlap-inflates-leaderboard-scores-and-how-to-catch-2el</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;A leaderboard number is only as trustworthy as the gap between what a model trained on and what it was tested on. When test examples (or near-duplicates of them) leak into pretraining or fine-tuning data, the model memorizes answers instead of generalizing, and the reported score climbs for the wrong reason. This is benchmark contamination, also called train/test overlap or data leakage. It is common, often accidental, and frequently invisible in a self-reported number. This post explains why contamination inflates scores, three detection methods you can run yourself (n-gram overlap, canary strings, membership inference), a runnable Python n-gram checker, and a short checklist you can apply before you trust any benchmark claim.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is benchmark contamination and why does it inflate scores?
&lt;/h2&gt;

&lt;p&gt;Modern models are trained on web-scale corpora scraped from the open internet. Public benchmarks live on that same internet: on GitHub, in papers, on leaderboard repos, in blog posts that quote questions verbatim, and in Q&amp;amp;A sites where people discuss the exact items. When a benchmark's test questions and answers end up in the training mix, evaluation stops measuring reasoning and starts measuring recall.&lt;/p&gt;

&lt;p&gt;The mechanism is simple. A benchmark is supposed to be a held-out sample. If the test examples were in the training data, the model can reproduce the answer from memory. Memorization looks exactly like competence on a single scored run, but it does not transfer to genuinely new inputs. The score goes up; the underlying capability does not.&lt;/p&gt;

&lt;p&gt;Contamination comes in degrees. Verbatim contamination means the exact test string appears in training. Near-duplicate contamination means a paraphrase, a translated copy, or a reformatted version appears. Label leakage means the answer key or solution is present even if the question wording differs. Even partial exposure helps a model disproportionately on the memorized slice, which is enough to move a leaderboard when margins are a point or two.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why can self-reported leaderboard scores be inflated?
&lt;/h2&gt;

&lt;p&gt;Self-reported scores carry three structural risks that have nothing to do with bad faith.&lt;/p&gt;

&lt;p&gt;First, the submitter controls the evaluation environment: the prompt template, the decoding settings, the number of few-shot examples, and sometimes the subset of items. None of those choices are contamination, but they compound with it.&lt;/p&gt;

&lt;p&gt;Second, nobody fully audits the training corpus. For most open releases the pretraining data is described at a high level, not published item by item. A team can honestly say they did not intend to train on a benchmark while still having ingested it through a scraped mirror. Intent does not change the outcome.&lt;/p&gt;

&lt;p&gt;Third, benchmarks age. A dataset released three years ago has had three years to be copied, quoted, reformatted, and re-uploaded. The older and more popular a benchmark is, the more likely its items are somewhere in a modern crawl. This is why a model can post a record score on a classic benchmark and a mediocre score on a freshly built private one.&lt;/p&gt;

&lt;p&gt;None of this means every high score is fake. It means a score reported without a contamination check is an unverified claim, and the burden of evidence sits with whoever is pointing at the number.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you detect train/test overlap? Three methods
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. N-gram overlap
&lt;/h3&gt;

&lt;p&gt;The most direct test: take each benchmark item, slide a window of n consecutive tokens or words across it, and check whether those n-grams appear in the training corpus (or in a proxy for it). High overlap at n of 8, 13, or 50 is strong evidence that the item, or a chunk of it, was seen during training. This is the method used by several major lab technical reports, which typically flag an item as contaminated when a sufficiently long n-gram matches. The strength of n-gram overlap is that it is cheap, interpretable, and does not need model internals. Its weakness is that it misses paraphrases and translations, so it gives a lower bound on contamination, never an upper bound.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Canary strings
&lt;/h3&gt;

&lt;p&gt;A canary is a unique, random, unlikely-to-occur-naturally identifier that benchmark authors embed in their dataset specifically so they can later test whether it leaked. If a model can reproduce or recognize the canary GUID, the dataset was in its training data, full stop. BIG-bench popularized this with an embedded canary GUID. The limitation is that canaries only work if the benchmark author planted one and the dataset was consumed with the canary intact; stripped or reformatted copies defeat it. Still, when a canary test fires, it is close to conclusive.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Membership inference and behavioral tests
&lt;/h3&gt;

&lt;p&gt;When you cannot inspect the training data at all, you probe the model's behavior. Membership inference asks whether the model treats a specific example as something it has seen before. Practical variants include: comparing perplexity on benchmark items versus closely matched held-out items (memorized items often have suspiciously low loss), the guided-prompting trick (does the model complete a test item far better when primed with the dataset name?), and option-order sensitivity (a model that memorized a multiple-choice answer is unusually robust to the correct answer's position while a reasoning model is not). These tests are noisier than n-gram or canary checks and need careful controls, but they are the only options for closed training data.&lt;/p&gt;

&lt;h2&gt;
  
  
  A runnable n-gram overlap check
&lt;/h2&gt;

&lt;p&gt;Here is a compact, dependency-free n-gram overlap checker. Give it your benchmark items and any text you suspect may overlap with training (a crawl shard, a scraped page, a quoted dataset). It reports the fraction of each item's n-grams that also appear in the reference text.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;collections&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Counter&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;ngrams&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Word-level n-grams, lowercased and whitespace-normalized.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="n"&gt;toks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nf"&gt;tuple&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;toks&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;toks&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;overlap_score&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;reference_ngrams&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Fraction of the item&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;s n-grams that appear in the reference set.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="n"&gt;item_grams&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;ngrams&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;item_grams&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt;
    &lt;span class="n"&gt;hits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;g&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;item_grams&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;g&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;reference_ngrams&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;hits&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item_grams&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;build_reference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;corpus_texts&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Precompute the n-gram set for everything you can see of training data.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="n"&gt;ref&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;set&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;doc&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;corpus_texts&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;ngrams&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;doc&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;ref&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;__main__&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;# Stand-in for a crawl shard / scraped page you suspect overlaps training.
&lt;/span&gt;    &lt;span class="n"&gt;training_proxy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;the capital of the fictional country of zubrowka is lutz &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;and its currency is the klubeck used since the year 1932&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;benchmark_items&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The capital of the fictional country of Zubrowka is Lutz &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;and its currency is the Klubeck used since the year 1932&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;   &lt;span class="c1"&gt;# leaked
&lt;/span&gt;        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain why a positive confidence interval overlap means &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;two leaderboard scores may not be distinguishable at all&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;   &lt;span class="c1"&gt;# clean
&lt;/span&gt;    &lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt;
    &lt;span class="n"&gt;ref&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;build_reference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;training_proxy&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;benchmark_items&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;overlap_score&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;flag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;CONTAMINATED&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;clean&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;item &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;-gram overlap -&amp;gt; &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;flag&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Expected output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;item 0: 100% 13-gram overlap -&amp;gt; CONTAMINATED
item 1: 0% 13-gram overlap -&amp;gt; clean
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Two practical notes. First, choose n deliberately: small n (3 to 5) produces false positives on common phrasing, large n (20 or more) misses chopped-up leaks, and 8 to 13 is a reasonable default for prose. Second, this is a lower bound. A 0 percent score proves only that there was no verbatim long-span match against the text you checked; paraphrase and translation slip right past it, which is why you pair it with behavioral tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical contamination checklist
&lt;/h2&gt;

&lt;p&gt;Run this before you cite or compare any benchmark number.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Is the benchmark newer than the model's data cutoff? A test built after training data was frozen cannot have leaked. Prefer recent or private benchmarks for headline comparisons.&lt;/li&gt;
&lt;li&gt;Did the authors plant a canary, and did the reporter check it? A passed canary test is cheap evidence and should be mentioned.&lt;/li&gt;
&lt;li&gt;Was an n-gram overlap report published against the training corpus (or a representative sample)? If the training data is open, this should exist. If it is not, note that the overlap is simply unknown.&lt;/li&gt;
&lt;li&gt;Is there a gap between the model's score on the popular benchmark and on a fresh, structurally similar one? A large drop on the new test is a classic contamination signature.&lt;/li&gt;
&lt;li&gt;Are decoding settings, prompt template, and few-shot count disclosed and held constant across the models being compared? Contamination aside, undisclosed harness choices make numbers incomparable.&lt;/li&gt;
&lt;li&gt;Is the score reported with uncertainty, and is the margin over the next model larger than that uncertainty? A contaminated slice often shows up as a margin that vanishes under resampling.&lt;/li&gt;
&lt;li&gt;Who ran the evaluation? Self-reported with no third-party reproduction is an unverified claim, not a result. Independent reproduction on held-out data is the gold standard.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If a claim fails several of these, the right posture is not "the model is cheating." It is "this number is unverified, and here is specifically what would make it trustworthy."&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is benchmark contamination always intentional?&lt;/strong&gt;&lt;br&gt;
No, and usually it is not. The most common path is accidental ingestion through a web crawl, since benchmarks live on the same internet that pretraining corpora are scraped from. Accidental contamination inflates scores exactly as much as deliberate contamination, which is why detection matters more than assigning blame.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does a high n-gram overlap score prove a model will fail on real tasks?&lt;/strong&gt;&lt;br&gt;
It proves the benchmark number is unreliable for that model, not that the model is incapable. The correct response is to re-evaluate on a clean, uncontaminated test and trust that number instead. Contamination invalidates a measurement; it does not by itself measure capability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why not just keep all benchmarks private?&lt;/strong&gt;&lt;br&gt;
Private benchmarks resist contamination but sacrifice reproducibility and community trust, since nobody else can inspect the items or rerun the evaluation. The common compromise is a public benchmark with a planted canary, a held-out private slice, and periodic refreshes so the test can be rebuilt once the old version has saturated the internet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What n should I use for an overlap check?&lt;/strong&gt;&lt;br&gt;
For natural-language items, 8 to 13 words is a reasonable default. Go smaller and you flag ordinary phrasing as a match; go much larger and you miss leaks that were reformatted or chopped into pieces. Report the n you used, because the overlap fraction is meaningless without it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I detect contamination without access to the training data?&lt;/strong&gt;&lt;br&gt;
Yes, but only with behavioral tests: perplexity gaps between benchmark items and matched held-out items, guided-prompting sensitivity, and answer-position robustness. These are noisier than n-gram or canary checks, so treat them as evidence that accumulates rather than a single decisive test.&lt;/p&gt;

&lt;h2&gt;
  
  
  Further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;When a 0.4-Point Lead Means Nothing: Reading Open-Model Leaderboard Margins Like a Statistician&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;How Hugging Face Official Benchmark Leaderboards Actually Work: .eval_results YAML, the base_model Filter, and the 30% the Default View Hides&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>machinelearning</category>
      <category>llm</category>
      <category>benchmark</category>
      <category>datascience</category>
    </item>
    <item>
      <title>When a 0.4-Point Lead Means Nothing: Reading Open-Model Leaderboard Margins Like a Statistician</title>
      <dc:creator>Ward Ed</dc:creator>
      <pubDate>Tue, 06 Oct 2026 00:44:19 +0000</pubDate>
      <link>https://dev.to/ward_ed_6b5e6aa8ded94a987/when-a-04-point-lead-means-nothing-reading-open-model-leaderboard-margins-like-a-statistician-5do7</link>
      <guid>https://dev.to/ward_ed_6b5e6aa8ded94a987/when-a-04-point-lead-means-nothing-reading-open-model-leaderboard-margins-like-a-statistician-5do7</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A leaderboard rank is a point estimate, not a fact. Every accuracy score carries a confidence interval, and on most public evals that interval is wide enough to swallow the gap between the top few models.&lt;/li&gt;
&lt;li&gt;You can estimate the error bar yourself from two numbers you already have: the accuracy and the number of eval items. For a 300-item test at 70 percent accuracy, the 95 percent confidence half-width is about 5 points. A 0.4-point lead inside that band is noise.&lt;/li&gt;
&lt;li&gt;For paired comparisons on the same questions, use McNemar's test, not two separate intervals. It is strictly more sensitive and it is what the gap actually deserves.&lt;/li&gt;
&lt;li&gt;Before trusting any ranking, ask whether the benchmark can even discriminate. If every top model scores above 95 percent, the test is saturated and the order is close to random.&lt;/li&gt;
&lt;li&gt;Popularity is not quality. The most-liked open models on the Hub (cover chart, pulled 2026-10-06) are a social signal, not an accuracy ranking. Treat the two as separate axes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the second post in &lt;strong&gt;Leaderboard Forensics&lt;/strong&gt;. The first covered how the Hub's benchmark plumbing actually works. This one is about the single most common misreading of those numbers: believing a rank order that the sample size cannot support.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do the top open models cluster so tightly?
&lt;/h2&gt;

&lt;p&gt;Open-model evaluation has matured to the point where the frontier is crowded. On a typical reasoning or knowledge benchmark, the top ten entries often sit inside a three-point band. The cover chart above shows the eight most-liked open text-generation repositories on the Hugging Face Hub as of 2026-10-06, and likes are a popularity proxy, but the same crowding shows up in accuracy tables.&lt;/p&gt;

&lt;p&gt;Here is the uncomfortable part. When scores cluster, the rank order is mostly determined by measurement noise rather than capability. The model in position one and the model in position four may be statistically indistinguishable. The leaderboard still has to print them in some order, so it prints the noise.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D800%26h%3D400%26c%3D%257B%2522type%2522%253A%2520%2522line%2522%252C%2520%2522data%2522%253A%2520%257B%2522labels%2522%253A%2520%255B%2522100%2522%252C%2520%2522300%2522%252C%2520%25221000%2522%252C%2520%25223000%2522%252C%2520%252210000%2522%255D%252C%2520%2522datasets%2522%253A%2520%255B%257B%2522label%2522%253A%2520%252295%2525%2520CI%2520half-width%2520%2528pp%2529%2520at%2520p%253D0.70%2522%252C%2520%2522data%2522%253A%2520%255B8.98%252C%25205.19%252C%25202.84%252C%25201.64%252C%25200.9%255D%252C%2520%2522borderColor%2522%253A%2520%2522%2523dc2626%2522%252C%2520%2522fill%2522%253A%2520false%257D%255D%257D%252C%2520%2522options%2522%253A%2520%257B%2522title%2522%253A%2520%257B%2522display%2522%253A%2520true%252C%2520%2522text%2522%253A%2520%2522How%2520many%2520eval%2520items%2520you%2520need%2520before%2520small%2520gaps%2520mean%2520anything%2520%2528illustrative%2529%2522%257D%252C%2520%2522scales%2522%253A%2520%257B%2522xAxes%2522%253A%2520%255B%257B%2522scaleLabel%2522%253A%2520%257B%2522display%2522%253A%2520true%252C%2520%2522labelString%2522%253A%2520%2522Number%2520of%2520eval%2520items%2520%2528log-ish%2529%2522%257D%257D%255D%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D800%26h%3D400%26c%3D%257B%2522type%2522%253A%2520%2522line%2522%252C%2520%2522data%2522%253A%2520%257B%2522labels%2522%253A%2520%255B%2522100%2522%252C%2520%2522300%2522%252C%2520%25221000%2522%252C%2520%25223000%2522%252C%2520%252210000%2522%255D%252C%2520%2522datasets%2522%253A%2520%255B%257B%2522label%2522%253A%2520%252295%2525%2520CI%2520half-width%2520%2528pp%2529%2520at%2520p%253D0.70%2522%252C%2520%2522data%2522%253A%2520%255B8.98%252C%25205.19%252C%25202.84%252C%25201.64%252C%25200.9%255D%252C%2520%2522borderColor%2522%253A%2520%2522%2523dc2626%2522%252C%2520%2522fill%2522%253A%2520false%257D%255D%257D%252C%2520%2522options%2522%253A%2520%257B%2522title%2522%253A%2520%257B%2522display%2522%253A%2520true%252C%2520%2522text%2522%253A%2520%2522How%2520many%2520eval%2520items%2520you%2520need%2520before%2520small%2520gaps%2520mean%2520anything%2520%2528illustrative%2529%2522%257D%252C%2520%2522scales%2522%253A%2520%257B%2522xAxes%2522%253A%2520%255B%257B%2522scaleLabel%2522%253A%2520%257B%2522display%2522%253A%2520true%252C%2520%2522labelString%2522%253A%2520%2522Number%2520of%2520eval%2520items%2520%2528log-ish%2529%2522%257D%257D%255D%257D%257D%257D" alt="95 percent confidence half-width versus eval size, illustrative" width="1600" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The curve above is illustrative. It plots the 95 percent confidence half-width for a model scoring 70 percent, as a function of how many questions the benchmark contains. At 100 items the half-width is about 9 points. At 1,000 items it drops to roughly 2.8 points. Only around 10,000 items does it fall under one point. Most popular public benchmarks live at the left end of that curve.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I compute the error bar on a single accuracy score?
&lt;/h2&gt;

&lt;p&gt;Accuracy on a fixed test set is a binomial proportion. If a model answers &lt;code&gt;k&lt;/code&gt; of &lt;code&gt;n&lt;/code&gt; questions correctly, the estimated accuracy is &lt;code&gt;p = k / n&lt;/code&gt;, and the standard error is &lt;code&gt;sqrt(p * (1 - p) / n)&lt;/code&gt;. A rough 95 percent interval is &lt;code&gt;p plus or minus 1.96 * SE&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The Wald interval above is fine for a quick gut check, but it misbehaves near 0 and 100 percent and for small &lt;code&gt;n&lt;/code&gt;. The Wilson interval is better behaved and still closed-form. Here is a compact, dependency-light helper.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;wilson_interval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1.96&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;95% Wilson score interval for a binomial proportion.
    k = correct answers, n = total eval items.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;
    &lt;span class="n"&gt;denom&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;
    &lt;span class="n"&gt;center&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;denom&lt;/span&gt;
    &lt;span class="n"&gt;half&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sqrt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;denom&lt;/span&gt;
    &lt;span class="nf"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;center&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;half&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;center&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;half&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;lo&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;wilson_interval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.70&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;n=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;  acc=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;  95% CI=[&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;lo&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;, &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;hi&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;]  width=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;hi&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;lo&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;n=  100  acc=0.700  95% CI=[0.604, 0.782]  width=0.178
n=  300  acc=0.700  95% CI=[0.646, 0.748]  width=0.102
n= 1000  acc=0.700  95% CI=[0.671, 0.727]  width=0.056
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Read that bottom line carefully. Even with 1,000 questions, the interval around a 70 percent score spans almost six points. If two models are reported as 70.3 and 69.9 on that benchmark, the difference is well inside the noise floor. The rank order is not evidence of anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  When is a leaderboard gap actually significant?
&lt;/h2&gt;

&lt;p&gt;The single-score interval is the wrong tool for comparing two models, because it ignores that they were graded on the same questions. Scores on a shared test set are correlated. The correct instrument is McNemar's test, which looks only at the items where the two models disagree.&lt;/p&gt;

&lt;p&gt;Build a 2x2 table of agreement. Let &lt;code&gt;b&lt;/code&gt; be the number of questions where model A is right and model B is wrong, and &lt;code&gt;c&lt;/code&gt; the reverse. The questions both got right or both got wrong carry no information about which is better. McNemar's statistic is &lt;code&gt;(b - c)^2 / (b + c)&lt;/code&gt;, compared against a chi-square distribution with one degree of freedom.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;scipy.stats&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;chi2&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;mcnemar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;b: A right &amp;amp; B wrong; c: A wrong &amp;amp; B right.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mf"&gt;1.0&lt;/span&gt;
    &lt;span class="n"&gt;stat&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;  &lt;span class="c1"&gt;# continuity-corrected
&lt;/span&gt;    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;chi2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cdf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stat&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Two models 0.4 points apart on a 300-item eval:
# say 18 items where A wins, 17 where B wins, rest tied.
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;p-value = &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;mcnemar&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# p-value = 1.000
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A one-item edge out of 300 produces a p-value of essentially 1.0. There is no detectable difference. You would need the disagreement counts to be lopsided, not the headline accuracy to be marginally higher, before the gap earns a rank.&lt;/p&gt;

&lt;p&gt;This is why serious evaluation reports publish disagreement matrices, bootstrap confidence intervals, or at least the per-benchmark item counts. If a leaderboard gives you only a sorted column of three-decimal numbers, it is giving you false precision.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I tell whether a benchmark can discriminate at all?
&lt;/h2&gt;

&lt;p&gt;Before arguing about margins, check that the test has headroom. A benchmark that is saturated, where the top cluster all score above 95 percent, cannot separate frontier models no matter how many items it has. The remaining questions are either ambiguous, mislabeled, or trivially easy, and the order among the leaders is driven by which model happened to win the coin flips on the hard residue.&lt;/p&gt;

&lt;p&gt;Three quick discrimination checks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ceiling check.&lt;/strong&gt; If the top five are all within one point of 100 percent, the benchmark is done. Move on.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Baseline check.&lt;/strong&gt; Compute what a trivial strategy scores. If majority-class guessing or a tiny n-gram model gets 90 percent, the benchmark measures format compliance, not capability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spread check.&lt;/strong&gt; Look at the standard deviation across all submitted models. A benchmark where everyone scores 68 to 72 has almost no discriminative range left.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A benchmark earns your trust when the baseline is low, the ceiling is far away, and the spread across models is several times the single-score confidence width.&lt;/p&gt;

&lt;h2&gt;
  
  
  What should I actually do with a leaderboard, then?
&lt;/h2&gt;

&lt;p&gt;Treat the leaderboard as a filter, not a verdict. Use it to shortlist the handful of models in the top band, then evaluate those candidates on your own held-out data that resembles your real traffic. The rank inside that top band is the least reliable information on the page. The membership of the band is the useful part.&lt;/p&gt;

&lt;p&gt;And keep popularity and accuracy on separate axes. The cover chart is real Hub data, and it tells you what the community has adopted, which matters for tooling, documentation, and community support. It says nothing about which model is most accurate on your task. Both signals are valuable. Conflating them is how teams end up defending a 0.4-point lead that never existed.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is the Wald interval ever good enough?&lt;/strong&gt;&lt;br&gt;
For a sanity check on a single score with a few hundred or more items, yes. For scores near 0 or 100 percent, or for small &lt;code&gt;n&lt;/code&gt;, switch to Wilson, which stays inside the valid range and does not collapse to zero width at the extremes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why McNemar instead of a two-sample proportion test?&lt;/strong&gt;&lt;br&gt;
Because both models answer the same questions, their scores are paired and correlated. A two-sample test assumes independence and will be too conservative. McNemar conditions on the disagreements, which is exactly the information that distinguishes the two models.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How many eval items do I need to resolve a one-point gap?&lt;/strong&gt;&lt;br&gt;
Roughly, to get a 95 percent half-width near one point at mid-range accuracy you need on the order of 10,000 independent items. Most public benchmarks have far fewer, which is why one-point gaps are usually unresolvable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do bootstrap confidence intervals help?&lt;/strong&gt;&lt;br&gt;
Yes, especially when scoring is not a clean right-or-wrong binary, such as graded or rubric-scored tasks. Resample the items with replacement a few thousand times, recompute the metric, and read the 2.5 and 97.5 percentiles. It makes no distributional assumption and handles weird metrics gracefully.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does a larger model automatically win on a saturated benchmark?&lt;/strong&gt;&lt;br&gt;
No. On a saturated test the residual questions are dominated by noise and label quality, so scale buys you almost nothing. The honest move is to find a harder benchmark with headroom, or build one from your own data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I trust the three decimals a leaderboard prints?&lt;/strong&gt;&lt;br&gt;
Only if the item count justifies them. Three decimals on a 300-item eval is false precision. The real resolution of that test is closer to one or two points, so mentally round the column before you rank it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/ward_ed_6b5e6aa8ded94a987/how-hugging-face-official-benchmark-leaderboards-actually-work-evalresults-yaml-the-basemodel-29bo"&gt;How Hugging Face Official Benchmark Leaderboards Actually Work&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Methodology note: Hub likes in the cover chart were pulled live from the public Hugging Face models API (sort by likes, text-generation filter) on 2026-10-06. The confidence-width curve and the McNemar example use illustrative inputs and are labeled as such.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>huggingface</category>
      <category>llm</category>
      <category>benchmark</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>How Hugging Face Official Benchmark Leaderboards Actually Work: .eval_results YAML, the base_model Filter, and the 30% the Default View Hides</title>
      <dc:creator>Ward Ed</dc:creator>
      <pubDate>Mon, 05 Oct 2026 08:56:56 +0000</pubDate>
      <link>https://dev.to/ward_ed_6b5e6aa8ded94a987/how-hugging-face-official-benchmark-leaderboards-actually-work-evalresults-yaml-the-basemodel-29bo</link>
      <guid>https://dev.to/ward_ed_6b5e6aa8ded94a987/how-hugging-face-official-benchmark-leaderboards-actually-work-evalresults-yaml-the-basemodel-29bo</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Hugging Face currently tags 48 datasets as official benchmarks (&lt;code&gt;benchmark:official&lt;/code&gt;). Their leaderboards are not uploaded by the benchmark owners: they are assembled automatically from small &lt;code&gt;.eval_results/*.yaml&lt;/code&gt; files that model authors commit to their own model repos (or propose through pull requests). On October 5, 2026 I queried every board twice through the public API. The default view returned &lt;strong&gt;1,023&lt;/strong&gt; entries. With &lt;code&gt;?base_model=false&lt;/code&gt;, which keeps derivative models, it returned &lt;strong&gt;1,469&lt;/strong&gt;. So &lt;strong&gt;446 entries (30.4%) never show up in the default view&lt;/strong&gt;, and the deciding field is the &lt;code&gt;base_model&lt;/code&gt; key in each model card. Another finding: &lt;strong&gt;772 of the 1,023 visible entries (75.5%) come from open pull requests&lt;/strong&gt;, and &lt;strong&gt;none&lt;/strong&gt; were flagged &lt;code&gt;verified&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Default%2520view%2522%252C%2522Incl.%2520derivatives%2520%2528base_model%253Dfalse%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Entries%2520across%252048%2520official%2520HF%2520benchmark%2520leaderboards%2522%252C%2522data%2522%253A%255B1023%252C1469%255D%252C%2522backgroundColor%2522%253A%255B%2522%25232563eb%2522%252C%2522%2523f59e0b%2522%255D%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522446%2520of%25201%252C469%2520leaderboard%2520entries%2520%252830.4%2525%2529%2520are%2520hidden%2520by%2520default%2522%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D1000%26h%3D420%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Default%2520view%2522%252C%2522Incl.%2520derivatives%2520%2528base_model%253Dfalse%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Entries%2520across%252048%2520official%2520HF%2520benchmark%2520leaderboards%2522%252C%2522data%2522%253A%255B1023%252C1469%255D%252C%2522backgroundColor%2522%253A%255B%2522%25232563eb%2522%252C%2522%2523f59e0b%2522%255D%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522446%2520of%25201%252C469%2520leaderboard%2520entries%2520%252830.4%2525%2529%2520are%2520hidden%2520by%2520default%2522%257D%257D%257D" alt="Visible vs hidden entries" width="2000" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Hugging Face official benchmark leaderboards?
&lt;/h2&gt;

&lt;p&gt;An official benchmark is just a dataset repo that carries the &lt;code&gt;benchmark:official&lt;/code&gt; tag. The Hub renders a leaderboard widget on its dataset page. Each row on that widget is one model's score on that benchmark. A dataset owner does not have to run any evaluation service for this. The Hub collects scores that model repos self-report and matches them to the dataset.&lt;/p&gt;

&lt;p&gt;You can pull the list of boards with one request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="s2"&gt;"https://huggingface.co/api/datasets?filter=benchmark:official&amp;amp;limit=200"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | python &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"import sys,json; d=json.load(sys.stdin); print(len(d)); print('&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;'.join(x['id'] for x in d))"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When I ran it on October 5, 2026, it returned 48 datasets. Some of the better known ones: &lt;code&gt;TIGER-Lab/MMLU-Pro&lt;/code&gt;, &lt;code&gt;Idavidrein/gpqa&lt;/code&gt;, &lt;code&gt;cais/hle&lt;/code&gt;, &lt;code&gt;SWE-bench/SWE-bench_Verified&lt;/code&gt;, &lt;code&gt;hf-audio/open-asr-leaderboard&lt;/code&gt;, &lt;code&gt;openai/gsm8k&lt;/code&gt;, &lt;code&gt;MathArena/aime_2026&lt;/code&gt;, &lt;code&gt;MMMU/MMMU_Pro&lt;/code&gt; and &lt;code&gt;harborframework/terminal-bench-2.0&lt;/code&gt;. The list also includes newer, narrower boards such as &lt;code&gt;llamaindex/ParseBench&lt;/code&gt;, &lt;code&gt;llamaindex/ExtractBench&lt;/code&gt;, &lt;code&gt;LEXam-Benchmark/LEXam&lt;/code&gt;, &lt;code&gt;FutureMa/EvasionBench&lt;/code&gt; and &lt;code&gt;crosbylegal/RedlineBench&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Four of the 48 (&lt;code&gt;tiiuae/PBench&lt;/code&gt;, &lt;code&gt;mercor/ACE&lt;/code&gt;, &lt;code&gt;ChrisHayduk/nanofold-public&lt;/code&gt;, &lt;code&gt;harborframework/terminal-bench-science&lt;/code&gt;) had zero entries in both views when I checked. Tagged boards can exist before anyone has reported a score to them.&lt;/p&gt;

&lt;h2&gt;
  
  
  How are Hugging Face leaderboard entries built from .eval_results YAML?
&lt;/h2&gt;

&lt;p&gt;Every row traces back to one YAML file in a &lt;strong&gt;model&lt;/strong&gt; repo, under a directory named &lt;code&gt;.eval_results/&lt;/code&gt;. The leaderboard API includes the path in each row, so you can see it yourself:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="s2"&gt;"https://huggingface.co/api/datasets/Idavidrein/gpqa/leaderboard"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | python &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"import sys,json; e=json.load(sys.stdin)[1]; print({k:e[k] for k in ('rank','modelId','value','filename','verified','pullRequest')})"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each row has these fields: &lt;code&gt;rank&lt;/code&gt;, &lt;code&gt;filename&lt;/code&gt;, &lt;code&gt;value&lt;/code&gt;, &lt;code&gt;verified&lt;/code&gt;, &lt;code&gt;source&lt;/code&gt;, &lt;code&gt;pullRequest&lt;/code&gt;, &lt;code&gt;modelId&lt;/code&gt;, &lt;code&gt;author&lt;/code&gt;, &lt;code&gt;lower_is_better&lt;/code&gt; and &lt;code&gt;num_parameters&lt;/code&gt;. &lt;code&gt;filename&lt;/code&gt; is the YAML path inside the model repo, and &lt;code&gt;pullRequest&lt;/code&gt; holds a PR number when the file lives on a PR ref instead of &lt;code&gt;main&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Here is a real file. &lt;code&gt;moonshotai/Kimi-K3&lt;/code&gt; keeps five of them on &lt;code&gt;main&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="s2"&gt;"https://huggingface.co/api/models/moonshotai/Kimi-K3/tree/main/.eval_results"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | python &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"import sys,json; [print(f['path'], f['size']) for f in json.load(sys.stdin)]"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.eval_results/apex-agents.yaml 157
.eval_results/deep-swe.yaml 156
.eval_results/gpqa.yaml 152
.eval_results/hle.yaml 139
.eval_results/moonshotai__Kimi-K3.yaml 211
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The GPQA one (&lt;code&gt;/raw/main/.eval_results/gpqa.yaml&lt;/code&gt;) is just 152 bytes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;dataset&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Idavidrein/gpqa&lt;/span&gt;
    &lt;span class="na"&gt;task_id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;diamond&lt;/span&gt;
  &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;93.5&lt;/span&gt;
  &lt;span class="na"&gt;source&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;https://huggingface.co/moonshotai/Kimi-K3&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Model Card&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is the whole contract:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;dataset.id&lt;/code&gt; is the benchmark dataset repo. It has to match one of the official board IDs exactly, or the score goes nowhere.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dataset.task_id&lt;/code&gt; picks a sub-task or split when a board has several (for GPQA, &lt;code&gt;diamond&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;value&lt;/code&gt; is the number that gets ranked. The board's &lt;code&gt;lower_is_better&lt;/code&gt; flag decides the sort order (WER on the ASR board, for example).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;source&lt;/code&gt; is an attribution link. In practice it usually points back at the model card.&lt;/li&gt;
&lt;li&gt;Optional keys show up in the wild too, like &lt;code&gt;date&lt;/code&gt; and a free-text &lt;code&gt;notes&lt;/code&gt; field for the protocol (sample count, temperature, token budget, precision). Use them. They are the only place a reader can see how the number was produced.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The file is a YAML &lt;strong&gt;list&lt;/strong&gt;, so a single file can hold several benchmark results. Many repos still use one file per benchmark, which keeps diffs and PRs small.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why does my model not appear on the Hugging Face leaderboard? (the base_model filter)
&lt;/h2&gt;

&lt;p&gt;This is where most authors get stuck. The leaderboard endpoint has a parameter called &lt;code&gt;base_model&lt;/code&gt;. Without it, the API (and the default widget) &lt;strong&gt;drops models whose card declares a &lt;code&gt;base_model&lt;/code&gt;&lt;/strong&gt;, meaning fine-tunes, merges, quantizations and adapters. With &lt;code&gt;?base_model=false&lt;/code&gt;, those derivatives come back:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;B&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;Idavidrein/gpqa
curl &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="s2"&gt;"https://huggingface.co/api/datasets/&lt;/span&gt;&lt;span class="nv"&gt;$B&lt;/span&gt;&lt;span class="s2"&gt;/leaderboard"&lt;/span&gt; | python &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"import sys,json;print(len(json.load(sys.stdin)))"&lt;/span&gt;
curl &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="s2"&gt;"https://huggingface.co/api/datasets/&lt;/span&gt;&lt;span class="nv"&gt;$B&lt;/span&gt;&lt;span class="s2"&gt;/leaderboard?base_model=false"&lt;/span&gt; | python &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"import sys,json;print(len(json.load(sys.stdin)))"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For GPQA that is 111 vs 175. I ran the same comparison for all 48 boards with this script:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;concurrent.futures&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ThreadPoolExecutor&lt;/span&gt;

&lt;span class="n"&gt;API&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://huggingface.co/api/datasets&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;boards&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;API&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;?filter=benchmark:official&amp;amp;limit=200&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()]&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bid&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;API&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;bid&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/leaderboard&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;API&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;bid&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/leaderboard?base_model=false&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;bid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;rows&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;ThreadPoolExecutor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;boards&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;dflt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="n"&gt;allr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;dflt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;allr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;allr&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;dflt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;allr&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; hidden&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output on 2026-10-05: &lt;code&gt;48 1023 1469 30.4% hidden&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D800%26h%3D420%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522MMLU-Pro%2522%252C%2522gpqa%2522%252C%2522hle%2522%252C%2522SWE-bench_Verified%2522%252C%2522open-asr-leaderboard%2522%252C%2522SWE-bench_Pro%2522%252C%2522terminal-bench-2.0%2522%252C%2522ScreenSpot-Pro%2522%252C%2522gsm8k%2522%252C%2522terminal-bench-2.1%2522%252C%2522aime_2026%2522%252C%2522ParseBench%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Default%2522%252C%2522data%2522%253A%255B141%252C111%252C89%252C67%252C62%252C44%252C38%252C23%252C18%252C34%252C25%252C30%255D%252C%2522backgroundColor%2522%253A%2522%25232563eb%2522%257D%252C%257B%2522label%2522%253A%2522Hidden%2520derivatives%2522%252C%2522data%2522%253A%255B75%252C64%252C19%252C22%252C24%252C17%252C17%252C25%252C28%252C10%252C17%252C11%255D%252C%2522backgroundColor%2522%253A%2522%2523f59e0b%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%257D%255D%257D%252C%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Top%252012%2520boards%253A%2520visible%2520vs%2520hidden%2520entries%2522%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D800%26h%3D420%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522MMLU-Pro%2522%252C%2522gpqa%2522%252C%2522hle%2522%252C%2522SWE-bench_Verified%2522%252C%2522open-asr-leaderboard%2522%252C%2522SWE-bench_Pro%2522%252C%2522terminal-bench-2.0%2522%252C%2522ScreenSpot-Pro%2522%252C%2522gsm8k%2522%252C%2522terminal-bench-2.1%2522%252C%2522aime_2026%2522%252C%2522ParseBench%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Default%2522%252C%2522data%2522%253A%255B141%252C111%252C89%252C67%252C62%252C44%252C38%252C23%252C18%252C34%252C25%252C30%255D%252C%2522backgroundColor%2522%253A%2522%25232563eb%2522%257D%252C%257B%2522label%2522%253A%2522Hidden%2520derivatives%2522%252C%2522data%2522%253A%255B75%252C64%252C19%252C22%252C24%252C17%252C17%252C25%252C28%252C10%252C17%252C11%255D%252C%2522backgroundColor%2522%253A%2522%2523f59e0b%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522scales%2522%253A%257B%2522xAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%257D%255D%252C%2522yAxes%2522%253A%255B%257B%2522stacked%2522%253Atrue%257D%255D%257D%252C%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Top%252012%2520boards%253A%2520visible%2520vs%2520hidden%2520entries%2522%257D%257D%257D" alt="Top 12 boards, visible vs hidden" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How much is hidden varies a lot from board to board:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Board&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;With derivatives&lt;/th&gt;
&lt;th&gt;Hidden share&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;TIGER-Lab/MMLU-Pro&lt;/td&gt;
&lt;td&gt;141&lt;/td&gt;
&lt;td&gt;216&lt;/td&gt;
&lt;td&gt;34.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Idavidrein/gpqa&lt;/td&gt;
&lt;td&gt;111&lt;/td&gt;
&lt;td&gt;175&lt;/td&gt;
&lt;td&gt;36.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cais/hle&lt;/td&gt;
&lt;td&gt;89&lt;/td&gt;
&lt;td&gt;108&lt;/td&gt;
&lt;td&gt;17.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SWE-bench/SWE-bench_Verified&lt;/td&gt;
&lt;td&gt;67&lt;/td&gt;
&lt;td&gt;89&lt;/td&gt;
&lt;td&gt;24.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;hf-audio/open-asr-leaderboard&lt;/td&gt;
&lt;td&gt;62&lt;/td&gt;
&lt;td&gt;86&lt;/td&gt;
&lt;td&gt;27.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;likaixin/ScreenSpot-Pro&lt;/td&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;52.1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;openai/gsm8k&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;46&lt;/td&gt;
&lt;td&gt;60.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MMMU/MMMU_Pro&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;58.3%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;llamaindex/ExtractBench&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;56.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LiquidAI/ifstruct-v1.0&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;66.7%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mteb/arguana&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;81.3%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;crosbylegal/RedlineBench&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;0.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The pattern makes sense. Older or easier benchmarks like GSM8K attract many fine-tunes, so derivatives are the majority there and the default view shows a minority of the reported scores. On agentic and legal boards where most submissions are base models from labs (RedlineBench, skillsbench, Long-Horizon-Terminal-Bench), the two views are identical.&lt;/p&gt;

&lt;p&gt;The filter reads the model card metadata, not the weights. A model trained from scratch that lists a &lt;code&gt;base_model&lt;/code&gt; anyway (some teams do this to credit an architecture or tokenizer source) gets hidden just like a LoRA. A heavily modified derivative that leaves the field out shows up as if it were a base model. So the default view is a filter on &lt;strong&gt;declared&lt;/strong&gt; lineage, not real lineage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who verifies scores on Hugging Face official leaderboards?
&lt;/h2&gt;

&lt;p&gt;According to the API, nobody does yet. Of the 1,023 default-view rows, &lt;strong&gt;0&lt;/strong&gt; had &lt;code&gt;verified: true&lt;/code&gt;. Every number on these boards is self-reported by whoever controls the model repo or opens a PR to it.&lt;/p&gt;

&lt;p&gt;The PR path is bigger than most people expect. &lt;strong&gt;772 of 1,023 visible rows (75.5%)&lt;/strong&gt; carried a &lt;code&gt;pullRequest&lt;/code&gt; number. So the YAML sits on an open (unmerged) PR ref such as &lt;code&gt;refs/pr/1&lt;/code&gt;, not on &lt;code&gt;main&lt;/code&gt;. Reading those files directly needs the PR ref:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# file on an open PR, not on main&lt;/span&gt;
curl &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="s2"&gt;"https://huggingface.co/XiaomiMiMo/MiMo-V2.5-Pro/raw/refs%2Fpr%2F1/.eval_results/gsm8k.yaml"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you try &lt;code&gt;tree/main/.eval_results&lt;/code&gt; on such a model, you get &lt;code&gt;.eval_results does not exist on "main"&lt;/code&gt; even though the row shows on the leaderboard. That is expected behavior, not a bug.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D800%26h%3D420%26c%3D%257B%2522type%2522%253A%2522doughnut%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522From%2520open%2520PRs%2520%2528772%2529%2522%252C%2522Merged%2520on%2520main%2520%2528251%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522data%2522%253A%255B772%252C251%255D%252C%2522backgroundColor%2522%253A%255B%2522%2523f59e0b%2522%252C%2522%25232563eb%2522%255D%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Default-view%2520entries%2520by%2520source%2520ref%2520%2528verified%253A%25200%2529%2522%257D%257D%257D" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fquickchart.io%2Fchart%3Fw%3D800%26h%3D420%26c%3D%257B%2522type%2522%253A%2522doughnut%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522From%2520open%2520PRs%2520%2528772%2529%2522%252C%2522Merged%2520on%2520main%2520%2528251%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522data%2522%253A%255B772%252C251%255D%252C%2522backgroundColor%2522%253A%255B%2522%2523f59e0b%2522%252C%2522%25232563eb%2522%255D%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Default-view%2520entries%2520by%2520source%2520ref%2520%2528verified%253A%25200%2529%2522%257D%257D%257D" alt="Visible entries by source ref" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Practical implications for anyone citing these boards:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A row is a claim, not a measurement. Follow the &lt;code&gt;source.url&lt;/code&gt; and read the &lt;code&gt;notes&lt;/code&gt;, if there are any.&lt;/li&gt;
&lt;li&gt;Protocols differ across rows on the same board. Majority voting over many samples, different thinking budgets, different task subsets: none of that is normalized. The &lt;code&gt;task_id&lt;/code&gt; field is the only structural guard, and it only separates named splits.&lt;/li&gt;
&lt;li&gt;Rows can come from someone other than the model owner, through a PR. Check the PR author before treating a number as the vendor's.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How do I submit a model score to a Hugging Face benchmark leaderboard?
&lt;/h2&gt;

&lt;p&gt;There is no submission form. You commit a file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;huggingface_hub&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;HfApi&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;yaml&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;io&lt;/span&gt;

&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;dataset&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Idavidrein/gpqa&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;task_id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;diamond&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;71.2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;date&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;2026-10-05&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;source&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://huggingface.co/your-org/your-model&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Model Card&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;notes&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;GPQA Diamond, 198 items, pass@1, temperature 0, bf16&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}]&lt;/span&gt;
&lt;span class="n"&gt;buf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;io&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;BytesIO&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;yaml&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;safe_dump&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sort_keys&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="nc"&gt;HfApi&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;upload_file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;path_or_fileobj&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;path_in_repo&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;.eval_results/gpqa.yaml&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;repo_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-org/your-model&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;commit_message&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Add GPQA Diamond eval result&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="c1"&gt;# create_pr=True,  # use this when you are not the repo owner
&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The numbers above are placeholders for illustration. Then check whether the row appears, and &lt;strong&gt;which view&lt;/strong&gt; it appears in:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;where_am_i&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;board&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;base&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://huggingface.co/api/datasets/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;board&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/leaderboard&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;modelId&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;?base_model=false&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;modelId&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;default_view&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;bool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;with_derivatives&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;bool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rank_default&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rank&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rank_all&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rank&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;where_am_i&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Idavidrein/gpqa&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-org/your-model&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If &lt;code&gt;with_derivatives&lt;/code&gt; is true and &lt;code&gt;default_view&lt;/code&gt; is false, the &lt;code&gt;base_model&lt;/code&gt; field in your card is what hides you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist for model authors before reporting a leaderboard rank
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Match &lt;code&gt;dataset.id&lt;/code&gt; exactly&lt;/strong&gt; to one of the 48 IDs from &lt;code&gt;filter=benchmark:official&lt;/code&gt;. Case and owner prefix matter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Set &lt;code&gt;task_id&lt;/code&gt;&lt;/strong&gt; when the board has subsets. A GPQA "main" score sitting next to "diamond" scores is misleading.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decide on &lt;code&gt;base_model&lt;/code&gt; on purpose.&lt;/strong&gt; If your model really is a fine-tune, keeping the field is honest, but you will only appear in the derivative-inclusive view. If the field is left over from a template or only credits a tokenizer, fix the card. Don't remove it from a real derivative just to get a better spot.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify with the parameterless API&lt;/strong&gt;, not the &lt;code&gt;?base_model=false&lt;/code&gt; URL and not a cached screenshot. The parameterless call is what most visitors see by default.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quote the right rank.&lt;/strong&gt; "Rank 3 including derivatives" and "rank 3" are different claims. With 30.4% of entries hidden, the gap can be large.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write the protocol in &lt;code&gt;notes&lt;/code&gt;&lt;/strong&gt;: sample count, decoding settings, token budget, precision, subset size. Nobody verifies rows centrally, so this is your credibility.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Merge your own PRs.&lt;/strong&gt; If a contributor opened the eval PR, the row already counts. Merging it puts the file on &lt;code&gt;main&lt;/code&gt; and makes the history auditable.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How many official benchmark leaderboards are on Hugging Face?
&lt;/h3&gt;

&lt;p&gt;48 datasets carried the &lt;code&gt;benchmark:official&lt;/code&gt; tag on October 5, 2026. Four of them had no entries yet. Query &lt;code&gt;https://huggingface.co/api/datasets?filter=benchmark:official&amp;amp;limit=200&lt;/code&gt; for the current list.&lt;/p&gt;

&lt;h3&gt;
  
  
  What does &lt;code&gt;base_model=false&lt;/code&gt; do in the Hugging Face leaderboard API?
&lt;/h3&gt;

&lt;p&gt;It adds back models whose card declares a &lt;code&gt;base_model&lt;/code&gt; (fine-tunes, merges, quantizations, adapters). The default request leaves them out. Across all boards that is 1,469 entries vs 1,023, so 30.4% are hidden by default.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where does a Hugging Face leaderboard score come from?
&lt;/h3&gt;

&lt;p&gt;From a YAML file under &lt;code&gt;.eval_results/&lt;/code&gt; in the model repo, on &lt;code&gt;main&lt;/code&gt; or on an open PR ref. The leaderboard row's &lt;code&gt;filename&lt;/code&gt; field gives the path, and &lt;code&gt;pullRequest&lt;/code&gt; gives the PR number if there is one.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are Hugging Face official leaderboard scores verified?
&lt;/h3&gt;

&lt;p&gt;Not at the time of measurement. All 1,023 default-view rows had &lt;code&gt;verified: false&lt;/code&gt;. Treat each row as a self-reported claim and check its source and notes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why does my model show on the board in one browser link but not another?
&lt;/h3&gt;

&lt;p&gt;You are probably comparing the default view with the derivative-inclusive view. Run both API calls for your &lt;code&gt;modelId&lt;/code&gt;. If only the &lt;code&gt;?base_model=false&lt;/code&gt; call finds you, your model card's &lt;code&gt;base_model&lt;/code&gt; field explains it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can someone else add a score for my model?
&lt;/h3&gt;

&lt;p&gt;Yes. Anyone can open a pull request that adds &lt;code&gt;.eval_results/*.yaml&lt;/code&gt; to your repo, and 75.5% of visible rows came from PR refs when I measured. Review those PRs like any other change to your model card.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Methodology: all counts come from unauthenticated requests to the public Hugging Face API on 2026-10-05. Leaderboards change daily, so re-run the scripts above for current numbers.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>huggingface</category>
      <category>llm</category>
      <category>benchmark</category>
      <category>machinelearning</category>
    </item>
  </channel>
</rss>
