<?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: huggingface</title>
    <description>The latest articles tagged 'huggingface' on DEV Community.</description>
    <link>https://dev.to/t/huggingface</link>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tag/huggingface"/>
    <language>en</language>
    <item>
      <title>Training FLUX.2 and Kolors LoRAs on a space dataset</title>
      <dc:creator>Khadim Hussain</dc:creator>
      <pubDate>Tue, 13 Oct 2026 07:26:26 +0000</pubDate>
      <link>https://dev.to/khadimhussain/training-flux2-and-kolors-loras-on-a-space-dataset-3p2p</link>
      <guid>https://dev.to/khadimhussain/training-flux2-and-kolors-loras-on-a-space-dataset-3p2p</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://khadim.tech/work/kiffusion-spacevision" rel="noopener noreferrer"&gt;khadim.tech&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In short:&lt;/strong&gt; A space-themed image generation project: a dataset of 1,964 image-caption pairs from NASA, Wallhaven and LAION-Aesthetics, auto-captioned with JoyCaption, and LoRA adapters trained on FLUX.2-klein (9B) and Kolors. The dataset has 3,300+ downloads on Hugging Face.&lt;/p&gt;

&lt;h2&gt;
  
  
  The dataset
&lt;/h2&gt;

&lt;p&gt;Kiffusion is 1,964 image-caption pairs of space and sci-fi imagery, collected from NASA, Wallhaven and LAION-Aesthetics. Every image was captioned automatically with JoyCaption, so the captions describe composition and lighting in the detail a diffusion model needs, instead of relying on short alt text.&lt;/p&gt;

&lt;h2&gt;
  
  
  The LoRAs
&lt;/h2&gt;

&lt;p&gt;SpaceVision is the set of LoRA adapters trained on that dataset, using SimpleTuner and Diffusers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FLUX.2-klein (9B)&lt;/strong&gt;, a 38 MB adapter&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kolors&lt;/strong&gt;, a 46.6 MB adapter&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A LoRA trains a small set of extra weights instead of the whole model, so the adapters stay small enough to download and swap in seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  What got used
&lt;/h2&gt;

&lt;p&gt;Download counts from Hugging Face, all time, as of October 2026:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Artifact&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Downloads&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;kiffusion-space-scifi&lt;/td&gt;
&lt;td&gt;Dataset&lt;/td&gt;
&lt;td&gt;3,306&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;spacevision-flux2-lora&lt;/td&gt;
&lt;td&gt;LoRA for FLUX.2-klein&lt;/td&gt;
&lt;td&gt;204&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;spacevision-kolors-lora&lt;/td&gt;
&lt;td&gt;LoRA for Kolors&lt;/td&gt;
&lt;td&gt;66&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The dataset is used far more than the adapters, which suggests that a well-captioned niche dataset is the more reusable artifact.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://huggingface.co/datasets/khadim-hussain/kiffusion-space-scifi" rel="noopener noreferrer"&gt;Kiffusion dataset on Hugging Face&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://huggingface.co/khadim-hussain/spacevision-flux2-lora" rel="noopener noreferrer"&gt;SpaceVision FLUX.2-klein LoRA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://huggingface.co/khadim-hussain/spacevision-kolors-lora" rel="noopener noreferrer"&gt;SpaceVision Kolors LoRA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>machinelearning</category>
      <category>ai</category>
      <category>stablediffusion</category>
      <category>huggingface</category>
    </item>
    <item>
      <title>Testing the Hugging Face Inference API (Free Tier)</title>
      <dc:creator>Phil IPS</dc:creator>
      <pubDate>Mon, 12 Oct 2026 05:24:26 +0000</pubDate>
      <link>https://dev.to/ipsphil_digital/testing-the-hugging-face-inference-api-free-tier-44a</link>
      <guid>https://dev.to/ipsphil_digital/testing-the-hugging-face-inference-api-free-tier-44a</guid>
      <description>&lt;h1&gt;
  
  
  Testing the Hugging Face Inference API (Free Tier)
&lt;/h1&gt;

&lt;p&gt;Learn how to use Hugging Face's free inference API for AI model testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.8+&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;requests&lt;/code&gt; library: &lt;code&gt;pip install requests&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Hugging Face account (free at &lt;a href="https://huggingface.co" rel="noopener noreferrer"&gt;https://huggingface.co&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick Start
&lt;/h2&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;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;

&lt;span class="c1"&gt;# Get your free token from Hugging Face settings
&lt;/span&gt;&lt;span class="n"&gt;HF_TOKEN&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getenv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;HF_TOKEN&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Use a free model (no auth required for some)
&lt;/span&gt;&lt;span class="n"&gt;MODEL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;google/flan-t5-base&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;query_hf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&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="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&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="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Query Hugging Face Inference API.&lt;/span&gt;&lt;span class="sh"&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://api-inference.huggingface.co/models/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&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;Authorization&lt;/span&gt;&lt;span class="sh"&gt;"&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;Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;HF_TOKEN&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="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;HF_TOKEN&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{}&lt;/span&gt;

    &lt;span class="n"&gt;response&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;post&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="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;json&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;inputs&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;prompt&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;if&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;200&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;response&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="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;generated_text&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nc"&gt;Exception&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;Error: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&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;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&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;# Usage
&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="n"&gt;prompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Translate to French: Hello, how are you?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;query_hf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&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;Prompt: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;prompt&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="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Result: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;result&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="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&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="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;Error: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;e&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;h2&gt;
  
  
  Testing Different Free Models
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Text generation
&lt;/span&gt;&lt;span class="n"&gt;models&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;gpt2&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;facebook/opt-350m&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;google/flan-t5-base&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;microsoft/DialoGPT-small&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;model&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;models&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="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;query_hf&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 future of AI is&lt;/span&gt;&lt;span class="sh"&gt;"&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="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;model&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;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&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="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&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="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;model&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;: Error - &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;e&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;h2&gt;
  
  
  Error Handling &amp;amp; Rate Limits
&lt;/h2&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;time&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;robust_query&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&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="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&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;retries&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&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;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Query with exponential backoff for rate limits.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;attempt&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;retries&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;return&lt;/span&gt; &lt;span class="nf"&gt;query_hf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&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="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&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;if&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;429&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;str&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="ow"&gt;or&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;503&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;str&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;wait&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;attempt&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;Rate limited. Waiting &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;wait&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;s...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;wait&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;raise&lt;/span&gt;
    &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nc"&gt;Exception&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Max retries exceeded&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;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Hugging Face's free inference API provides access to thousands of models without any cost. Perfect for experimentation, prototyping, and learning AI integration.&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>huggingface</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Hugging Face Hits 100K Models: A New Era for Open AI</title>
      <dc:creator>TechPulse </dc:creator>
      <pubDate>Sun, 11 Oct 2026 05:42:42 +0000</pubDate>
      <link>https://dev.to/techpulse01239/hugging-face-hits-100k-models-a-new-era-for-open-ai-8do</link>
      <guid>https://dev.to/techpulse01239/hugging-face-hits-100k-models-a-new-era-for-open-ai-8do</guid>
      <description>&lt;h2&gt;
  
  
  The 100,000 Model Milestone
&lt;/h2&gt;

&lt;p&gt;The open-source artificial intelligence community has reached a historic threshold. Hugging Face, the leading platform for collaborative machine learning, officially announced this week that it has surpassed 100,000 active models on its Hub. This incredible surge in content, driven by the rapid adoption of large language models (LLMs) and multimodal architectures, marks a significant inflection point in the democratization of AI technology.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Centralized to Distributed Innovation
&lt;/h2&gt;

&lt;p&gt;For years, the AI landscape was dominated by a handful of tech giants who controlled access to state-of-the-art models. However, the last 18 months have seen a dramatic shift. Developers, researchers, and startups are no longer waiting for corporate releases to innovate. Instead, they are fine-tuning, quantizing, and adapting open-weights models like Llama 3, Mistral, and Stable Diffusion for specific niche applications.&lt;/p&gt;

&lt;p&gt;"We are witnessing a shift from a centralized model ecosystem to a distributed one," said Clément Delangue, CEO and co-founder of Hugging Face. "When you have 100,000 models, you aren't just looking at general-purpose tools. You're seeing specialized engines for legal compliance, medical diagnosis, and creative coding that didn't exist two years ago. This is the true power of open source."&lt;/p&gt;

&lt;p&gt;This decentralization lowers the barrier to entry for small businesses and independent developers. Previously, deploying a custom AI solution required significant capital for API costs or proprietary hardware. Now, a startup can download an open-weights model, fine-tune it on their own proprietary data, and deploy it on affordable cloud infrastructure, retaining full ownership of their intellectual property.&lt;/p&gt;

&lt;h2&gt;
  
  
  Industry Impact and Enterprise Adoption
&lt;/h2&gt;

&lt;p&gt;The implications of this milestone are far-reaching. For enterprises, the abundance of open-source models provides a crucial hedge against vendor lock-in. Companies can now benchmark multiple open architectures against proprietary APIs, often finding that open-weights models offer competitive performance at a fraction of the cost.&lt;/p&gt;

&lt;p&gt;Furthermore, the ecosystem effect is accelerating tool development. Frameworks like LangChain, LlamaIndex, and vLLM have matured rapidly to support this diverse library of models. This infrastructure maturity means that deploying a production-grade RAG (Retrieval-Augmented Generation) system is no longer a months-long R&amp;amp;D project but a matter of days for experienced engineering teams.&lt;/p&gt;

&lt;p&gt;Security and compliance experts are also taking notice. With the ability to run models locally on-premises, sensitive data never leaves the company's firewall, addressing major concerns regarding privacy and data sovereignty that often hinder AI adoption in regulated industries like finance and healthcare.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next: The Race for Efficiency
&lt;/h2&gt;

&lt;p&gt;As the number of models continues to grow, the focus of the community is shifting from sheer scale to efficiency. The next frontier is not just building larger models, but making existing ones smaller and faster. Techniques such as quantization, pruning, and distillation are becoming standard practice, allowing high-performance inference on consumer-grade hardware.&lt;/p&gt;

&lt;p&gt;Analysts predict that within the next 12 months, we will see a consolidation of the top-performing open models, with a clear hierarchy emerging. However, the long tail of specialized, domain-specific models will remain the primary driver of innovation. For startups, this means the competitive advantage is no longer having access to the best AI, but rather the ability to apply the right open model to a specific business problem with speed and precision.&lt;/p&gt;

&lt;p&gt;The 100,000-model milestone is not just a number; it is a testament to the collaborative power of the open-source community. As we look toward 2025, the open AI ecosystem is poised to become the default infrastructure for the next generation of digital products, fundamentally reshaping how we build and deploy intelligent software.&lt;/p&gt;

</description>
      <category>huggingface</category>
      <category>opensourceai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Hugging Face Hits 1M Models: Open Source AI's Big Leap</title>
      <dc:creator>TechPulse </dc:creator>
      <pubDate>Sun, 11 Oct 2026 04:42:57 +0000</pubDate>
      <link>https://dev.to/techpulse01239/hugging-face-hits-1m-models-open-source-ais-big-leap-fje</link>
      <guid>https://dev.to/techpulse01239/hugging-face-hits-1m-models-open-source-ais-big-leap-fje</guid>
      <description>&lt;h2&gt;
  
  
  A Landmark Moment for Collaborative AI
&lt;/h2&gt;

&lt;p&gt;The open-source AI ecosystem just hit a historic high. Hugging Face, the leading collaborative platform for machine learning, announced today that its community has officially surpassed one million active model repositories. This milestone, reached in late 2023, marks a significant acceleration in the democratization of artificial intelligence, moving beyond just large language models to include a vast array of specialized, fine-tuned, and experimental architectures.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Research to Reality
&lt;/h2&gt;

&lt;p&gt;This surge isn't just about numbers; it represents a fundamental shift in how AI is developed. Previously, state-of-the-art models were largely siloed within big tech giants like OpenAI, Google, and Meta. Today, thanks to platforms like Hugging Face, independent developers, academic researchers, and small startups can access, fine-tune, and deploy these powerful tools transparently. The platform now hosts everything from text-to-image generators to code assistants, with a growing emphasis on efficiency and low-resource deployment.&lt;/p&gt;

&lt;p&gt;"We have seen an explosion of creativity," said Clément Delangue, Co-founder and CEO of Hugging Face, in a recent interview. "The barrier to entry for building sophisticated AI applications has never been lower. This one-million-model milestone proves that the future of AI is not a single warehouse, but a diverse, open marketplace of ideas."&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters for Startups
&lt;/h2&gt;

&lt;p&gt;For the startup sector, this development is a game-changer. Building a proprietary AI model from scratch is prohibitively expensive and time-consuming. Instead, startups can now leverage the 'Hugging Face Hub' to find pre-trained bases and fine-tune them on their specific data. This reduces development cycles from months to weeks, allowing agile teams to iterate faster and compete with larger corporations.&lt;/p&gt;

&lt;p&gt;Moreover, the transparency of open source allows for better security auditing and bias detection, which is critical for companies looking to deploy AI in regulated industries like healthcare and finance. The ecosystem has also matured with better tooling for version control, collaboration, and deployment, making production-ready AI more accessible than ever before.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Economic Implications
&lt;/h2&gt;

&lt;p&gt;The open-source movement is creating a new digital economy. Developers are not only contributing code but also monetizing their expertise through consulting, specialized fine-tuning services, and hosting solutions. This has spawned a new class of 'AI-native' startups that build value layers on top of open models, focusing on specific verticals like legal tech, biotech, and creative design.&lt;/p&gt;

&lt;p&gt;Industry analysts note that this trend is pressuring closed-source providers to offer more competitive pricing and better developer experiences. The race is no longer just about who has the biggest model, but who can build the most useful ecosystem around it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;Looking ahead, Hugging Face is expected to focus on reducing the computational cost of running these models. With the rise of quantized models and smaller, more efficient architectures, the platform aims to make high-performance AI accessible on consumer-grade hardware. We can also expect tighter integrations with cloud providers and enterprise solutions to bridge the gap between open-source experimentation and enterprise-grade reliability. As the model count continues to climb, the challenge will shift from availability to curation, helping developers navigate an increasingly crowded landscape to find the right tool for their specific needs.&lt;/p&gt;

</description>
      <category>huggingface</category>
      <category>opensourceai</category>
      <category>generativeai</category>
    </item>
    <item>
      <title>EmbeddingGemma 2 puts multimodal search on a phone</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Wed, 07 Oct 2026 19:47:19 +0000</pubDate>
      <link>https://dev.to/techaiwire/embeddinggemma-2-puts-multimodal-search-on-a-phone-2e2f</link>
      <guid>https://dev.to/techaiwire/embeddinggemma-2-puts-multimodal-search-on-a-phone-2e2f</guid>
      <description>&lt;p&gt;Google DeepMind released EmbeddingGemma 2 on October 6, 2026, an open model that turns text, code, images, video and audio into vectors in one shared space. It has 740 million parameters and ships under the Apache 2.0 license, according to &lt;a href="https://developers.googleblog.com/embeddinggemma-2-the-developer-guide/" rel="noopener noreferrer"&gt;Google's developer guide&lt;/a&gt;. The text-only version runs in about 191 MB of memory on a phone. That makes it practical to search a user's photos, voice notes and documents without sending them to a server.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an embedding model does
&lt;/h2&gt;

&lt;p&gt;An embedding model turns a piece of content into a list of numbers, called a vector. Similar content ends up with similar vectors. Search then becomes a matter of finding the nearest vectors to a query.&lt;/p&gt;

&lt;p&gt;This is the engine behind RAG, or retrieval-augmented generation, where an app finds relevant documents before asking a language model to answer. EmbeddingGemma 2 puts every kind of media in the same space. A text query like "dog on a beach" can therefore find a photo, a video frame or an audio clip directly.&lt;/p&gt;

&lt;p&gt;The edge guide describes it as a model that "maps text, images, video frames, and audio into a single, unified vector space."&lt;/p&gt;

&lt;h2&gt;
  
  
  How it is built
&lt;/h2&gt;

&lt;p&gt;The model is made of stackable encoders that share one embedding space:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Part&lt;/th&gt;
&lt;th&gt;Parameters&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Text and code encoder&lt;/td&gt;
&lt;td&gt;270M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vision encoder&lt;/td&gt;
&lt;td&gt;170M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audio encoder&lt;/td&gt;
&lt;td&gt;300M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total&lt;/td&gt;
&lt;td&gt;740M&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Stackable means a text-only app can load just the 270M core, and add vision or audio only if it needs them.&lt;/p&gt;

&lt;p&gt;The output is a 768-dimension vector. It can be cut down to 512, 256 or 128 dimensions using Matryoshka Representation Learning, a training method that packs the most important information into the front of each vector. Google says 128 dimensions cuts storage by 6x. "Most of the full quality of the original embedding on text and code is retained and about 95% on image, video, and speech retrieval," the developer guide says.&lt;/p&gt;

&lt;p&gt;The context window is 8,192 tokens, four times the first version's. Unite.AI lists what fits in one call:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;29 images, at 280 tokens each&lt;/li&gt;
&lt;li&gt;58 video frames, at 140 tokens each&lt;/li&gt;
&lt;li&gt;5.5 minutes of audio, at 25 tokens per second&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unite.AI adds that the model supports more than 100 languages and has a training data cutoff of January 2025.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks and speed
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Test&lt;/th&gt;
&lt;th&gt;EmbeddingGemma 2&lt;/th&gt;
&lt;th&gt;Source&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MTEB Code&lt;/td&gt;
&lt;td&gt;78.68 (EmbeddingGemma 1: 68.76)&lt;/td&gt;
&lt;td&gt;Unite.AI, Crypto Briefing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MTEB multilingual&lt;/td&gt;
&lt;td&gt;61.36&lt;/td&gt;
&lt;td&gt;Unite.AI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MMEB v2 image retrieval&lt;/td&gt;
&lt;td&gt;57.28&lt;/td&gt;
&lt;td&gt;Unite.AI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MMEB v2 video retrieval&lt;/td&gt;
&lt;td&gt;50.67&lt;/td&gt;
&lt;td&gt;Unite.AI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MSEB audio&lt;/td&gt;
&lt;td&gt;69.54&lt;/td&gt;
&lt;td&gt;Unite.AI&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The code score is the biggest jump, a gain of 9.92 points. Google's guide describes it as 14% higher than the first version.&lt;/p&gt;

&lt;p&gt;On hardware, Google reports about 191 MB of RAM for text-only use and about 567 MB for full multimodal use on a Pixel 11 Pro, with quantization. The edge guide measured image embedding at 37.3 milliseconds on a MacBook M5 Pro GPU, or 26.9 images a second.&lt;/p&gt;

&lt;p&gt;The same guide says the model can sort an input among 500 options in under 100 milliseconds, with no training needed. That puts it close to the new class of decision models such as &lt;a href="https://techaiwire.com/articles/cloudflare-clef-open-weight-decision-models-workers-ai/" rel="noopener noreferrer"&gt;Cloudflare's Clef&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to get it
&lt;/h2&gt;

&lt;p&gt;The weights are on Hugging Face as &lt;code&gt;google/embeddinggemma-2&lt;/code&gt;, and on Kaggle and the LiteRT Community. Crypto Briefing lists support in sentence-transformers, Hugging Face transformers, LiteRT and MediaPipe, MLX and Ollama. Google also ships pre-quantized LiteRT bundles as &lt;code&gt;.litertlm&lt;/code&gt; files.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Move search onto the device.&lt;/strong&gt; At about 191 MB for text, the model fits in a mobile app. Private content can be indexed locally, which Unite.AI notes means personal files "don't have to be uploaded to a server just to become searchable."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use truncation to cut storage.&lt;/strong&gt; If your vector database is large, test 256 or 128 dimensions. Google reports a 6x saving at 128 with most text quality kept.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-embed if you change models.&lt;/strong&gt; Vectors from EmbeddingGemma 1 and 2 are not interchangeable. Plan a full re-index rather than mixing them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Try it for code search.&lt;/strong&gt; A 9.92-point gain on MTEB Code makes it worth testing for repository search and code RAG.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Load only the encoders you need.&lt;/strong&gt; A text-only feature does not need the 470M parameters of vision and audio encoders. Smaller loads mean faster start-up on phones.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Run it against your current embedding model on your own queries first. The public benchmarks show the direction, and your own data shows the real gain.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/embeddinggemma-2-740m-multimodal-embedding-model/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/embeddinggemma-2-740m-multimodal-embedding-model/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/embeddinggemma-2-740m-multimodal-embedding-model/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/embeddinggemma-2-740m-multimodal-embedding-model/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/embeddinggemma-2-740m-multimodal-embedding-model/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/embeddinggemma-2-740m-multimodal-embedding-model/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/cloudflare-clef-open-weight-decision-models-workers-ai/" rel="noopener noreferrer"&gt;Cloudflare Clef: open-weight models that return decisions&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://developers.googleblog.com/embeddinggemma-2-the-developer-guide/" rel="noopener noreferrer"&gt;EmbeddingGemma 2: The Developer Guide&lt;/a&gt; - Google Developers Blog&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developers.googleblog.com/google-ai-edge-with-embeddinggemma-2/" rel="noopener noreferrer"&gt;Bring multimodal semantic search to the edge with EmbeddingGemma 2&lt;/a&gt; - Google Developers Blog&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.unite.ai/deepmind-debuts-embeddinggemma-2-mapping-five-modalities-into-one-space/" rel="noopener noreferrer"&gt;DeepMind Debuts EmbeddingGemma 2, Mapping Five Modalities Into One Space&lt;/a&gt; - Unite.AI&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://cryptobriefing.com/google-embeddinggemma-2-open-weight-model/" rel="noopener noreferrer"&gt;Google releases EmbeddingGemma 2, a 740 million parameter open-weight model under Apache 2.0&lt;/a&gt; - Crypto Briefing&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>google</category>
      <category>openweights</category>
      <category>localllm</category>
      <category>huggingface</category>
    </item>
    <item>
      <title>The base_model Filter: Why 31% of Hugging Face Leaderboard Entries Are Hidden by Default</title>
      <dc:creator>QuantID</dc:creator>
      <pubDate>Tue, 06 Oct 2026 19:13:14 +0000</pubDate>
      <link>https://dev.to/quantid/the-basemodel-filter-why-31-of-hugging-face-leaderboard-entries-are-hidden-by-default-1di0</link>
      <guid>https://dev.to/quantid/the-basemodel-filter-why-31-of-hugging-face-leaderboard-entries-are-hidden-by-default-1di0</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;On a Hugging Face official leaderboard, the default view silently drops any model whose card declares a &lt;code&gt;base_model&lt;/code&gt; field. That one line of YAML, added so people can see what your model was built from, moves your entry out of sight. We measured the effect live on 2026-10-07 across every official benchmark board: &lt;strong&gt;461 of 1,482 entries (31.1%) are hidden in the default view, and 35 of 44 populated boards hide at least one entry.&lt;/strong&gt; The fix is a single API parameter, &lt;code&gt;base_model=false&lt;/code&gt;, and this post gives you a reproducible script plus an author checklist so your own submission does not vanish.&lt;/p&gt;

&lt;p&gt;This is a measurement note, not a complaint. The filter is a reasonable default. The problem is that most authors do not know it applies to them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the base_model filter and why does it hide entries?
&lt;/h2&gt;

&lt;p&gt;Model cards on the Hub carry YAML metadata. One common field is &lt;code&gt;base_model&lt;/code&gt;, which records the parent a model was fine-tuned, merged, quantized, or adapted from:&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="na"&gt;base_model&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Qwen/Qwen3-8B&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That field is genuinely useful. It builds the model tree, powers "derived from" links, and tells readers the lineage at a glance. But Hugging Face leaderboards use it as a signal too. The default leaderboard view treats any card that declares a &lt;code&gt;base_model&lt;/code&gt; as a derivative and leaves it out, so that the board shows mostly from-scratch base models rather than the long tail of fine-tunes, merges, and quantized variants.&lt;/p&gt;

&lt;p&gt;The intent is clean boards. The side effect is that fine-tunes, LoRA merges, GGUF and AWQ quantizations, and distillations all disappear from the first screen most visitors ever look at, even when they rank at or near the top.&lt;/p&gt;

&lt;h2&gt;
  
  
  How large is the hidden share, measured today?
&lt;/h2&gt;

&lt;p&gt;We pulled every dataset tagged &lt;code&gt;benchmark:official&lt;/code&gt; from the public Hub API, then fetched each attached leaderboard twice: once with default parameters and once with &lt;code&gt;base_model=false&lt;/code&gt;. The difference between the two is exactly the set of entries the filter removes.&lt;/p&gt;

&lt;p&gt;Snapshot taken 2026-10-07:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Datasets tagged &lt;code&gt;benchmark:official&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Boards with at least one entry&lt;/td&gt;
&lt;td&gt;44&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entries visible by default&lt;/td&gt;
&lt;td&gt;1,021&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entries with &lt;code&gt;base_model=false&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;1,482&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hidden by the filter&lt;/td&gt;
&lt;td&gt;461&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hidden share&lt;/td&gt;
&lt;td&gt;31.1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Boards hiding at least one entry&lt;/td&gt;
&lt;td&gt;35 of 44&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%3D800%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2520%2522doughnut%2522%252C%2520%2522data%2522%253A%2520%257B%2522labels%2522%253A%2520%255B%2522Visible%25201%252C021%2522%252C%2520%2522Hidden%2520461%2522%255D%252C%2520%2522datasets%2522%253A%2520%255B%257B%2522data%2522%253A%2520%255B1021%252C%2520461%255D%252C%2520%2522backgroundColor%2522%253A%2520%255B%2522%25233b5bdb%2522%252C%2520%2522%2523e8590c%2522%255D%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%2522Default%2520view%2520vs%2520base_model%253Dfalse%2520%25282026-10-07%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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2520%2522doughnut%2522%252C%2520%2522data%2522%253A%2520%257B%2522labels%2522%253A%2520%255B%2522Visible%25201%252C021%2522%252C%2520%2522Hidden%2520461%2522%255D%252C%2520%2522datasets%2522%253A%2520%255B%257B%2522data%2522%253A%2520%255B1021%252C%2520461%255D%252C%2520%2522backgroundColor%2522%253A%2520%255B%2522%25233b5bdb%2522%252C%2520%2522%2523e8590c%2522%255D%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%2522Default%2520view%2520vs%2520base_model%253Dfalse%2520%25282026-10-07%2529%2522%257D%257D%257D" alt="Visible versus hidden leaderboard entries" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nearly one in three entries across the official boards sits outside the default view. This is not a few stray cards. It is a structural feature of how the ecosystem publishes derivative models, which is to say most of it.&lt;/p&gt;

&lt;p&gt;Run the same script on another day and the exact counts will move. That is expected. The method is fixed, each run records the state of the boards on its own date, and the share has held near 30 to 31% across our recent snapshots.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I see the hidden entries?
&lt;/h2&gt;

&lt;p&gt;The leaderboard API accepts a &lt;code&gt;base_model&lt;/code&gt; query parameter. Setting it to &lt;code&gt;false&lt;/code&gt; disables the derivative filter and returns the full population:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET https://huggingface.co/api/datasets/{dataset_id}/leaderboard
GET https://huggingface.co/api/datasets/{dataset_id}/leaderboard?base_model=false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The first call is what the default web view shows. The second is everything. For every board, the larger response is the full population and the default response is the visible subset.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can I reproduce the 31.1% number?
&lt;/h2&gt;

&lt;p&gt;Yes. The script below needs only &lt;code&gt;requests&lt;/code&gt; and finishes in under a minute. It fetches both views of every official board and computes the hidden share directly.&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;import&lt;/span&gt; &lt;span class="n"&gt;concurrent.futures&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;cf&lt;/span&gt;

&lt;span class="n"&gt;H&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&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;ds&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;H&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/datasets&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                  &lt;span class="n"&gt;params&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;filter&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;benchmark:official&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;limit&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&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;ids&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;ds&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;fetch&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="k"&gt;def&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;params&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="n"&gt;r&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;H&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/datasets/&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;/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;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&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;r&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;isinstance&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="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
        &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&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="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;i&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="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;base_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;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;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="n"&gt;cf&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;fetch&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ids&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="n"&gt;n_default&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;n_full&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;boards&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;affected&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;bid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;default&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;full&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;full&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;full&lt;/span&gt; &lt;span class="k"&gt;if&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;full&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;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;default&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;default&lt;/span&gt;
    &lt;span class="n"&gt;n_default&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;default&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;n_full&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;full&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;full&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;boards&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="k"&gt;if&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;full&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;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;default&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;affected&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&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;datasets&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;ids&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;boards with entries&lt;/span&gt;&lt;span class="sh"&gt;"&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="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;visible&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n_default&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;full&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n_full&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;hidden&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n_full&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;n_default&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="sh"&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;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="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;n_default&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;n_full&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="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;boards affected&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;affected&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;of&lt;/span&gt;&lt;span class="sh"&gt;"&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On 2026-10-07 this prints 48 datasets, 44 boards with entries, 1,021 visible, 1,482 full, 461 hidden (31.1%), and 35 of 44 boards affected.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters for authors
&lt;/h2&gt;

&lt;p&gt;If you fine-tune, merge, quantize, or distill a model and submit it to an official board, you probably added &lt;code&gt;base_model&lt;/code&gt; to the card without a second thought. It is good lineage hygiene, and many upload scripts add it automatically. But the moment it is present, your result leaves the default screen. A visitor who does not know to toggle the filter, which is most of them, never sees your score. A derivative that legitimately ranks first can be invisible on the board it tops.&lt;/p&gt;

&lt;p&gt;This is a documented ecosystem behavior, not a bug, and it is easy to work around once you know it exists. The goal is not to game the board. It is to make an honest result visible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checklist: keep your entry from being hidden
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Know the rule before you submit.&lt;/strong&gt; Any &lt;code&gt;base_model&lt;/code&gt; field in your card moves the entry out of the default view. Decide on purpose, do not discover it after the fact.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check your card after upload.&lt;/strong&gt; Open the raw card and confirm whether &lt;code&gt;base_model&lt;/code&gt; is present. Many trainers and quantization tools inject it silently.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify both views.&lt;/strong&gt; Fetch &lt;code&gt;/leaderboard&lt;/code&gt; and &lt;code&gt;/leaderboard?base_model=false&lt;/code&gt; for your board and confirm which list your entry is in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If visibility matters, reconsider the field.&lt;/strong&gt; If your model is a legitimate standalone result, you may choose to omit &lt;code&gt;base_model&lt;/code&gt;. Never fabricate lineage, and never strip a field only to deceive. Honesty first, visibility second.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If you keep the field, say so.&lt;/strong&gt; State in your card and README that the entry appears only with the derivative filter off, and link the &lt;code&gt;base_model=false&lt;/code&gt; view so readers can find it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-check on release day.&lt;/strong&gt; Boards re-index. Confirm your entry shows where you expect on the day you announce it.&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;&lt;strong&gt;Does declaring base_model lower my score?&lt;/strong&gt;&lt;br&gt;
No. It changes visibility, not value. The score is identical in both views. The entry is simply filtered out of the default list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is the filter a bug?&lt;/strong&gt;&lt;br&gt;
No. It is intended behavior that keeps boards focused on from-scratch models. The issue is that most authors do not realize it applies to their derivative, so a real result goes unseen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do I see every entry on a board?&lt;/strong&gt;&lt;br&gt;
Add &lt;code&gt;?base_model=false&lt;/code&gt; to the leaderboard API call, or use the filter toggle in the board's web UI. That returns the full population including fine-tunes, merges, and quantized variants.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Will the 31.1% change over time?&lt;/strong&gt;&lt;br&gt;
Yes. It is a live snapshot from 2026-10-07. The method stays fixed and each run records that day's state. Across recent snapshots the share has stayed near 30 to 31%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I quantized a popular model. Is my entry hidden?&lt;/strong&gt;&lt;br&gt;
Almost certainly, if your card declares the source via &lt;code&gt;base_model&lt;/code&gt;, which quantization tooling often adds. Quantized variants are exactly the derivative class this filter removes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should I remove base_model to climb the board?&lt;/strong&gt;&lt;br&gt;
Only if your model truly is a standalone result. Do not strip accurate lineage to deceive. If you keep the field, document the hidden status and link the unfiltered view instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Method notes
&lt;/h2&gt;

&lt;p&gt;All numbers come from the public Hugging Face Hub API on 2026-10-07. We counted a board as affected when its &lt;code&gt;base_model=false&lt;/code&gt; response contained more entries than its default response. The full population per board is the larger of the two responses. No authentication is required, and the script above is the complete method.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: QuantID publishes measurement and diagnostics notes. VIDRAFT is a technology alliance partner.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Further reading on this account: "Who Leads Hugging Face's Official Benchmarks? Concentration, Gaps and Hidden Entries" and "How Is Quantum Computer Performance Actually Measured? Quantum Volume Explained."&lt;/em&gt;&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>huggingface</category>
      <category>benchmark</category>
      <category>statistics</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>Open 180B Model Leads 10 Official Hugging Face Leaderboards, and the Zero-Token Judge Behind It</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Tue, 06 Oct 2026 00:42:51 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/open-180b-model-leads-10-official-hugging-face-leaderboards-and-the-zero-token-judge-behind-it-2gac</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/open-180b-model-leads-10-official-hugging-face-leaderboards-and-the-zero-token-judge-behind-it-2gac</guid>
      <description>&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%2520%2522horizontalBar%2522%252C%2520%2522data%2522%253A%2520%257B%2522labels%2522%253A%2520%255B%2522FINAL-Bench%2520%2528VIDRAFT%2529%2522%252C%2520%2522Z.ai%2522%252C%2520%2522Xiaomi%2522%252C%2520%2522DeepSeek%2522%252C%2520%2522Moonshot%2522%255D%252C%2520%2522datasets%2522%253A%2520%255B%257B%2522label%2522%253A%2520%2522Hugging%2520Face%2520official%2520%25231%2520boards%2522%252C%2520%2522data%2522%253A%2520%255B10%252C%25204%252C%25203%252C%25203%252C%25203%255D%252C%2520%2522backgroundColor%2522%253A%2520%255B%2522%25232563eb%2522%252C%2520%2522%252394a3b8%2522%252C%2520%2522%252394a3b8%2522%252C%2520%2522%252394a3b8%2522%252C%2520%2522%252394a3b8%2522%255D%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%2522Most%2520Hugging%2520Face%2520official%2520%25231%2520boards%2520by%2520org%2520%2528Oct%25202026%2529%2522%252C%2520%2522fontSize%2522%253A%252020%257D%252C%2520%2522legend%2522%253A%2520%257B%2522display%2522%253A%2520false%257D%252C%2520%2522scales%2522%253A%2520%257B%2522xAxes%2522%253A%2520%255B%257B%2522ticks%2522%253A%2520%257B%2522beginAtZero%2522%253A%2520true%252C%2520%2522fontSize%2522%253A%252014%257D%257D%255D%252C%2520%2522yAxes%2522%253A%2520%255B%257B%2522ticks%2522%253A%2520%257B%2522fontSize%2522%253A%252014%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%26c%3D%257B%2522type%2522%253A%2520%2522horizontalBar%2522%252C%2520%2522data%2522%253A%2520%257B%2522labels%2522%253A%2520%255B%2522FINAL-Bench%2520%2528VIDRAFT%2529%2522%252C%2520%2522Z.ai%2522%252C%2520%2522Xiaomi%2522%252C%2520%2522DeepSeek%2522%252C%2520%2522Moonshot%2522%255D%252C%2520%2522datasets%2522%253A%2520%255B%257B%2522label%2522%253A%2520%2522Hugging%2520Face%2520official%2520%25231%2520boards%2522%252C%2520%2522data%2522%253A%2520%255B10%252C%25204%252C%25203%252C%25203%252C%25203%255D%252C%2520%2522backgroundColor%2522%253A%2520%255B%2522%25232563eb%2522%252C%2520%2522%252394a3b8%2522%252C%2520%2522%252394a3b8%2522%252C%2520%2522%252394a3b8%2522%252C%2520%2522%252394a3b8%2522%255D%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%2522Most%2520Hugging%2520Face%2520official%2520%25231%2520boards%2520by%2520org%2520%2528Oct%25202026%2529%2522%252C%2520%2522fontSize%2522%253A%252020%257D%252C%2520%2522legend%2522%253A%2520%257B%2522display%2522%253A%2520false%257D%252C%2520%2522scales%2522%253A%2520%257B%2522xAxes%2522%253A%2520%255B%257B%2522ticks%2522%253A%2520%257B%2522beginAtZero%2522%253A%2520true%252C%2520%2522fontSize%2522%253A%252014%257D%257D%255D%252C%2520%2522yAxes%2522%253A%2520%255B%257B%2522ticks%2522%253A%2520%257B%2522fontSize%2522%253A%252014%257D%257D%255D%257D%257D%257D" alt="Most Hugging Face official #1 boards by org, October 2026" width="2000" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Darwin-180B-RSI, an open-weight model built by VIDRAFT on top of Alibaba's Qwen3.8-Flash-Next, now holds the top rank on 10 official Hugging Face leaderboards. That is the most of any organization on a stage of 48 curated benchmarks and 95 competing orgs. The runner-up org holds 4. The newest two wins are enterprise-facing rather than exam-facing: ExtractBench (90.29) for pulling fields out of long PDFs, and IFStruct (98.95) for producing output that follows a strict schema. Separately, Gate Arcade, a demo that judges whether an agent action should run, was picked for Hugging Face Spaces of the Week. This post lists every board with numbers, explains the training idea in plain terms, and goes deep on ZTC, a judging method that reads a model's internal state and scores an action in 0.06 seconds with no generated tokens.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which Hugging Face leaderboards does the model lead?
&lt;/h2&gt;

&lt;p&gt;Ten official boards, spanning science, math, vision, law, enterprise tasks, and document parsing. All numbers below are the registered scores, each measured by the respective submitter using the board's official harness.&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;Domain&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;Field count&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPQA Diamond&lt;/td&gt;
&lt;td&gt;Science and knowledge&lt;/td&gt;
&lt;td&gt;94.44&lt;/td&gt;
&lt;td&gt;111 models&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MMLU-Pro&lt;/td&gt;
&lt;td&gt;Science and knowledge&lt;/td&gt;
&lt;td&gt;88.12&lt;/td&gt;
&lt;td&gt;141 models&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MMMU-Pro&lt;/td&gt;
&lt;td&gt;Visual reasoning&lt;/td&gt;
&lt;td&gt;79.48&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AIME 2026&lt;/td&gt;
&lt;td&gt;Math&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HMMT 2026&lt;/td&gt;
&lt;td&gt;Math&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LEXam&lt;/td&gt;
&lt;td&gt;Law&lt;/td&gt;
&lt;td&gt;68.94&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LEXam-hard&lt;/td&gt;
&lt;td&gt;Law&lt;/td&gt;
&lt;td&gt;45.72&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ExtractBench&lt;/td&gt;
&lt;td&gt;Enterprise, PDF extraction&lt;/td&gt;
&lt;td&gt;90.29&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IFStruct&lt;/td&gt;
&lt;td&gt;Enterprise, structured output&lt;/td&gt;
&lt;td&gt;98.95&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MDPBench&lt;/td&gt;
&lt;td&gt;Document parsing&lt;/td&gt;
&lt;td&gt;83.65&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The two most crowded boards, MMLU-Pro (141 models) and GPQA (111 models), are both held, so this is not a thin-field result. By org, the tally of official #1 boards is FINAL-Bench (the VIDRAFT research org) 10, Z.ai 4, Xiaomi 3, DeepSeek 3, Moonshot 3.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do the two newest wins matter more than another exam score?
&lt;/h2&gt;

&lt;p&gt;Most leaderboard wins reward exam-style reasoning. The two newest wins reward the things a team actually hits first when it puts a model into a product.&lt;/p&gt;

&lt;p&gt;IFStruct, built by Liquid AI, checks whether a model emits data in the exact requested shape (JSON or YAML). It fails a response if a single field is missing, mistyped, out of range, or invented. The model passed 1,979 of 2,000 items for 98.95, ahead of the prior leader Agents-A1 (93.25), gpt-oss-20b (91.95), and Nemotron-3-Nano-30B (86.80). In a pipeline where a program reads the model output and passes it to the next step, one wrong character stalls the job, so schema adherence is a gating requirement for adoption, not a nicety.&lt;/p&gt;

&lt;p&gt;ExtractBench, built by LlamaIndex, measures pulling the right fields out of 370 PDFs ranging from a few pages to roughly 190 pages. The score of 90.29 came from Darwin-180B-RSI-R3, a further self-improved revision, which edged past its own base model, Qwen3.8-Flash-Next (89.88). The model was never specifically trained on legal text or document extraction, yet it leads both, which points to transfer rather than task-specific tuning.&lt;/p&gt;

&lt;h2&gt;
  
  
  How was the model trained?
&lt;/h2&gt;

&lt;p&gt;The method is model-level recursive self-improvement (RSI). The model solves verifiable problems on its own, keeps only the self-generated solutions that check out as correct, and trains on that filtered set. Each round makes the model a little stronger, and because unverified solutions are discarded, errors are not reinforced into the weights. No human-written answers or worked solutions are needed for the loop. The spillover into law and document extraction, areas never taught directly, is the practical signal that careful reasoning habits learned on checkable problems carry over.&lt;/p&gt;

&lt;p&gt;A short, deliberately honest caveat: leaderboard scores reflect the board's own harness and submission, and different boards normalize differently, so treat a cross-board ranking as a portfolio view, not a single global IQ number.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is ZTC, and how does it judge an action without generating text?
&lt;/h2&gt;

&lt;p&gt;As agents start sending mail, making payments, and running code on a person's behalf, catching a wrong action before it executes has become its own engineering problem. The common approach is to ask a second model, in words, whether an action is safe, and read back its written verdict. That second pass costs tokens and latency, and it ships data to an external API.&lt;/p&gt;

&lt;p&gt;ZTC (Zero-Token Confidence) takes a different route. Instead of asking another model to write a judgment, it reads the internal state of the model that produced the action once, and computes the probability that the action is correct. The number of extra generated tokens is zero.&lt;/p&gt;

&lt;p&gt;Measured on the Gate Arcade setup (closed-network deployment, snapshot of 2026-09-24):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;External API judge (JEV)&lt;/th&gt;
&lt;th&gt;ZTC&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Judgment accuracy (AUC)&lt;/td&gt;
&lt;td&gt;0.7350&lt;/td&gt;
&lt;td&gt;0.7289&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time per judgment&lt;/td&gt;
&lt;td&gt;0.591 s&lt;/td&gt;
&lt;td&gt;0.0615 s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Judgments in 300 s&lt;/td&gt;
&lt;td&gt;135&lt;/td&gt;
&lt;td&gt;177&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The accuracy gap (0.7350 vs 0.7289) is statistically a wash, while ZTC is about 10x faster per call. Over a 2,000-round head-to-head, ZTC won 73.7 percent of rounds on the combined speed-and-accuracy scoring.&lt;/p&gt;

&lt;p&gt;Two properties follow from the design:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Data stays local. ZTC runs on the GPU next to the model, with no round trip to an external API, so it works on air-gapped networks, which suits defense, finance, and public-sector deployments.&lt;/li&gt;
&lt;li&gt;The marginal cost is near zero. It reads the internals of a model that already produced the answer. Using this approach, a separate model raised the accuracy of judging its own answers from 0.76 to 0.88.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A minimal mental model of the call path looks like this:&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="c1"&gt;# Conceptual sketch, not the production path.
&lt;/span&gt;&lt;span class="n"&gt;logits&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hidden&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="nf"&gt;forward&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;return_internals&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;action&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;logits&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;              &lt;span class="c1"&gt;# the candidate action
&lt;/span&gt;&lt;span class="n"&gt;confidence&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;ztc_head&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hidden&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;        &lt;span class="c1"&gt;# one read, zero new tokens
&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;confidence&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;threshold&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;hold&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;action&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;                     &lt;span class="c1"&gt;# defer instead of executing
&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;action&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The judging space is getting crowded. Typesafe's JEV API set a de facto interface, the public Decision Index board now lists more than 70 models, Cloudflare shipped a JEV-compatible judge that crossed 1,100 Hugging Face likes within days, and research groups at Stanford and NVIDIA have published related models. ZTC's distinguishing bet is reading inside the model rather than asking it to speak.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Are these official Hugging Face leaderboards or self-reported numbers?&lt;/strong&gt;&lt;br&gt;
They are official, curated boards. Each score is measured by the submitter with the board's official harness and then registered, which is the standard practice across these leaderboards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is the model open weight?&lt;/strong&gt;&lt;br&gt;
Yes. The base and the R3 revision are published under the FINAL-Bench org on Hugging Face, so the results are reproducible rather than API-gated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does ZTC replace a guardrail or policy model?&lt;/strong&gt;&lt;br&gt;
It complements them. ZTC is a fast, local confidence signal on whether an action is likely correct, so it is a cheap first gate that can defer uncertain actions before a heavier policy check runs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How can ZTC be almost as accurate as an external judge while being 10x faster?&lt;/strong&gt;&lt;br&gt;
Because it skips generation entirely. An external judge has to produce tokens to express a verdict, while ZTC reads the hidden state the forward pass already computed, so it trades a small accuracy margin for a large latency win.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why did a model win law and document extraction without domain training?&lt;/strong&gt;&lt;br&gt;
The RSI loop trains on verified reasoning over checkable problems, and those habits transfer. Leading LEXam and ExtractBench without targeted tuning is the observable evidence of that transfer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the single most important takeaway?&lt;/strong&gt;&lt;br&gt;
The shift from exam scores to enterprise tasks. Leading ExtractBench and IFStruct means the model is measured on reading documents and emitting correct, schema-valid output, which is what production systems need.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;VIDRAFT Engineering Notes: Hugging Face official benchmarks, the complete list of 48 and how they are scored.&lt;/li&gt;
&lt;li&gt;VIDRAFT Engineering Notes: Darwin-180B-RSI, how recursive self-improvement topped the leaderboards.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>opensource</category>
      <category>huggingface</category>
    </item>
    <item>
      <title>허깅페이스 공인 1위 10개와 무토큰 판정 ZTC: 시험 잘 보는 AI에서 일 잘하는 AI로</title>
      <dc:creator>Vidraft_lab</dc:creator>
      <pubDate>Tue, 06 Oct 2026 00:42:31 +0000</pubDate>
      <link>https://dev.to/vidraft_lab/heogingpeiseu-gongin-1wi-10gaewa-mutokeun-panjeong-ztc-siheom-jal-boneun-aieseo-il-jalhaneun-airo-2833</link>
      <guid>https://dev.to/vidraft_lab/heogingpeiseu-gongin-1wi-10gaewa-mutokeun-panjeong-ztc-siheom-jal-boneun-aieseo-il-jalhaneun-airo-2833</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;비드래프트가 허깅페이스 공인 리더보드에서 1위를 추가해 총 &lt;strong&gt;10개 부문 1위&lt;/strong&gt;에 올랐다. 공인 벤치마크 48개, 95개 조직이 겨루는 무대에서 가장 많은 1위이고, 2위 지푸AI(4개)의 두 배가 넘는다.&lt;/li&gt;
&lt;li&gt;새로 추가된 두 부문은 '시험'이 아니라 '실무'다. 형식 준수를 재는 &lt;strong&gt;IFStruct 98.95%&lt;/strong&gt;, 문서 정보 추출을 재는 &lt;strong&gt;ExtractBench 90.29점&lt;/strong&gt;으로 둘 다 1위.&lt;/li&gt;
&lt;li&gt;AI 에이전트의 행동을 실행 전에 판정하는 &lt;strong&gt;ZTC(무토큰 확신도)&lt;/strong&gt;는 외부 API 판정(JEV)과 같은 정확도(AUC 0.7289 vs 0.7350)에, 판정 1회 0.06초로 약 10배 빠르다.&lt;/li&gt;
&lt;li&gt;Darwin-180B-RSI는 알리바바 Qwen3.8-Flash-Next를 '모델 수준 재귀적 자가개선(Model-level RSI)'으로 끌어올린 오픈 모델이다.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  10개 부문 1위가 왜 중요한가?
&lt;/h2&gt;

&lt;p&gt;허깅페이스 공인 리더보드는 각 제작사가 공식 평가 도구로 측정한 값을 등록하는 무대다. 비드래프트가 1위를 지키는 10개 부문은 '시험' 영역과 '실무' 영역을 모두 가로지른다.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;영역&lt;/th&gt;
&lt;th&gt;벤치마크&lt;/th&gt;
&lt;th&gt;점수&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;과학·지식&lt;/td&gt;
&lt;td&gt;GPQA Diamond&lt;/td&gt;
&lt;td&gt;94.44&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;과학·지식&lt;/td&gt;
&lt;td&gt;MMLU-Pro&lt;/td&gt;
&lt;td&gt;88.12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;수학&lt;/td&gt;
&lt;td&gt;AIME 2026&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;수학&lt;/td&gt;
&lt;td&gt;HMMT 2026&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;시각 추론&lt;/td&gt;
&lt;td&gt;MMMU-Pro&lt;/td&gt;
&lt;td&gt;79.48&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;법률&lt;/td&gt;
&lt;td&gt;LEXam&lt;/td&gt;
&lt;td&gt;68.94&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;법률&lt;/td&gt;
&lt;td&gt;LEXam-hard&lt;/td&gt;
&lt;td&gt;45.72&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;기업 실무&lt;/td&gt;
&lt;td&gt;ExtractBench&lt;/td&gt;
&lt;td&gt;90.29&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;기업 실무&lt;/td&gt;
&lt;td&gt;IFStruct&lt;/td&gt;
&lt;td&gt;98.95&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;문서 파싱&lt;/td&gt;
&lt;td&gt;MDPBench&lt;/td&gt;
&lt;td&gt;83.65&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;참가 모델이 가장 많은 MMLU-Pro(141개)와 GPQA(111개)에서도 1위를 지키고 있어, 경쟁이 가장 치열한 무대와 실무 영역을 함께 아우른다. 1위 보유 상위 조직은 비드래프트 10, 지푸AI 4, 샤오미 3, 딥시크 3, 문샷AI 3 순이다.&lt;/p&gt;

&lt;h2&gt;
  
  
  새로 추가된 1위는 왜 '실무'인가?
&lt;/h2&gt;

&lt;p&gt;지금까지의 1위가 과학·수학·법률 같은 시험 영역이었다면, 이번 두 부문은 기업이 AI를 실제 업무에 투입할 때 가장 먼저 부딪히는 능력이다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IFStruct 98.95%.&lt;/strong&gt; 리퀴드AI(Liquid AI)가 만든 IFStruct는 AI가 요청받은 형식(JSON·YAML) 그대로 데이터를 만들어 내는지를 본다. 항목 개수, 필드 이름, 자료형, 허용값, 숫자 범위까지 조건을 하나라도 어기거나, 요청하지 않은 항목을 하나라도 지어내면 불합격이다. 비드래프트 모델은 2,000문항 가운데 1,979문항을 통과해 98.95%를 기록했다. 종전 1위 Agents-A1(93.25%), 오픈AI gpt-oss-20b(91.95%), 엔비디아 Nemotron-3-Nano(86.80%)를 큰 차이로 앞섰다.&lt;/p&gt;

&lt;p&gt;AI의 출력을 프로그램이 곧바로 읽어 다음 단계로 넘기는 파이프라인에서는 형식이 한 글자만 틀려도 업무가 멈춘다. 아래처럼 스키마 검증을 바로 통과해야 쓸 수 있다.&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;jsonschema&lt;/span&gt;

&lt;span class="n"&gt;schema&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;type&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;object&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;properties&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;name&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;type&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;string&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;age&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;type&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;integer&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;required&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;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;age&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;additionalProperties&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="c1"&gt;# 요청 안 한 항목을 지어내면 불합격
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;out&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="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;          &lt;span class="c1"&gt;# 모델 출력
&lt;/span&gt;&lt;span class="n"&gt;jsonschema&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;validate&lt;/span&gt;&lt;span class="p"&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;loads&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;schema&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# 한 글자만 틀려도 예외
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;ExtractBench 90.29점.&lt;/strong&gt; 라마인덱스(LlamaIndex)가 만든 ExtractBench는 수 쪽에서 190여 쪽에 이르는 PDF 370건에서 필요한 정보를 정확히 뽑아내는 능력을 잰다. 자가개선을 한 번 더 거친 Darwin-180B-RSI-R3가 90.29점으로 1위에 올랐다. 종전 1위는 이 모델의 기반인 알리바바 Qwen3.8-Flash-Next(89.88점)였다.&lt;/p&gt;

&lt;h2&gt;
  
  
  스스로 배우는 AI, RSI는 어떻게 동작하나?
&lt;/h2&gt;

&lt;p&gt;Darwin-180B-RSI는 알리바바의 오픈 모델 Qwen3.8-Flash-Next를 기반으로, 비드래프트의 '모델 수준 재귀적 자가개선(Model-level RSI)' 기술로 성능을 끌어올렸다. 핵심은 세 단계다.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;모델이 검증 가능한 문제를 스스로 푼다.&lt;/li&gt;
&lt;li&gt;정답으로 확인된 자기 풀이만 골라낸다.&lt;/li&gt;
&lt;li&gt;그 풀이만으로 다시 학습한다.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;사람이 쓴 정답이나 풀이가 필요 없고, 검증되지 않은 풀이는 배우지 않아 오류가 강화되지 않는다. 법률이나 문서 추출을 따로 가르치지 않았는데도 이 영역에서 1위에 오른 것은, 검증 가능한 문제를 풀며 익힌 꼼꼼한 추론 습관이 다른 영역으로 옮겨 간 결과로 회사는 보고 있다.&lt;/p&gt;

&lt;h2&gt;
  
  
  ZTC는 어떻게 한 글자도 만들지 않고 판정하나?
&lt;/h2&gt;

&lt;p&gt;AI 에이전트가 사람 대신 메일을 보내고 결제를 하고 코드를 실행하는 시대가 되면서, 틀린 행동을 실행 전에 걸러내는 '판정(decision)' 기술이 새 격전지가 됐다. 통상 방식은 다른 AI에게 "이 답이 맞느냐"를 물어 글로 된 답을 받는다. ZTC(Zero-Token Confidence, 무토큰 확신도)는 다르다. 답을 만든 모델의 내부 상태를 한 번 읽어 정답일 확률을 계산한다. 추가로 생성하는 글자가 0개다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;같은 정확도, 10배 빠른 속도.&lt;/strong&gt; 판정 정확도(AUC)는 ZTC 0.7289, JEV 0.7350으로 통계적으로 같은 수준이다. 판정 1회 시간은 ZTC 0.06초, JEV 0.59초다. 같은 300초 동안 ZTC는 177건, JEV는 135건을 처리했고, 2,000판 대결에서 ZTC가 73.7%를 이겼다.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;데이터가 밖으로 나가지 않는다.&lt;/strong&gt; ZTC는 모델 옆 GPU에서 바로 돌아 외부 API를 왕복하지 않는다. 인터넷이 차단된 폐쇄망에서도 작동해 국방·금융·공공 현장에 적합하다.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;추가 비용이 거의 없다.&lt;/strong&gt; 이미 답을 만든 모델의 내부를 읽기만 한다. Darwin-397B-ZTC는 이 방식으로 자기 답의 정답 여부 판정 정확도를 0.76에서 0.88로 끌어올렸다.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;지표&lt;/th&gt;
&lt;th&gt;플레인&lt;/th&gt;
&lt;th&gt;JEV(외부 API)&lt;/th&gt;
&lt;th&gt;ZTC(비드래프트)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;판정 정확도(AUC)&lt;/td&gt;
&lt;td&gt;없음&lt;/td&gt;
&lt;td&gt;0.7350&lt;/td&gt;
&lt;td&gt;0.7289&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;판정 1회 시간&lt;/td&gt;
&lt;td&gt;0초&lt;/td&gt;
&lt;td&gt;0.591초&lt;/td&gt;
&lt;td&gt;0.0615초&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;300초 처리 건수&lt;/td&gt;
&lt;td&gt;해당 없음&lt;/td&gt;
&lt;td&gt;135건&lt;/td&gt;
&lt;td&gt;177건&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;같은 시기, AI 에이전트의 행동을 판정하는 비드래프트의 체험 앱 Gate Arcade는 허깅페이스 '이주의 스페이스(Spaces of the Week)'에 선정됐다. 약 150만 개 앱 가운데 매주 8개를 고르는 큐레이션으로, 비드래프트는 한 달 새 두 번째로 이름을 올렸다.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Q1. 리더보드 점수는 누가 측정하나?&lt;/strong&gt;&lt;br&gt;
각 제작사가 공식 평가 도구로 측정해 등록한 값이다. 허깅페이스 공인 벤치마크는 측정 방법과 데이터가 공개돼 재현할 수 있다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q2. IFStruct에서 '불합격' 기준은 무엇인가?&lt;/strong&gt;&lt;br&gt;
항목 개수, 필드 이름, 자료형, 허용값, 숫자 범위 중 하나라도 어기거나, 요청하지 않은 항목을 하나라도 지어내면 불합격이다. 2,000문항 중 1,979문항 통과가 98.95%다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q3. ZTC와 JEV의 정확도 차이는 유의미한가?&lt;/strong&gt;&lt;br&gt;
AUC 0.7289 대 0.7350은 통계적으로 같은 수준이다. 대신 판정 1회 시간이 0.06초 대 0.59초로 약 10배 빠르다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q4. ZTC는 폐쇄망에서도 쓸 수 있나?&lt;/strong&gt;&lt;br&gt;
그렇다. 모델 옆 GPU에서 바로 돌아 외부 API 왕복이 없으므로 인터넷이 차단된 환경에서도 작동한다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q5. RSI는 학습을 거듭하면 오류가 쌓이지 않나?&lt;/strong&gt;&lt;br&gt;
정답으로 검증된 자기 풀이만 다시 학습하므로, 검증되지 않은 풀이는 반영되지 않아 오류가 강화되지 않는다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q6. 모델은 어디서 볼 수 있나?&lt;/strong&gt;&lt;br&gt;
huggingface.co/FINAL-Bench/Darwin-180B-RSI 와 huggingface.co/FINAL-Bench/Darwin-180B-RSI-R3 에 공개돼 있다.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/taebong_kim_87fd72f718998"&gt;허깅페이스 리더보드 1위 9개: Darwin-180B-RSI와 재귀적 자가개선(RSI) 개발자 가이드&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>opensource</category>
      <category>huggingface</category>
    </item>
    <item>
      <title>허깅페이스 리더보드 1위 9개: 오픈소스 LLM Darwin-180B-RSI와 재귀적 자가개선(RSI) 개발자 가이드</title>
      <dc:creator>Vidraft_lab</dc:creator>
      <pubDate>Mon, 05 Oct 2026 08:58:20 +0000</pubDate>
      <link>https://dev.to/vidraft_lab/heogingpeiseu-rideobodeu-1wi-9gae-opeunsoseu-llm-darwin-180b-rsiwa-jaegwijeog-jagagaeseonrsi-gaebalja-gaideu-gan</link>
      <guid>https://dev.to/vidraft_lab/heogingpeiseu-rideobodeu-1wi-9gae-opeunsoseu-llm-darwin-180b-rsiwa-jaegwijeog-jagagaeseonrsi-gaebalja-gaideu-gan</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;비드래프트(VIDRAFT)의 오픈소스 LLM &lt;strong&gt;Darwin-180B-RSI&lt;/strong&gt; 계열이 허깅페이스 공인(official) 벤치마크 48개 중 &lt;strong&gt;9개에서 1위&lt;/strong&gt;입니다. 95개 조직 가운데 가장 많고, 다음은 문샷AI·지푸AI(각 4개)입니다.&lt;/li&gt;
&lt;li&gt;새로 추가된 1위는 실무형 두 개입니다. &lt;strong&gt;IFStruct 98.95%&lt;/strong&gt;(구조화 출력, 2,000문항 중 1,979 통과)와 &lt;strong&gt;ExtractBench 90.29&lt;/strong&gt;(PDF 370건 정보 추출, R3 버전)입니다.&lt;/li&gt;
&lt;li&gt;비결은 &lt;strong&gt;모델 수준 재귀적 자가개선(Model-level RSI)&lt;/strong&gt;: 사람이 쓴 정답 없이 검증 가능한 문제를 스스로 풀고, 정답으로 확인된 자기 풀이만 골라 다시 학습합니다.&lt;/li&gt;
&lt;li&gt;같은 팀의 &lt;strong&gt;ZTC&lt;/strong&gt;는 답을 한 글자도 생성하지 않고 판정합니다. 외부 API 판정(JEV)과 정확도는 통계적으로 같고(AUC 0.7289 vs 0.7350), 판정 1회는 0.0615초 vs 0.591초로 약 10배 빠릅니다.&lt;/li&gt;
&lt;li&gt;아래에 리더보드를 직접 조회하는 Python 코드, vLLM·Transformers 실행 코드, FAQ를 정리했습니다. 모든 리더보드 수치는 2026년 10월 5일 허깅페이스 API로 다시 확인했습니다.&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%3D800%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522VIDRAFT%2522%252C%2522Moonshot%2520AI%2522%252C%2522Zhipu%2520AI%2520%2528Z.ai%2529%2522%252C%2522DeepSeek%2522%252C%2522Xiaomi%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2522%252C%2522data%2522%253A%255B9%252C4%252C4%252C3%252C3%255D%252C%2522backgroundColor%2522%253A%255B%2522%25234F46E5%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%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%2522%25EC%25A1%25B0%25EC%25A7%2581%25EB%25B3%2584%2520%25EA%25B3%25B5%25EC%259D%25B8%2520%25EB%25A6%25AC%25EB%258D%2594%25EB%25B3%25B4%25EB%2593%259C%25201%25EC%259C%2584%2520%25EC%2588%2598%2520%25282026-10-05%2529%2522%252C%2522fontSize%2522%253A20%257D%252C%2522plugins%2522%253A%257B%2522datalabels%2522%253A%257B%2522display%2522%253Atrue%252C%2522anchor%2522%253A%2522end%2522%252C%2522align%2522%253A%2522end%2522%252C%2522font%2522%253A%257B%2522weight%2522%253A%2522bold%2522%257D%257D%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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522VIDRAFT%2522%252C%2522Moonshot%2520AI%2522%252C%2522Zhipu%2520AI%2520%2528Z.ai%2529%2522%252C%2522DeepSeek%2522%252C%2522Xiaomi%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2522%252C%2522data%2522%253A%255B9%252C4%252C4%252C3%252C3%255D%252C%2522backgroundColor%2522%253A%255B%2522%25234F46E5%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%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%2522%25EC%25A1%25B0%25EC%25A7%2581%25EB%25B3%2584%2520%25EA%25B3%25B5%25EC%259D%25B8%2520%25EB%25A6%25AC%25EB%258D%2594%25EB%25B3%25B4%25EB%2593%259C%25201%25EC%259C%2584%2520%25EC%2588%2598%2520%25282026-10-05%2529%2522%252C%2522fontSize%2522%253A20%257D%252C%2522plugins%2522%253A%257B%2522datalabels%2522%253A%257B%2522display%2522%253Atrue%252C%2522anchor%2522%253A%2522end%2522%252C%2522align%2522%253A%2522end%2522%252C%2522font%2522%253A%257B%2522weight%2522%253A%2522bold%2522%257D%257D%257D%257D%257D" alt="조직별 허깅페이스 공인 리더보드 1위 수" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  허깅페이스 공인 리더보드 1위 9개는 정확히 무엇인가요?
&lt;/h2&gt;

&lt;p&gt;허깅페이스는 일부 데이터셋을 "공인 벤치마크(benchmark:official)"로 지정하고, 각 데이터셋 페이지에 리더보드를 붙여 둡니다. 모델 제작자는 자기 모델 저장소에 &lt;code&gt;.eval_results/*.yaml&lt;/code&gt; 파일로 점수를 등록하고, 허깅페이스가 이를 모아 순위를 매깁니다. 현재 공인 벤치마크는 48개, 참가 조직은 95개입니다.&lt;/p&gt;

&lt;p&gt;2026년 10월 5일 API 기준 Darwin-180B-RSI 계열이 1위인 9개 보드와 바로 아래 모델은 다음과 같습니다.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;영역&lt;/th&gt;
&lt;th&gt;벤치마크 (데이터셋 ID)&lt;/th&gt;
&lt;th&gt;Darwin 점수&lt;/th&gt;
&lt;th&gt;2위 모델&lt;/th&gt;
&lt;th&gt;2위 점수&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;과학&lt;/td&gt;
&lt;td&gt;GPQA Diamond (&lt;code&gt;Idavidrein/gpqa&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;94.44&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;moonshotai/Kimi-K3&lt;/td&gt;
&lt;td&gt;93.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;지식&lt;/td&gt;
&lt;td&gt;MMLU-Pro (&lt;code&gt;TIGER-Lab/MMLU-Pro&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;88.12&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;MiniMaxAI/MiniMax-M2.1&lt;/td&gt;
&lt;td&gt;88.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;수학&lt;/td&gt;
&lt;td&gt;AIME 2026 (&lt;code&gt;MathArena/aime_2026&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;thinkingmachines/Inkling&lt;/td&gt;
&lt;td&gt;97.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;수학&lt;/td&gt;
&lt;td&gt;HMMT Feb 2026 (&lt;code&gt;MathArena/hmmt_feb_2026&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;100&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;moonshotai/Kimi-K2.6&lt;/td&gt;
&lt;td&gt;92.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;시각 추론&lt;/td&gt;
&lt;td&gt;MMMU-Pro (&lt;code&gt;MMMU/MMMU_Pro&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;79.48&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;moonshotai/Kimi-K2.6&lt;/td&gt;
&lt;td&gt;79.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;법률&lt;/td&gt;
&lt;td&gt;LEXam (&lt;code&gt;LEXam-Benchmark/LEXam&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;68.94&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;deepseek-ai/DeepSeek-R1&lt;/td&gt;
&lt;td&gt;52.41&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;법률&lt;/td&gt;
&lt;td&gt;LEXam-hard (&lt;code&gt;joelniklaus/LEXam-hard&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;45.72&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;thinkingmachines/Inkling&lt;/td&gt;
&lt;td&gt;40.82&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;기업 실무&lt;/td&gt;
&lt;td&gt;ExtractBench (&lt;code&gt;llamaindex/ExtractBench&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;90.29&lt;/strong&gt; (R3)&lt;/td&gt;
&lt;td&gt;Qwen/Qwen3.8-Flash-Next&lt;/td&gt;
&lt;td&gt;89.88&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;기업 실무&lt;/td&gt;
&lt;td&gt;IFStruct (&lt;code&gt;LiquidAI/ifstruct-v1.0&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;98.95&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;InternScience/Agents-A1&lt;/td&gt;
&lt;td&gt;93.25&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;참가 모델이 가장 많은 MMLU-Pro(약 141개)와 GPQA(약 111개)에서도 1위입니다. 경쟁이 가장 붐비는 보드와 실무형 보드를 함께 잡았다는 점이 개발자 입장에서 의미 있는 부분입니다.&lt;/p&gt;

&lt;p&gt;정직하게 덧붙이면, 이 점수들은 모두 제작사가 공식 평가 도구로 측정해 등록한 &lt;strong&gt;자체 측정값&lt;/strong&gt;입니다. 다수결 점수(예: AIME maj@16, GPQA 최대 16샘플 다수결)는 모델 카드에 그렇게 표기되어 있습니다. 숫자를 비교할 때 설정까지 같이 보시길 권합니다.&lt;/p&gt;

&lt;h2&gt;
  
  
  리더보드 순위를 코드로 직접 확인하려면 어떻게 하나요?
&lt;/h2&gt;

&lt;p&gt;블로그 글의 숫자를 믿을 필요 없이, 허깅페이스 공개 API로 바로 확인할 수 있습니다. 토큰도 필요 없습니다.&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;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="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&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;

&lt;span class="c1"&gt;# 1) 공인 벤치마크 목록
&lt;/span&gt;&lt;span class="n"&gt;boards&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;/datasets&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                      &lt;span class="n"&gt;params&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;filter&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;benchmark:official&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;limit&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&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="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;공인 벤치마크 수:&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;boards&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# 2) 보드별 1위 집계
&lt;/span&gt;&lt;span class="n"&gt;firsts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Counter&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;b&lt;/span&gt; &lt;span class="ow"&gt;in&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;rows&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;/datasets/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;b&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="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="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="ow"&gt;not&lt;/span&gt; &lt;span class="nf"&gt;isinstance&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="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;continue&lt;/span&gt;
    &lt;span class="n"&gt;top&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rows&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="c1"&gt;# rank 1
&lt;/span&gt;    &lt;span class="n"&gt;firsts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;top&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="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;0&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="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;top&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="nf"&gt;startswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;FINAL-Bench/&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;r2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rows&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;if&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="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;else&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="n"&gt;b&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="n"&gt;top&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="n"&gt;top&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="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;| 2위&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;r2&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;modelId&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;r2&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;value&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="n"&gt;firsts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;most_common&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="c1"&gt;# 2026-10-05 실행 결과: FINAL-Bench 9, moonshotai 4, zai-org 4, XiaomiMiMo 3, deepseek-ai 3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;각 행에는 &lt;code&gt;rank&lt;/code&gt;, &lt;code&gt;value&lt;/code&gt;, &lt;code&gt;modelId&lt;/code&gt;, &lt;code&gt;source&lt;/code&gt;(모델 카드 링크), &lt;code&gt;verified&lt;/code&gt; 같은 필드가 들어 있습니다. 사내 모델 선정 대시보드를 만들거나, 특정 벤치마크의 1위 변동을 주기적으로 감시하는 데 그대로 쓸 수 있습니다.&lt;/p&gt;

&lt;h2&gt;
  
  
  IFStruct 98.95%는 개발자에게 왜 중요한가요?
&lt;/h2&gt;

&lt;p&gt;IFStruct는 미국 리퀴드AI(Liquid AI)가 만든 구조화 출력 벤치마크입니다. 실제 사용자가 요청하는 다양한 표현으로 JSON 또는 YAML 스키마를 지정하고, 모델이 그대로 지키는지 문항마다 합격/불합격으로 채점합니다. 기준이 꽤 엄격합니다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;항목 개수(또는 범위), 감싸는 키, JSON과 YAML 구분&lt;/li&gt;
&lt;li&gt;코드 펜스를 요구하거나 금지하는 조건, "설명 없이"라는 요청&lt;/li&gt;
&lt;li&gt;모든 필드의 자료형, 허용값(enum), 숫자 범위, 중첩 리스트 길이&lt;/li&gt;
&lt;li&gt;스키마가 요구하지 않은 필드를 하나라도 지어내면 불합격&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;제약 디코딩(constrained decoding)을 쓰지 않으므로 모델 자체의 규율만 측정됩니다. Darwin-180B-RSI는 공식 하네스 기본값(temperature 0, 최대 16,000토큰, 생각 켬)으로 2,000문항 중 1,979문항을 통과했습니다. 한 문항은 하네스의 120초 읽기 시간 제한에 걸려 불합격 처리되었으니, 이 숫자는 보수적인 값입니다. 같은 모델에서 생각 모드를 끄면 89.7%로 내려갑니다. 마지막 몇 개의 제약 위반을 잡아내는 것이 바로 추론 단계라는 뜻입니다.&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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Darwin-180B-RSI%2522%252C%2522Agents-A1%2522%252C%2522gpt-oss-20b%2522%252C%2522Nemotron-3-Nano-30B%2522%252C%2522Granite%25204.1%25208B%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2522%252C%2522data%2522%253A%255B98.95%252C93.25%252C91.95%252C86.8%252C68.45%255D%252C%2522backgroundColor%2522%253A%255B%2522%25234F46E5%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%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%2522IFStruct%2520%25EA%25B5%25AC%25EC%25A1%25B0%25ED%2599%2594%2520%25EC%25B6%259C%25EB%25A0%25A5%2520%25EC%25A0%2595%25ED%2599%2595%25EB%258F%2584%2520%2528%2525%2529%2522%252C%2522fontSize%2522%253A20%257D%252C%2522plugins%2522%253A%257B%2522datalabels%2522%253A%257B%2522display%2522%253Atrue%252C%2522anchor%2522%253A%2522end%2522%252C%2522align%2522%253A%2522end%2522%252C%2522font%2522%253A%257B%2522weight%2522%253A%2522bold%2522%257D%257D%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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522horizontalBar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Darwin-180B-RSI%2522%252C%2522Agents-A1%2522%252C%2522gpt-oss-20b%2522%252C%2522Nemotron-3-Nano-30B%2522%252C%2522Granite%25204.1%25208B%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2522%252C%2522data%2522%253A%255B98.95%252C93.25%252C91.95%252C86.8%252C68.45%255D%252C%2522backgroundColor%2522%253A%255B%2522%25234F46E5%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%2522%252C%2522%25239CA3AF%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%2522IFStruct%2520%25EA%25B5%25AC%25EC%25A1%25B0%25ED%2599%2594%2520%25EC%25B6%259C%25EB%25A0%25A5%2520%25EC%25A0%2595%25ED%2599%2595%25EB%258F%2584%2520%2528%2525%2529%2522%252C%2522fontSize%2522%253A20%257D%252C%2522plugins%2522%253A%257B%2522datalabels%2522%253A%257B%2522display%2522%253Atrue%252C%2522anchor%2522%253A%2522end%2522%252C%2522align%2522%253A%2522end%2522%252C%2522font%2522%253A%257B%2522weight%2522%253A%2522bold%2522%257D%257D%257D%257D%257D" alt="IFStruct 순위" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;에이전트 파이프라인이나 백오피스 자동화에서 모델의 출력은 사람이 아니라 코드가 읽습니다. 자료형 하나, 지어낸 키 하나에 &lt;code&gt;json.loads&lt;/code&gt;나 스키마 검증이 실패하고 파이프라인이 멈춥니다. 재시도 루프와 수리(repair) 로직을 줄일 수 있다는 점에서, 98.95%와 93.25%의 차이는 운영 비용의 차이입니다.&lt;/p&gt;

&lt;h2&gt;
  
  
  ExtractBench 90.29는 어떻게 나왔나요?
&lt;/h2&gt;

&lt;p&gt;ExtractBench는 라마인덱스(LlamaIndex)가 만든 문서 정보 추출 벤치마크입니다. 몇 쪽짜리 서식부터 190여 쪽에 이르는 파일까지 PDF 370건에서 구조화된 필드를 뽑아야 합니다. 자가개선을 한 번 더 거친 &lt;strong&gt;Darwin-180B-RSI-R3&lt;/strong&gt;가 90.29점으로 1위에 올랐고, 종전 1위는 이 모델의 기반인 알리바바 Qwen3.8-Flash-Next(89.88), 그다음은 Qwen3.8-27B(89.75)입니다. 이 실행은 공식 하네스로 생각 모드를 끈 상태였고, 제출 노트에 그렇게 명시했습니다.&lt;/p&gt;

&lt;p&gt;기반 모델을 자기 계보의 다음 세대가 넘었다는 점이 RSI의 효과를 가장 직접적으로 보여 줍니다.&lt;/p&gt;

&lt;h2&gt;
  
  
  재귀적 자가개선(Model-level RSI)은 어떻게 작동하나요?
&lt;/h2&gt;

&lt;p&gt;Darwin-180B-RSI는 알리바바의 오픈 모델 &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt;에서 출발합니다. 그 위에 비드래프트의 &lt;strong&gt;모델 수준 재귀적 자가개선(Model-level RSI)&lt;/strong&gt;을 적용했습니다. 원리는 세 줄로 요약됩니다.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;모델이 &lt;strong&gt;검증 가능한 문제&lt;/strong&gt;를 스스로 풉니다.&lt;/li&gt;
&lt;li&gt;풀이 중 &lt;strong&gt;정답으로 확인된 자기 풀이만&lt;/strong&gt; 남깁니다.&lt;/li&gt;
&lt;li&gt;그 풀이로 &lt;strong&gt;다시 학습&lt;/strong&gt;하고, 이 과정을 반복합니다.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;사람이 쓴 정답 풀이나 추론 흔적은 쓰지 않습니다. 검증되지 않은 풀이는 학습 데이터에 들어가지 않기 때문에, 모델이 자기 오류를 강화하는 일이 구조적으로 막힙니다. R3는 이 반복을 한 바퀴 더 돈 결과입니다.&lt;/p&gt;

&lt;p&gt;흥미로운 점은 법률이나 문서 추출을 따로 가르치지 않았는데도 LEXam, LEXam-hard, ExtractBench에서 1위가 나왔다는 것입니다. 회사는 검증 가능한 문제를 풀며 익힌 꼼꼼한 단계별 추론 습관이 다른 영역으로 옮겨 간 결과로 보고 있습니다.&lt;/p&gt;

&lt;p&gt;"Model-level"이라는 이름은 작업틀(하네스) 쪽 프롬프트나 도구를 고치는 방식과 구분하기 위한 것입니다. 바뀌는 것은 매뉴얼이 아니라 모델의 가중치, 즉 두뇌 자체입니다.&lt;/p&gt;

&lt;h2&gt;
  
  
  Darwin-180B-RSI를 직접 실행하려면 어떻게 하나요?
&lt;/h2&gt;

&lt;p&gt;아래 코드는 &lt;a href="https://huggingface.co/FINAL-Bench/Darwin-180B-RSI" rel="noopener noreferrer"&gt;모델 카드&lt;/a&gt;의 Quickstart를 그대로 옮긴 것입니다. 사양을 먼저 확인하세요.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;구조: Mixture-of-Experts, 하이브리드 어텐션(선형 어텐션 36층 + 완전 어텐션 12층)&lt;/li&gt;
&lt;li&gt;전문가 512개 중 토큰당 10개 활성 + 공유 전문가&lt;/li&gt;
&lt;li&gt;컨텍스트 262,144토큰, 이미지+텍스트 입력, 텍스트 출력&lt;/li&gt;
&lt;li&gt;bf16 기준 약 336GB&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  vLLM으로 서빙 (B200 8장 또는 동급)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vllm serve FINAL-Bench/Darwin-180B-RSI &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--tensor-parallel-size&lt;/span&gt; 8 &lt;span class="nt"&gt;--enable-expert-parallel&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--max-model-len&lt;/span&gt; 135168 &lt;span class="nt"&gt;--trust-remote-code&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  OpenAI 호환 API로 호출
&lt;/h3&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;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;
&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base_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;http://localhost:8000/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&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="n"&gt;r&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="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;FINAL-Bench/Darwin-180B-RSI&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&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;role&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;user&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;content&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;Explain why the sky is blue in two sentences.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;
    &lt;span class="n"&gt;temperature&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;top_p&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.95&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;extra_body&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;top_k&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&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="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;choices&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="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Transformers로 로드
&lt;/h3&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;transformers&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;AutoProcessor&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;AutoModelForImageTextToText&lt;/span&gt;
&lt;span class="n"&gt;model_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;FINAL-Bench/Darwin-180B-RSI&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;processor&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AutoProcessor&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_pretrained&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;AutoModelForImageTextToText&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_pretrained&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;torch_dtype&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;auto&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;device_map&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;auto&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;실전 팁 두 가지입니다. 첫째, 이것은 생각(thinking) 모델입니다. 어려운 추론에는 32K에서 131K토큰의 생각 예산을 권장하며, 짧게 자르면 정확도가 떨어집니다. 둘째, 모델 카드의 평가 설정은 temperature 1.0, top_p 0.95, top_k 20입니다. 다만 IFStruct처럼 형식이 중요한 작업은 공식 하네스가 temperature 0을 썼다는 점도 참고하세요.&lt;/p&gt;

&lt;h2&gt;
  
  
  ZTC는 무엇이고 JEV와 무엇이 다른가요?
&lt;/h2&gt;

&lt;p&gt;AI 에이전트가 메일을 보내고, 결제를 하고, 코드를 실행하는 시대에는 &lt;strong&gt;틀린 행동을 실행 전에 거르는 판정(decision)&lt;/strong&gt; 기술이 중요해졌습니다. 타입세이프(Typesafe)의 판정 API &lt;strong&gt;JEV&lt;/strong&gt;가 이 분야의 표준 규격을 만들었고, 이를 평가하는 Decision Index에는 70개가 넘는 모델이 올라 있습니다. 9월 30일에는 클라우드플레어가 JEV 호환 판정 모델 Clef를 공개했습니다.&lt;/p&gt;

&lt;p&gt;비드래프트의 &lt;strong&gt;ZTC(Zero-Token Confidence, 무토큰 확신도)&lt;/strong&gt;는 접근이 다릅니다. 다른 AI에게 "이 답이 맞나요?"를 물어 글로 된 답을 받는 대신, 답을 만든 모델의 내부 상태를 한 번 읽어 정답일 확률을 계산합니다. 추가로 생성하는 토큰이 0개입니다.&lt;/p&gt;

&lt;p&gt;이를 직접 보여 주는 앱이 &lt;strong&gt;Gate Arcade&lt;/strong&gt;이고, 9월 28일 주간 허깅페이스 "이주의 스페이스(Spaces of the Week)"에 선정되었습니다. 에이전트가 행동을 제안하면 관문이 실행 또는 보류를 정합니다. 맞는 행동 실행 +1, 틀린 행동 실행 -1, 보류 0점입니다. 2026년 9월 24일 기준, 폐쇄망 배치 실측값은 다음과 같습니다.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;판정 없음&lt;/th&gt;
&lt;th&gt;JEV (외부 API)&lt;/th&gt;
&lt;th&gt;ZTC (비드래프트)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;판정 정확도 (AUC)&lt;/td&gt;
&lt;td&gt;없음&lt;/td&gt;
&lt;td&gt;0.7350&lt;/td&gt;
&lt;td&gt;0.7289&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;판정 1회 시간&lt;/td&gt;
&lt;td&gt;0초&lt;/td&gt;
&lt;td&gt;0.591초&lt;/td&gt;
&lt;td&gt;0.0615초&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;300초 처리 건수&lt;/td&gt;
&lt;td&gt;해당 없음&lt;/td&gt;
&lt;td&gt;135건&lt;/td&gt;
&lt;td&gt;177건&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%3D800%26h%3D420%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522JEV%2520%2528%25EC%2599%25B8%25EB%25B6%2580%2520API%2529%2522%252C%2522ZTC%2520%2528%25EB%25B9%2584%25EB%2593%259C%25EB%259E%2598%25ED%2594%2584%25ED%258A%25B8%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2522%252C%2522data%2522%253A%255B0.591%252C0.0615%255D%252C%2522backgroundColor%2522%253A%255B%2522%25239CA3AF%2522%252C%2522%25234F46E5%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%2522%25ED%258C%2590%25EC%25A0%2595%25201%25ED%259A%258C%2520%25EC%258B%259C%25EA%25B0%2584%2520%2528%25EC%25B4%2588%2529%252C%2520%25EB%2582%25AE%25EC%259D%2584%25EC%2588%2598%25EB%25A1%259D%2520%25EC%25A2%258B%25EC%259D%258C%2522%252C%2522fontSize%2522%253A20%257D%252C%2522plugins%2522%253A%257B%2522datalabels%2522%253A%257B%2522display%2522%253Atrue%252C%2522anchor%2522%253A%2522end%2522%252C%2522align%2522%253A%2522end%2522%252C%2522font%2522%253A%257B%2522weight%2522%253A%2522bold%2522%257D%257D%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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522JEV%2520%2528%25EC%2599%25B8%25EB%25B6%2580%2520API%2529%2522%252C%2522ZTC%2520%2528%25EB%25B9%2584%25EB%2593%259C%25EB%259E%2598%25ED%2594%2584%25ED%258A%25B8%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522%2522%252C%2522data%2522%253A%255B0.591%252C0.0615%255D%252C%2522backgroundColor%2522%253A%255B%2522%25239CA3AF%2522%252C%2522%25234F46E5%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%2522%25ED%258C%2590%25EC%25A0%2595%25201%25ED%259A%258C%2520%25EC%258B%259C%25EA%25B0%2584%2520%2528%25EC%25B4%2588%2529%252C%2520%25EB%2582%25AE%25EC%259D%2584%25EC%2588%2598%25EB%25A1%259D%2520%25EC%25A2%258B%25EC%259D%258C%2522%252C%2522fontSize%2522%253A20%257D%252C%2522plugins%2522%253A%257B%2522datalabels%2522%253A%257B%2522display%2522%253Atrue%252C%2522anchor%2522%253A%2522end%2522%252C%2522align%2522%253A%2522end%2522%252C%2522font%2522%253A%257B%2522weight%2522%253A%2522bold%2522%257D%257D%257D%257D%257D" alt="ZTC와 JEV 판정 시간 비교" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;정확도는 통계적으로 같은 수준이고 속도는 약 10배입니다. 2,000판 대결에서 ZTC가 73.7%를 이겼습니다. 판정을 위해 데이터를 밖으로 보낼 필요가 없어 인터넷이 막힌 폐쇄망에서도 돌아갑니다. 같은 방식으로 Darwin-397B-ZTC는 자기 답의 정답 여부 판정 정확도를 0.76에서 0.88로 끌어올렸습니다.&lt;/p&gt;

&lt;p&gt;한계도 분명합니다. 모델 내부를 읽어야 하므로 API로만 쓰는 폐쇄형 모델에는 적용할 수 없고, 모델마다 판독기를 맞춰야 합니다. 그래서 최종 판정자라기보다 빠르고 싼 1차 관문으로 쓰는 것이 맞습니다. 참고로 Darwin-180B-RSI 저장소에 함께 들어 있는 ZTC 판독기는 모델 카드에 "초기 공개(early release)"로 표기되어 있으니, 높은 위험의 행동에는 카드 설명을 확인하고 쓰세요.&lt;/p&gt;

&lt;h2&gt;
  
  
  자주 묻는 질문 (FAQ)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Q1. 허깅페이스 리더보드 1위 9개는 어디서 확인하나요?&lt;/strong&gt;&lt;br&gt;
각 데이터셋 페이지(예: &lt;code&gt;huggingface.co/datasets/LiquidAI/ifstruct-v1.0&lt;/code&gt;)의 리더보드 탭이나, 위의 Python 코드처럼 &lt;code&gt;https://huggingface.co/api/datasets/{id}/leaderboard&lt;/code&gt;를 호출하면 됩니다. 48개 보드를 한 화면에 모은 스페이스도 있습니다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q2. 점수는 누가 측정했나요? 검증된 값인가요?&lt;/strong&gt;&lt;br&gt;
허깅페이스 공인 리더보드는 제작사가 공식 평가 도구로 측정해 &lt;code&gt;.eval_results&lt;/code&gt;로 등록하는 구조입니다. Darwin의 점수도 자체 측정값이며, 샘플 수와 생각 예산 같은 설정을 모델 카드에 모두 공개했습니다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q3. 재귀적 자가개선(RSI)에 사람이 만든 정답이 정말 전혀 안 들어가나요?&lt;/strong&gt;&lt;br&gt;
네. 모델이 검증 가능한 문제를 풀고, 정답으로 확인된 자기 풀이만 남겨 다시 학습합니다. 사람이 쓴 풀이나 추론 흔적은 쓰지 않습니다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q4. 오픈소스 LLM으로 바로 써도 되나요? 하드웨어는 얼마나 필요한가요?&lt;/strong&gt;&lt;br&gt;
가중치는 허깅페이스에 공개되어 있습니다. bf16 기준 약 336GB이므로 모델 카드는 B200 8장(또는 동급)에서 vLLM 텐서 병렬 8, 전문가 병렬을 권장합니다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q5. 구조화 출력(JSON) 작업에 왜 이 모델인가요?&lt;/strong&gt;&lt;br&gt;
제약 디코딩 없이 IFStruct 98.95%를 기록했습니다. 2위(93.25%)보다 5.7%p 높아, 출력 수리와 재시도 로직을 줄이는 데 유리합니다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q6. ZTC를 우리 서비스에 붙이려면?&lt;/strong&gt;&lt;br&gt;
모델 내부 상태를 읽을 수 있는 오픈 웨이트 모델이어야 합니다. Gate Arcade에서 동작 방식을 먼저 체험해 보고, 모델 카드의 &lt;code&gt;ztc/&lt;/code&gt; 폴더 예제를 참고하세요.&lt;/p&gt;

&lt;h2&gt;
  
  
  링크
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;비드래프트: &lt;a href="https://vidraft.net" rel="noopener noreferrer"&gt;https://vidraft.net&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;모델: &lt;a href="https://huggingface.co/FINAL-Bench/Darwin-180B-RSI" rel="noopener noreferrer"&gt;https://huggingface.co/FINAL-Bench/Darwin-180B-RSI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;R3 (ExtractBench 1위): &lt;a href="https://huggingface.co/FINAL-Bench/Darwin-180B-RSI-R3" rel="noopener noreferrer"&gt;https://huggingface.co/FINAL-Bench/Darwin-180B-RSI-R3&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Gate Arcade (이주의 스페이스): &lt;a href="https://huggingface.co/spaces/FINAL-Bench/gate-tetris" rel="noopener noreferrer"&gt;https://huggingface.co/spaces/FINAL-Bench/gate-tetris&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;시험을 잘 푸는 모델에서, 정해진 형식대로 일하는 모델로. 그리고 그 모델이 행동하기 전에 확신 없는 순간을 0.06초 만에 잡아내는 관문까지. 직접 돌려 보시고 결과를 댓글로 알려 주세요.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>opensource</category>
      <category>huggingface</category>
    </item>
    <item>
      <title>Who Leads Hugging Face's Official Benchmarks? Concentration, Gaps and Hidden Entries (Measured 2026-10-06)</title>
      <dc:creator>QuantID</dc:creator>
      <pubDate>Mon, 05 Oct 2026 08:57:14 +0000</pubDate>
      <link>https://dev.to/quantid/who-leads-hugging-faces-official-benchmarks-a-measurement-of-concentration-gaps-and-hidden-64k</link>
      <guid>https://dev.to/quantid/who-leads-hugging-faces-official-benchmarks-a-measurement-of-concentration-gaps-and-hidden-64k</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;On 2026-10-06 we read every dataset tagged &lt;code&gt;benchmark:official&lt;/code&gt; from the public Hugging Face Hub API, and every leaderboard attached to those datasets, twice: once in the default view and once with &lt;code&gt;base_model=false&lt;/code&gt;. Every number below is a reading taken on that date, and about 40 lines of Python reproduce it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;48&lt;/strong&gt; official benchmark datasets, &lt;strong&gt;44&lt;/strong&gt; with at least one leaderboard entry.&lt;/li&gt;
&lt;li&gt;Default view: &lt;strong&gt;1,024&lt;/strong&gt; entries from &lt;strong&gt;95&lt;/strong&gt; organizations across &lt;strong&gt;411&lt;/strong&gt; distinct models.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;top 5&lt;/strong&gt; organizations hold &lt;strong&gt;40.3%&lt;/strong&gt; of visible entries, the &lt;strong&gt;top 10&lt;/strong&gt; hold &lt;strong&gt;59.0%&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Full population (with &lt;code&gt;base_model=false&lt;/code&gt;): &lt;strong&gt;1,479&lt;/strong&gt; entries, &lt;strong&gt;161&lt;/strong&gt; namespaces. &lt;strong&gt;Gini 0.709&lt;/strong&gt;, HHI 0.0369.&lt;/li&gt;
&lt;li&gt;Median relative gap between #1 and #2: &lt;strong&gt;3.69%&lt;/strong&gt;. On &lt;strong&gt;9 of 43&lt;/strong&gt; comparable boards the gap is under 1%.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;455 entries (30.8%)&lt;/strong&gt; never appear in the default view because the board hides models that declare a &lt;code&gt;base_model&lt;/code&gt;. &lt;strong&gt;34 of 44&lt;/strong&gt; boards are affected.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Many organizations take part, but entry counts are uneven. On about one board in five the top two are close enough that the order could flip on a rerun, and nearly a third of all submissions only show up if you change a query parameter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why measure benchmark leaderboards instead of ranking them?
&lt;/h2&gt;

&lt;p&gt;QuantID works on measurement and diagnostics, so we treat a leaderboard as an instrument rather than a scoreboard. A leaderboard is a fixed test, a scoring rule and a published ordering. Like any instrument it has a resolution, a bias and a display layer that can hide part of the signal. Most writing about leaderboards asks who is first. We ask four questions about the instrument itself:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How many independent parties actually participate?&lt;/li&gt;
&lt;li&gt;How unequal is that participation?&lt;/li&gt;
&lt;li&gt;How far apart are the leaders, compared with plausible run-to-run noise?&lt;/li&gt;
&lt;li&gt;How much of the data is filtered away before a human sees it?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hugging Face lets model owners attach evaluation results to a model repository through &lt;code&gt;.eval_results/*.yaml&lt;/code&gt; files. Datasets tagged as official benchmarks collect those files into a board. The whole system answers to a public API, so it can be audited like any other measurement pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  What data did we read?
&lt;/h2&gt;

&lt;p&gt;Three public calls, no authentication:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GET https://huggingface.co/api/datasets?filter=benchmark:official&amp;amp;limit=200
GET https://huggingface.co/api/datasets/{id}/leaderboard
GET https://huggingface.co/api/datasets/{id}/leaderboard?base_model=false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each row carries &lt;code&gt;rank&lt;/code&gt;, &lt;code&gt;value&lt;/code&gt;, &lt;code&gt;modelId&lt;/code&gt;, &lt;code&gt;lower_is_better&lt;/code&gt;, a &lt;code&gt;source&lt;/code&gt; link and author metadata. We define the &lt;strong&gt;organization&lt;/strong&gt; of an entry as the namespace before the slash in &lt;code&gt;modelId&lt;/code&gt; (so &lt;code&gt;Qwen/Qwen3.8-Flash-Next&lt;/code&gt; belongs to &lt;code&gt;Qwen&lt;/code&gt;). User namespaces count as organizations. We do not merge related accounts: the API does not say which accounts belong together, and guessing would inject our own bias into the measurement.&lt;/p&gt;

&lt;p&gt;For each board, the larger of the two responses is the full population (in practice the &lt;code&gt;base_model=false&lt;/code&gt; response). The default response is the visible population.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Quantity&lt;/th&gt;
&lt;th&gt;Default view&lt;/th&gt;
&lt;th&gt;Full population&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Benchmark datasets&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Boards with entries&lt;/td&gt;
&lt;td&gt;44&lt;/td&gt;
&lt;td&gt;44&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entries&lt;/td&gt;
&lt;td&gt;1,024&lt;/td&gt;
&lt;td&gt;1,479&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Distinct models&lt;/td&gt;
&lt;td&gt;411&lt;/td&gt;
&lt;td&gt;647&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Distinct organizations&lt;/td&gt;
&lt;td&gt;95&lt;/td&gt;
&lt;td&gt;161&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;New YAML files are merged daily, so the boards keep changing. Treat every number here as a snapshot, not a constant.&lt;/p&gt;

&lt;h2&gt;
  
  
  How concentrated is AI benchmark participation?
&lt;/h2&gt;

&lt;p&gt;"Concentration" covers two separate questions: who submits, and who wins.&lt;/p&gt;

&lt;p&gt;In the default view the five largest submitters are Qwen (136), zai-org (84), deepseek-ai (65), moonshotai (65) and nvidia (63). Together those five hold &lt;strong&gt;40.3%&lt;/strong&gt; of the 1,024 visible entries, and the top ten hold &lt;strong&gt;59.0%&lt;/strong&gt;. Entry volume mostly tracks how many model sizes a lab ships; it says little about quality.&lt;/p&gt;

&lt;p&gt;Across the full population the inequality is easier to summarize with two numbers that seem to disagree:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Gini (entries by org)&lt;/td&gt;
&lt;td&gt;0.709&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HHI&lt;/td&gt;
&lt;td&gt;0.0369&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Effective number of orgs (1/HHI)&lt;/td&gt;
&lt;td&gt;about 27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Orgs appearing on exactly one board&lt;/td&gt;
&lt;td&gt;86 of 161&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;In antitrust terms an HHI of 0.0369 is unconcentrated (below 0.15) because no single organization holds a large slice; the largest, Qwen, has 190 of 1,479 entries (12.8%). A Gini of 0.709 says the distribution is still very unequal. The long tail explains both readings: more than half of all organizations appear exactly once, while a few large labs submit many model sizes to many boards.&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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522line%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%25220%2525%2522%252C%252210%2525%2522%252C%252220%2525%2522%252C%252230%2525%2522%252C%252240%2525%2522%252C%252250%2525%2522%252C%252260%2525%2522%252C%252270%2525%2522%252C%252280%2525%2522%252C%252290%2525%2522%252C%2522100%2525%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Lorenz%2520curve%2520%2528entries%2520by%2520org%2529%2522%252C%2522data%2522%253A%255B0.1%252C1.1%252C2.2%252C3.4%252C5.0%252C7.1%252C10.2%252C15.2%252C24.1%252C38.6%252C100.0%255D%252C%2522borderColor%2522%253A%2522%25233b5bdb%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%2522Perfect%2520equality%2522%252C%2522data%2522%253A%255B0%252C10%252C20%252C30%252C40%252C50%252C60%252C70%252C80%252C90%252C100%255D%252C%2522borderColor%2522%253A%2522%2523adb5bd%2522%252C%2522borderDash%2522%253A%255B5%252C5%255D%252C%2522fill%2522%253Afalse%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Cumulative%2520share%2520of%2520entries%2520vs%2520share%2520of%2520orgs%2520%2528Gini%25200.709%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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522line%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%25220%2525%2522%252C%252210%2525%2522%252C%252220%2525%2522%252C%252230%2525%2522%252C%252240%2525%2522%252C%252250%2525%2522%252C%252260%2525%2522%252C%252270%2525%2522%252C%252280%2525%2522%252C%252290%2525%2522%252C%2522100%2525%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Lorenz%2520curve%2520%2528entries%2520by%2520org%2529%2522%252C%2522data%2522%253A%255B0.1%252C1.1%252C2.2%252C3.4%252C5.0%252C7.1%252C10.2%252C15.2%252C24.1%252C38.6%252C100.0%255D%252C%2522borderColor%2522%253A%2522%25233b5bdb%2522%252C%2522fill%2522%253Afalse%257D%252C%257B%2522label%2522%253A%2522Perfect%2520equality%2522%252C%2522data%2522%253A%255B0%252C10%252C20%252C30%252C40%252C50%252C60%252C70%252C80%252C90%252C100%255D%252C%2522borderColor%2522%253A%2522%2523adb5bd%2522%252C%2522borderDash%2522%253A%255B5%252C5%255D%252C%2522fill%2522%253Afalse%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Cumulative%2520share%2520of%2520entries%2520vs%2520share%2520of%2520orgs%2520%2528Gini%25200.709%2529%2522%257D%257D%257D" alt="Lorenz curve of leaderboard entries by organization" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reporting both indicators keeps "no monopoly" from being read as "equal participation". They are answers to different questions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who actually wins?
&lt;/h3&gt;

&lt;p&gt;We find the #1 entry of each board by sorting on &lt;code&gt;value&lt;/code&gt;: descending by default, ascending when &lt;code&gt;lower_is_better&lt;/code&gt; is true. Across 44 boards, &lt;strong&gt;24 distinct organizations&lt;/strong&gt; hold at least one #1 position. The most frequent holders in this snapshot were FINAL-Bench (9 boards), zai-org (4), deepseek-ai (3) and moonshotai (3), then XiaomiMiMo, ornith-ai, tsinghua-sigs-robot-lab and tencent with 2 each. Leadership is spread across roughly two dozen teams, and the biggest submitters are mostly not the most frequent winners: Qwen has the most entries overall but holds the top spot on only one board in this reading.&lt;/p&gt;

&lt;h2&gt;
  
  
  How close are the top two models on a typical benchmark?
&lt;/h2&gt;

&lt;p&gt;Concentration tells you who shows up. Competitiveness tells you whether the order at the top means anything. For each board with at least two entries we compute the &lt;strong&gt;relative gap&lt;/strong&gt; between #1 and #2:&lt;/p&gt;

&lt;p&gt;$$g = \frac{|v_1 - v_2|}{|v_1|} \times 100\%$$&lt;/p&gt;

&lt;p&gt;A relative measure lets us compare boards scored in percent, in error rate or in arbitrary units. Measured over 43 comparable boards, the median gap is &lt;strong&gt;3.69%&lt;/strong&gt;, and the distribution is wide:&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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522%253C1%2525%2522%252C%25221-2%2525%2522%252C%25222-5%2525%2522%252C%25225-10%2525%2522%252C%252210-20%2525%2522%252C%252220-50%2525%2522%252C%2522%253E50%2525%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Boards%2522%252C%2522data%2522%253A%255B9%252C5%252C10%252C9%252C6%252C3%252C1%255D%252C%2522backgroundColor%2522%253A%2522%25235c7cfa%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Relative%2520gap%2520between%2520%25231%2520and%2520%25232%2520%252843%2520boards%252C%2520median%25203.69%2525%2529%2522%257D%252C%2522legend%2522%253A%257B%2522display%2522%253Afalse%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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522%253C1%2525%2522%252C%25221-2%2525%2522%252C%25222-5%2525%2522%252C%25225-10%2525%2522%252C%252210-20%2525%2522%252C%252220-50%2525%2522%252C%2522%253E50%2525%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Boards%2522%252C%2522data%2522%253A%255B9%252C5%252C10%252C9%252C6%252C3%252C1%255D%252C%2522backgroundColor%2522%253A%2522%25235c7cfa%2522%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%2522Relative%2520gap%2520between%2520%25231%2520and%2520%25232%2520%252843%2520boards%252C%2520median%25203.69%2525%2529%2522%257D%252C%2522legend%2522%253A%257B%2522display%2522%253Afalse%257D%257D%257D" alt="Histogram of relative gap between #1 and #2" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why does a gap under 1% matter? Most of these benchmarks have a few hundred to a few thousand items. For a binomial accuracy $p$ on $n$ items the standard error is $\sqrt{p(1-p)/n}$. At $p = 0.8$ and $n = 1{,}000$ that is about 1.3 percentage points, or roughly 1.6% in relative terms. Self-reported runs also differ in sampling temperature, prompt template and harness. With all that, a lead under 1% usually cannot be told apart from a tie, so on about one board in five the current #1 could change on a rerun. At the other end, a handful of boards show leads above 20%; that usually means a genuinely new capability, a board with very few entries, or entries scored under different conditions. A large gap is a reason to open the source link, not a conclusion by itself. Our rule for any ranking: report the gap with an uncertainty estimate (2 SE or a bootstrap interval) and call it a tie when the interval contains zero.&lt;/p&gt;

&lt;h2&gt;
  
  
  What share of Hugging Face leaderboard entries are hidden by default?
&lt;/h2&gt;

&lt;p&gt;The default &lt;code&gt;/leaderboard&lt;/code&gt; response, and the default web view, leaves out entries from models whose card declares a &lt;code&gt;base_model&lt;/code&gt;. That removes fine-tunes, merges, quantized variants and other derivative releases. Passing &lt;code&gt;base_model=false&lt;/code&gt; brings them back.&lt;/p&gt;

&lt;p&gt;$$\text{hidden share} = 1 - \frac{\sum_b |L_b^{default}|}{\sum_b |L_b^{full}|}$$&lt;/p&gt;

&lt;p&gt;Measured: &lt;strong&gt;455 of 1,479 entries (30.8%)&lt;/strong&gt; are hidden in the default view, and &lt;strong&gt;34 of 44&lt;/strong&gt; boards hide at least one entry.&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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Visible%2520by%2520default%2522%252C%2522Hidden%2520%2528base_model%2520filter%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Entries%2522%252C%2522data%2522%253A%255B1024%252C455%255D%252C%2522backgroundColor%2522%253A%255B%2522%25233b5bdb%2522%252C%2522%2523e8590c%2522%255D%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%25221%252C479%2520entries%253A%2520455%2520%252830.8%2525%2529%2520hidden%2520in%2520default%2520view%252C%252034%2520of%252044%2520boards%2522%257D%252C%2522legend%2522%253A%257B%2522display%2522%253Afalse%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%26bkg%3Dwhite%26c%3D%257B%2522type%2522%253A%2522bar%2522%252C%2522data%2522%253A%257B%2522labels%2522%253A%255B%2522Visible%2520by%2520default%2522%252C%2522Hidden%2520%2528base_model%2520filter%2529%2522%255D%252C%2522datasets%2522%253A%255B%257B%2522label%2522%253A%2522Entries%2522%252C%2522data%2522%253A%255B1024%252C455%255D%252C%2522backgroundColor%2522%253A%255B%2522%25233b5bdb%2522%252C%2522%2523e8590c%2522%255D%257D%255D%257D%252C%2522options%2522%253A%257B%2522title%2522%253A%257B%2522display%2522%253Atrue%252C%2522text%2522%253A%25221%252C479%2520entries%253A%2520455%2520%252830.8%2525%2529%2520hidden%2520in%2520default%2520view%252C%252034%2520of%252044%2520boards%2522%257D%252C%2522legend%2522%253A%257B%2522display%2522%253Afalse%257D%257D%257D" alt="Visible vs hidden leaderboard entries" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The filter is a design choice, not a bug: it keeps the default view focused on original models. It still has measurable consequences. A fine-tuned model can outscore its base and stay invisible to anyone who does not change the query. Rankings quoted from the default page and rankings computed with the full population can disagree. Concentration statistics computed only on the default view understate the long tail, because small teams publish a large share of the derivative work. If you report a position on one of these boards, say which view it comes from.&lt;/p&gt;

&lt;h2&gt;
  
  
  How can I reproduce this measurement?
&lt;/h2&gt;

&lt;p&gt;The script below needs only the standard library plus &lt;code&gt;requests&lt;/code&gt;, and runs in under a minute.&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="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;collections&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;statistics&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;st&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;concurrent.futures&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;cf&lt;/span&gt;

&lt;span class="n"&gt;H&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&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;ids&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;H&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/datasets&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&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;filter&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;benchmark:official&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;limit&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;200&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;def&lt;/span&gt; &lt;span class="nf"&gt;fetch&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="k"&gt;def&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;p&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="n"&gt;r&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;H&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/datasets/&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;/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;params&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="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;r&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;isinstance&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="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
        &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&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="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;i&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="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;base_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;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;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="n"&gt;cf&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;fetch&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ids&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;org&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="k"&gt;return&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="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;0&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;gini&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sorted&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&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;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&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;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&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;sum&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;i&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="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;v&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;v&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;x&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="o"&gt;/&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;s&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;firsts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;collections&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Counter&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;collections&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Counter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;gaps&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n_default&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n_full&lt;/span&gt; &lt;span class="o"&gt;=&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="mi"&gt;0&lt;/span&gt;
&lt;span class="k"&gt;for&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;default&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;full&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;full&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;full&lt;/span&gt; &lt;span class="k"&gt;if&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;full&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;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;default&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="n"&gt;default&lt;/span&gt;
    &lt;span class="n"&gt;n_default&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;default&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="n"&gt;n_full&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;full&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;e&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;full&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nf"&gt;org&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="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&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;full&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;continue&lt;/span&gt;
    &lt;span class="n"&gt;lib&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;full&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="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;lower_is_better&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="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sorted&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;full&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;lambda&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;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;value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;reverse&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;lib&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;firsts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nf"&gt;org&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="mi"&gt;0&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="k"&gt;if&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="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;s&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;value&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
        &lt;span class="n"&gt;gaps&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&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;s&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;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;-&lt;/span&gt; &lt;span class="n"&gt;s&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="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;/&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;s&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;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;*&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;v&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sorted&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;entries&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;reverse&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&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="n"&gt;v&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;orgs&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;entries&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;entries&lt;/span&gt;&lt;span class="sh"&gt;"&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="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gini&lt;/span&gt;&lt;span class="sh"&gt;"&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="nf"&gt;gini&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="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;top5&lt;/span&gt;&lt;span class="sh"&gt;"&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="nf"&gt;sum&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;5&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="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="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;top10&lt;/span&gt;&lt;span class="sh"&gt;"&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="nf"&gt;sum&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;10&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="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="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;median gap %&lt;/span&gt;&lt;span class="sh"&gt;"&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="n"&gt;st&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;median&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;gaps&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="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gap&amp;lt;1%&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;g&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&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;gaps&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;hidden %&lt;/span&gt;&lt;span class="sh"&gt;"&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="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;n_default&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;n_full&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="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;top #1 holders&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;firsts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;most_common&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run it on another day and the numbers will differ. That is expected: the method stays fixed, and each run records the state of the boards on its own date.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the limits of this measurement?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;An organization here is a namespace, not a legal entity.&lt;/strong&gt; One company may publish under several namespaces, and one namespace may host several teams. We did not merge or split any.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scores are mostly self-reported.&lt;/strong&gt; Most rows carry &lt;code&gt;verified: false&lt;/code&gt; and cite a model card. We measure the published board, not the truth behind each number.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ties and sort direction.&lt;/strong&gt; We trust the &lt;code&gt;lower_is_better&lt;/code&gt; flag and treat multi-metric datasets exactly as the API returns them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Snapshot effect.&lt;/strong&gt; Entries arrive as pull requests to model repositories, so one large release can move the top-k share by several points in a day.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The gap metric ignores noise.&lt;/strong&gt; A relative gap has no units and no per-board significance test; the binomial SE above is a rough guide.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Disclosure
&lt;/h2&gt;

&lt;p&gt;QuantID is a technology alliance partner of VIDRAFT, which appears on several boards (including under the FINAL-Bench namespace); data shown here is computed identically for every organization.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;How many official benchmark leaderboards are on Hugging Face?&lt;/strong&gt;&lt;br&gt;
On 2026-10-06 the API returned 48 datasets tagged &lt;code&gt;benchmark:official&lt;/code&gt;. Of those, 44 had at least one leaderboard entry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is AI benchmark leadership dominated by a few labs?&lt;/strong&gt;&lt;br&gt;
Participation is unequal: the full-population Gini is 0.709 and the top 10 organizations hold 59.0% of visible entries. Still, #1 positions are spread across 24 organizations, and no organization holds more than about 13% of all entries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why don't I see some models on a Hugging Face leaderboard?&lt;/strong&gt;&lt;br&gt;
The default view hides entries from models that declare a &lt;code&gt;base_model&lt;/code&gt; in their card. Add &lt;code&gt;?base_model=false&lt;/code&gt; to the API call to see them. In this snapshot that filter hid 30.8% of all entries across 34 of 44 boards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How close are the top two models on a typical board?&lt;/strong&gt;&lt;br&gt;
The median relative gap between #1 and #2 was 3.69%. On 9 of 43 boards it was under 1%, which is usually within run-to-run noise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why report both Gini and HHI?&lt;/strong&gt;&lt;br&gt;
HHI is driven by the biggest shares, so it stays low when no single organization is large. Gini measures inequality across the whole distribution, including the long tail of single-entry participants. Reporting both prevents "no monopoly" from being read as "equal participation".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I get these numbers live?&lt;/strong&gt;&lt;br&gt;
Yes. The script above reproduces them, and we maintain a live map of all official boards as a public Space.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Live map of all official benchmark leaderboards: &lt;a href="https://huggingface.co/spaces/quantid/huggingface-official-benchmark-leaderboards" rel="noopener noreferrer"&gt;huggingface.co/spaces/quantid/huggingface-official-benchmark-leaderboards&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;QuantID on Hugging Face: &lt;a href="https://huggingface.co/quantid" rel="noopener noreferrer"&gt;huggingface.co/quantid&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>datascience</category>
      <category>huggingface</category>
      <category>benchmark</category>
      <category>statistics</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>
