<?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: AI OpenFree</title>
    <description>The latest articles on DEV Community by AI OpenFree (@ai_openfree_b23025ef075cf).</description>
    <link>https://dev.to/ai_openfree_b23025ef075cf</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3817626%2F25ccf2de-8934-44fe-9d10-59dd6d2a505b.png</url>
      <title>DEV Community: AI OpenFree</title>
      <link>https://dev.to/ai_openfree_b23025ef075cf</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ai_openfree_b23025ef075cf"/>
    <language>en</language>
    <item>
      <title>Why Long bf16 Training Runs Stall: The Residual Stream Has No Room for Small Updates</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Wed, 21 Oct 2026 16:05:00 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/why-long-bf16-training-runs-stall-the-residual-stream-has-no-room-for-small-updates-i32</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/why-long-bf16-training-runs-stall-the-residual-stream-has-no-room-for-small-updates-i32</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;bf16 keeps 8 significant bits. Once a residual-stream value grows to around 600, the gap between neighbouring bf16 numbers is 4, so any single update smaller than 2 is rounded away completely. Matrix multiplies tolerate this. The running sum that carries the residual stream does not, because it adds many small updates to one large number. In a simulation (illustrative, code below) a bf16 residual received between 0.3% and 43% of the drift an fp32 residual received over 4,000 steps, depending on the noise level, and in one setting it stopped moving entirely. The fix used by mainstream training code is cheap: keep the residual path in fp32, keep the matmuls in bf16. If you cannot, stochastic rounding recovers the average in expectation. Whatever you choose, watch residual and gate maxima over time, not just loss.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why does a bf16 residual stream lose small updates?
&lt;/h2&gt;

&lt;p&gt;A bf16 number has 1 sign bit, 8 exponent bits and 7 stored mantissa bits, which is 8 significant bits including the implicit leading one. The relative resolution is therefore about 2^-8 to 2^-7, roughly 0.4% to 0.8%. That is fine for a weight or an activation that gets consumed once.&lt;/p&gt;

&lt;p&gt;A transformer's residual stream is different. Each block computes &lt;code&gt;x = x + f(x)&lt;/code&gt;. The same tensor is read-modified-written once per block, for dozens of blocks, and the quantity you care about is the sum. Floating-point addition rounds the result to the nearest representable number. If the update is smaller than half the gap at the current magnitude, the sum rounds back to the old value and the update has no effect.&lt;/p&gt;

&lt;p&gt;I measured the gaps with &lt;code&gt;torch.nextafter&lt;/code&gt; on bf16 tensors:&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%2Frender%2Fzf-b3ab4e49-f4bd-45cb-a6f7-9eb7af408c8d" 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%2Frender%2Fzf-b3ab4e49-f4bd-45cb-a6f7-9eb7af408c8d" alt="bf16 spacing by magnitude" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Magnitude of the value&lt;/th&gt;
&lt;th&gt;Gap to the next bf16 number&lt;/th&gt;
&lt;th&gt;Smallest update that registers&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0.0078&lt;/td&gt;
&lt;td&gt;above 0.0039&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;64&lt;/td&gt;
&lt;td&gt;0.5&lt;/td&gt;
&lt;td&gt;above 0.25&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;128&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;above 0.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;256&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;above 1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;600&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;above 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1,024&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;above 4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4,096&lt;/td&gt;
&lt;td&gt;32&lt;/td&gt;
&lt;td&gt;above 16&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Round-to-nearest-even resolves an exact tie toward the even mantissa, so an update of exactly half the gap is also lost. At 600 an update of 2.0 does nothing, while 2.1 jumps the value by 4.&lt;/p&gt;

&lt;h2&gt;
  
  
  Are residual values really that large?
&lt;/h2&gt;

&lt;p&gt;Yes, in specific dimensions. Sun et al. (&lt;a href="https://arxiv.org/abs/2402.17762" rel="noopener noreferrer"&gt;Massive Activations in Large Language Models&lt;/a&gt;) report a handful of activations that are up to 100,000 times larger than typical ones, stable across inputs, and acting as implicit biases that shape attention. These live in the hidden states that flow between layers, which is the residual stream. Any model whose stream norm grows with depth can push some coordinates into the hundreds. A median coordinate near 1 and a few coordinates near 600 can coexist in the same tensor, and the large ones are exactly the ones that gate behaviour.&lt;/p&gt;

&lt;p&gt;The consequence is a precision profile that is invisible in loss curves. A coordinate near 600 only moves in steps of 4. If the true gradient-driven drift on that coordinate is 0.3 per step, it takes a long run of same-direction updates before anything registers, and what registers arrives in lumps.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the failure look like in a simulation?
&lt;/h2&gt;

&lt;p&gt;The numbers below are an illustrative simulation, not a model run. Each of 4,096 coordinates starts at 600. Every step adds &lt;code&gt;mu + sigma * noise&lt;/code&gt;, with &lt;code&gt;mu&lt;/code&gt; the small coherent drift and &lt;code&gt;sigma&lt;/code&gt; the per-step noise. I compare three residual paths: a full fp32 residual, an fp32 residual that receives bf16-rounded updates (what you get when only the matmul output is bf16), and a fully bf16 residual.&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;torch&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mu&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;sigma&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;steps&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4000&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="mi"&gt;4096&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;600.0&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;=&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Generator&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;manual_seed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;x32&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;full&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="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;                      &lt;span class="c1"&gt;# fp32 residual
&lt;/span&gt;    &lt;span class="n"&gt;xmix&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;full&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="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;                     &lt;span class="c1"&gt;# fp32 residual, bf16 updates
&lt;/span&gt;    &lt;span class="n"&gt;xb&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;full&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="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;to&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;bfloat16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;    &lt;span class="c1"&gt;# bf16 residual
&lt;/span&gt;    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&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;steps&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;u&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mu&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;sigma&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;randn&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="n"&gt;generator&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;x32&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x32&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;u&lt;/span&gt;
        &lt;span class="n"&gt;xmix&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xmix&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;u&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;bfloat16&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;float&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="n"&gt;xb&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;xb&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;u&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;bfloat16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nf"&gt;float&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="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x32&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;xmix&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;xb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;float&lt;/span&gt;&lt;span class="p"&gt;())]&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&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="c1"&gt;# [2000.5, 2000.4, 427.5]
&lt;/span&gt;&lt;/code&gt;&lt;/pre&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%2Frender%2Fzf-9ab60966-4dae-4b80-8bd5-cbcfa9964f68" 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%2Frender%2Fzf-9ab60966-4dae-4b80-8bd5-cbcfa9964f68" alt="Drift after 4,000 steps for three residual paths" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Per-step update&lt;/th&gt;
&lt;th&gt;fp32 residual&lt;/th&gt;
&lt;th&gt;fp32 residual, bf16 updates&lt;/th&gt;
&lt;th&gt;bf16 residual&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;mean 0.2, sd 0.5&lt;/td&gt;
&lt;td&gt;800.2&lt;/td&gt;
&lt;td&gt;800.2&lt;/td&gt;
&lt;td&gt;2.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mean 0.2, sd 1.0&lt;/td&gt;
&lt;td&gt;800.5&lt;/td&gt;
&lt;td&gt;800.5&lt;/td&gt;
&lt;td&gt;348.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mean 0.5, sd 1.0&lt;/td&gt;
&lt;td&gt;2000.5&lt;/td&gt;
&lt;td&gt;2000.4&lt;/td&gt;
&lt;td&gt;427.5&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Three things stand out.&lt;/p&gt;

&lt;p&gt;First, the bf16 residual is not just noisy, it is biased. With a mean of 0.2 and a standard deviation of 0.5, almost no single update exceeds the rounding threshold, so the coherent drift of 800 collapses to 2.4. The signal is the small part, and it is the part that gets deleted.&lt;/p&gt;

&lt;p&gt;Second, noise can hide the problem. With a standard deviation of 1.0 the bf16 residual still drifts, because occasional large noise draws cross the threshold and get rounded up to a full step of 4. It recovers 43% of the fp32 drift for mean 0.2 and 21% for mean 0.5. The result looks like progress, but it is progress that depends on how noisy the updates happen to be, which is not a property you want in an optimizer.&lt;/p&gt;

&lt;p&gt;Third, in the third row the bf16 residual flattens at about 427. That is where the running value crosses 1,024 and the gap doubles to 8. At that point the updates of roughly 1 are far below half the gap and nothing registers. The residual freezes.&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%2Frender%2Fzf-92e6bcb5-884b-4e12-b79e-257a1dfe7b79" 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%2Frender%2Fzf-92e6bcb5-884b-4e12-b79e-257a1dfe7b79" alt="Applied update versus intended update at a residual of 600" width="1600" height="840"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The middle column is the important control. Rounding the update itself to bf16, which is what a bf16 matmul output does, costs almost nothing as long as the accumulator is fp32. The loss comes from rounding the sum.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do production training stacks handle this?
&lt;/h2&gt;

&lt;p&gt;They keep the residual path wide. Megatron-LM exposes an fp32 residual connection option that is only valid together with fp16 or bf16 (its argument validation asserts exactly that), see &lt;a href="https://github.com/NVIDIA/Megatron-LM" rel="noopener noreferrer"&gt;NVIDIA/Megatron-LM&lt;/a&gt;. The Mamba reference implementation has a &lt;code&gt;residual_in_fp32&lt;/code&gt; flag that casts the residual to float32, see &lt;a href="https://github.com/state-spaces/mamba" rel="noopener noreferrer"&gt;state-spaces/mamba&lt;/a&gt;. Both choices say the same thing: matmuls can be narrow, the running sum cannot.&lt;/p&gt;

&lt;p&gt;The pattern in PyTorch is short. This block was run on CPU (PyTorch 2.4 or newer for &lt;code&gt;nn.RMSNorm&lt;/code&gt;) to confirm it returns an fp32 residual:&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;torch&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;nn&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Block&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Module&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;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&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;super&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;norm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;RMSNorm&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="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ff&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Sequential&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Linear&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;4&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;GELU&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;nn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Linear&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;d&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

    &lt;span class="k"&gt;def&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;self&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="c1"&gt;# x is fp32 and stays fp32
&lt;/span&gt;        &lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;norm&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="nf"&gt;to&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;bfloat16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;autocast&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;device&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dtype&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;bfloat16&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="n"&gt;u&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ff&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&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;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;u&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;float&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;                    &lt;span class="c1"&gt;# the sum happens in fp32
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The cost is memory and bandwidth on one tensor per block boundary, not on the weights or the matmul inputs. For most training setups that is a small price compared with the weights, optimizer state and attention activations, though you should measure it on your own batch shape. The same idea applies on any low-precision backend: FP8 matmuls, fp16 on older GPUs, and accelerators with narrow accumulators.&lt;/p&gt;

&lt;h2&gt;
  
  
  What if you cannot keep the residual in fp32?
&lt;/h2&gt;

&lt;p&gt;Use stochastic rounding for the residual add. Instead of rounding to the nearest bf16 value, round up with probability proportional to the fractional distance. The expected value of the result equals the true sum, so small updates survive on average, at the price of extra variance. A reference implementation in PyTorch adds random bits below the bf16 cutoff and truncates:&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="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;sr_bf16&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x32&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;g&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;x32&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;contiguous&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;int32&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;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;randint&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;1&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;16&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;shape&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;generator&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dtype&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;int32&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="n"&gt;b&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="mh"&gt;0xFFFF&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;float32&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;to&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;bfloat16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the same simulation, stochastic rounding of the bf16 residual recovered a drift of 797.5 against 800.2 for fp32 (mean 0.2, sd 0.5) and 1,998.8 against 2,000.5 (mean 0.5, sd 1.0). That is the average over 4,096 coordinates. Individual coordinates are noisier, so check that the variance is acceptable for your task. Hardware support for stochastic rounding varies, and a software version like the one above is slower than a plain add.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you catch this before the run is lost?
&lt;/h2&gt;

&lt;p&gt;The trap is that nothing breaks early. The loss falls normally for thousands of steps, then a gate or norm starts creeping, and by the time the loss reacts the run is hard to recover. Three signals are worth logging:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Per-layer residual maxima.&lt;/strong&gt; Log the max absolute value of the stream at each layer every N steps. A steady climb in a few coordinates is the warning that your resolution is shrinking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gate and router maxima.&lt;/strong&gt; Anything that multiplies the residual (learned gates, per-channel scales, MoE router logits) amplifies a quantization bias. Track the max, not only the mean.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gradient norm trend.&lt;/strong&gt; A slow, monotone rise in the global gradient norm without a matching loss change is the typical signature of a stalled or biased state.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One more caution from experience: a single-step check will not find this. Compare the fp32 and bf16 gradient for one step and the cosine similarity looks excellent, because one rounding error per step is tiny. The failure is an accumulation effect over thousands of steps, so it needs a long-horizon test: run a short reference in fp32 and compare residual and gate maxima along the trajectory.&lt;/p&gt;

&lt;p&gt;At VIDRAFT we saw a long low-precision run drift with exactly this signature, and it disappeared when the residual path was held in fp32 while the matrix multiplies stayed in bf16. This post stays on the general mechanism and the public evidence rather than our run details.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Does this affect inference?&lt;/strong&gt;&lt;br&gt;
Much less. At inference each residual add happens once per layer on a fixed-length path, and errors do not accumulate across thousands of optimizer steps. Very deep models or long generations can still show small drift, so some inference stacks keep the residual in higher precision too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is fp16 better than bf16 here?&lt;/strong&gt;&lt;br&gt;
fp16 has 11 significant bits, so its gap at 600 is 0.5 instead of 4, which is better on resolution but has a much smaller range (maximum 65,504) and needs loss scaling. bf16 trades resolution for range. Neither is safe for an unbounded running sum, which is why the sum belongs in fp32.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I need fp32 for the weights too?&lt;/strong&gt;&lt;br&gt;
Separate question. Master weights in fp32 for the optimizer step is the standard defense against the same effect in parameter updates (a learning-rate-sized update added to a large weight). The residual stream is the activation-side version of the same arithmetic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Will this show up as NaN?&lt;/strong&gt;&lt;br&gt;
Usually not. The typical outcome is silent: stuck coordinates, creeping gates, a loss curve that flattens or diverges slowly. NaN comes later or not at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How large is the memory cost of an fp32 residual?&lt;/strong&gt;&lt;br&gt;
One tensor of shape batch x sequence x hidden at each block boundary doubles from 2 to 4 bytes per element. If you use activation checkpointing the stored boundaries are exactly these tensors, so measure with your configuration rather than trusting a general estimate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I reproduce your numbers?&lt;/strong&gt;&lt;br&gt;
Yes. Both scripts are about 20 lines, need only PyTorch on CPU, and use fixed seeds. The values above are from &lt;code&gt;torch 2.12&lt;/code&gt; on CPU. The simulation is illustrative: it shows the arithmetic, not the training dynamics of any particular model.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/ai_openfree_b23025ef075cf/model-level-rsi-what-it-means-when-a-model-improves-its-own-weights-458b"&gt;Model-Level RSI: What It Means When a Model Improves Its Own Weights&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/ai_openfree_b23025ef075cf/a-decision-model-that-writes-nothing-just-took-1-on-a-137-benchmark-board-4pnc"&gt;A Decision Model That Writes Nothing Just Took #1 on a 137-Benchmark Board&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>pytorch</category>
      <category>llm</category>
    </item>
    <item>
      <title>A Decision Model That Writes Nothing Just Took #1 on a 137-Benchmark Board</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Tue, 20 Oct 2026 01:26:10 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/a-decision-model-that-writes-nothing-just-took-1-on-a-137-benchmark-board-4pnc</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/a-decision-model-that-writes-nothing-just-took-1-on-a-137-benchmark-board-4pnc</guid>
      <description>&lt;h2&gt;
  
  
  The result first
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://huggingface.co/FINAL-Bench/Darwin-27B-ZTC-v9" rel="noopener noreferrer"&gt;Darwin-27B-ZTC-v9&lt;/a&gt; is &lt;strong&gt;#1 on the S1MB english-v1 leaderboard&lt;/strong&gt;, read from the live board on 20 October 2026.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rank&lt;/th&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Borda&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Darwin-27B-ZTC-v9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;90.38&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;kettei-fat v1.0&lt;/td&gt;
&lt;td&gt;90.14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Superion S1&lt;/td&gt;
&lt;td&gt;89.53&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;D3 (27B)&lt;/td&gt;
&lt;td&gt;89.28&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Darwin-27B-ZTC-v5&lt;/td&gt;
&lt;td&gt;88.44&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;197 models, 137 benchmarks. Weights are Apache-2.0.&lt;/p&gt;

&lt;p&gt;Before anyone quotes that number, the rest of this post explains what it does and does not mean, because "first on a leaderboard" is close to meaningless without the aggregation method attached.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Borda aggregation actually measures
&lt;/h2&gt;

&lt;p&gt;Most boards average a score over tasks. S1MB does not. It ranks each of the 137 benchmarks separately, then aggregates the ranks. That is a Borda count.&lt;/p&gt;

&lt;p&gt;The difference bites. Under averaging, a benchmark whose metric happens to spread from 0.1 to 0.9 contributes far more to your average than one packed between 0.80 and 0.84. Nobody chose that weighting. It fell out of metric scaling. A model that is ordinary everywhere and extraordinary on three wide-spread tasks can land near the top.&lt;/p&gt;

&lt;p&gt;Under Borda every benchmark contributes the same thing: your position among the entrants. Winning by 0.3 and winning by 0.001 earn the same rank. To finish first you have to place well on most of the 137 boards simultaneously.&lt;/p&gt;

&lt;p&gt;What Borda gives up is margin. A board where the top five differ by a hair on every task still produces a confident-looking order. So read both columns. S1MB publishes a task average next to Borda, and on the current English board they disagree: this model is second on task average at 72.20, while the highest task average belongs to the model sitting third on Borda. Neither column is wrong. They answer different questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The model generates no text
&lt;/h2&gt;

&lt;p&gt;ZTC stands for zero token choice. You give it a situation and a typed question. It returns a probability for every option in one forward pass and writes nothing.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Returns&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;noul&lt;/td&gt;
&lt;td&gt;Probability the statement holds&lt;/td&gt;
&lt;td&gt;Does this ticket need a reply today?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;choice&lt;/td&gt;
&lt;td&gt;A probability per option&lt;/td&gt;
&lt;td&gt;Which team should own this?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;score&lt;/td&gt;
&lt;td&gt;A probability per level&lt;/td&gt;
&lt;td&gt;How satisfied is this review, 1 to 5?&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;No output to parse. No format that can drift on the thousandth call. No reasoning tokens to wait through.&lt;/p&gt;

&lt;h2&gt;
  
  
  Calibration is the property that matters
&lt;/h2&gt;

&lt;p&gt;Here is the part teams underrate. Accuracy alone does not let you build a gate.&lt;/p&gt;

&lt;p&gt;A gate needs a threshold, and a threshold needs probabilities that mean what they claim. If 0.9 is right about nine times in ten, you can auto-approve above 0.9, route the rest to a human, and predict your error rate before shipping. If the model is accurate on average but its 0.9 means anywhere from 0.6 to 0.99, no threshold is safe.&lt;/p&gt;

&lt;p&gt;This is why decision benchmarks score calibration directly. Brier score for yes or no, probability mass on the correct option for choice, expected score error for scales. A model can top an accuracy table and be useless as a gate.&lt;/p&gt;

&lt;p&gt;Selected per-task results against the published baseline:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Baseline&lt;/th&gt;
&lt;th&gt;v9&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;boardgameqa-choice&lt;/td&gt;
&lt;td&gt;0.500&lt;/td&gt;
&lt;td&gt;0.953&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;snli-choice&lt;/td&gt;
&lt;td&gt;0.790&lt;/td&gt;
&lt;td&gt;0.968&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gretel-pii-choice (entity type)&lt;/td&gt;
&lt;td&gt;0.653&lt;/td&gt;
&lt;td&gt;0.981&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;argument-quality-choice&lt;/td&gt;
&lt;td&gt;0.857&lt;/td&gt;
&lt;td&gt;0.959&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ud-ewt-choice (part of speech)&lt;/td&gt;
&lt;td&gt;0.433&lt;/td&gt;
&lt;td&gt;0.833&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What cheap checking changes
&lt;/h2&gt;

&lt;p&gt;Count where an agent's tokens go. A large share is the agent asking itself small questions. Is this tool call safe. Does this passage answer the question. Did the last step succeed. Should this escalate.&lt;/p&gt;

&lt;p&gt;Every one of those is a yes, a pick, or a score, and every one currently costs a full generation. At a thousand a minute the checking costs more than the work, so teams quietly drop the checks. Not because they decided the checks were unnecessary, but because they were unaffordable.&lt;/p&gt;

&lt;p&gt;Make the check one forward pass and the calculus flips. Gate every tool call. Score every retrieved passage. Confirm every step. Keep a confidence number on each decision so escalation is a threshold rather than a guess.&lt;/p&gt;

&lt;h2&gt;
  
  
  Serving it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hf download FINAL-Bench/Darwin-27B-ZTC-v9 systemone_config.json &lt;span class="nt"&gt;--local-dir&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
transformers serve FINAL-Bench/Darwin-27B-ZTC-v9 &lt;span class="nt"&gt;--decision-config&lt;/span&gt; systemone_config.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It runs on the standard &lt;code&gt;/v1/systemone&lt;/code&gt; endpoint of Hugging Face &lt;code&gt;transformers serve&lt;/code&gt;, so clients written against that public shape work unchanged.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to check this claim
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open the &lt;a href="https://huggingface.co/spaces/hotchpotch/S1MB-leaderboard" rel="noopener noreferrer"&gt;board&lt;/a&gt; and read the column and date yourself. It is live and 197 entries move.&lt;/li&gt;
&lt;li&gt;Note that most public boards mix self-reported and verified entries, and S1MB says so.&lt;/li&gt;
&lt;li&gt;Best test: run your own decision log through it and see whether the probabilities hold at the threshold you intend to use. Open weights make that a one-afternoon experiment rather than a procurement decision.&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>agents</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Darwin-180B-RSI Tops MMLU-Pro and GPQA Diamond on AIhoster's Independent Open-Model Benchmark Board</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Mon, 19 Oct 2026 11:01:30 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/darwin-180b-rsi-tops-mmlu-pro-and-gpqa-diamond-on-aihosters-independent-open-model-benchmark-board-17d7</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/darwin-180b-rsi-tops-mmlu-pro-and-gpqa-diamond-on-aihosters-independent-open-model-benchmark-board-17d7</guid>
      <description>&lt;h1&gt;
  
  
  Darwin-180B-RSI Tops MMLU-Pro and GPQA Diamond on AIhoster's Independent Open-Model Benchmark Board
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; VIDRAFT's Darwin-180B-RSI, a 180-billion-parameter open model, has claimed the #1 position on both the MMLU-Pro and GPQA Diamond leaderboards as tracked by Russian benchmark aggregator AIhoster — scoring 88.1% and 94.4% respectively, outperforming models with parameter counts an order of magnitude larger. Developers interested in frontier reasoning capabilities in an open-weight format should take note.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What it is
&lt;/h2&gt;

&lt;p&gt;Darwin-180B-RSI is a 180B-parameter open-weight language model developed by VIDRAFT (비드래프트), a Korean Pre-AGI AI startup. It is published under the Hugging Face repository identifier &lt;code&gt;FINAL-Bench/Darwin-180B-RSI&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;AIhoster is an independent Russian benchmark aggregation site that collects publicly reported evaluation results from model cards, papers, and leaderboards — without recomputing or normalizing scores into a composite index. Each benchmark entry is tied to an exact repository ID and a specific evaluation configuration, making comparisons methodologically transparent.&lt;/p&gt;

&lt;p&gt;As of the AIhoster update on 2026-10-19, Darwin-180B-RSI holds:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;#1 on MMLU-Pro&lt;/strong&gt; — evaluated on all 12,032 test items&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;#1 on GPQA Diamond&lt;/strong&gt; — evaluated on all 198 items&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Notably, VIDRAFT has multiple Darwin-family models appearing in the GPQA Diamond rankings simultaneously: Darwin-397B-ZTC (#3 at 93.4%) and Darwin-398B-JGOS (#9 at 90.9%), suggesting an active, iterative development pipeline across different model scales and inference configurations.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;At a conceptual level, Darwin-180B-RSI appears to be a large-scale transformer-based language model optimized for extended reasoning. A few things can be inferred from the publicly disclosed evaluation configurations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Extended thinking budget:&lt;/strong&gt; The MMLU-Pro and GPQA evaluations both used a thinking budget of up to 131,072 tokens — consistent with a chain-of-thought or "reasoning model" architecture that allocates substantial token budget for intermediate reasoning steps before producing a final answer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sampling strategy varies by benchmark:&lt;/strong&gt; For MMLU-Pro, a single sample was drawn (temperature=1.0, top_p=0.95, top_k=20). For GPQA Diamond, majority voting over up to 16 samples was used under identical sampling parameters — a test-time compute scaling strategy that trades inference cost for accuracy on hard problems.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Precision:&lt;/strong&gt; The model runs in bf16, which is standard for large-scale inference on modern accelerators.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Efficiency relative to parameter count:&lt;/strong&gt; Achieving #1 on both benchmarks with 180B parameters — while outperforming models like DeepSeek-V4-Pro (1.6T parameters) and Kimi-K2.5 (1T parameters) on MMLU-Pro — suggests strong parameter efficiency, likely from architectural choices or training data curation rather than raw scale alone.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No architectural specifics, training hyperparameters, or dataset details are publicly disclosed in the source material.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks &amp;amp; results
&lt;/h2&gt;

&lt;p&gt;All figures below are sourced directly from AIhoster's leaderboard (updated 2026-10-19), which in turn cites the Darwin-180B-RSI model card.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MMLU-Pro&lt;/strong&gt; (multi-domain expert knowledge; higher accuracy = better):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rank&lt;/th&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;Params&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Darwin-180B-RSI&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;88.1%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;180B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;MiniMax-M2.1&lt;/td&gt;
&lt;td&gt;88.0%&lt;/td&gt;
&lt;td&gt;229B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Intern-S2-Preview&lt;/td&gt;
&lt;td&gt;88.0%&lt;/td&gt;
&lt;td&gt;36.1B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Qwen3.5-397B-A17B&lt;/td&gt;
&lt;td&gt;87.8%&lt;/td&gt;
&lt;td&gt;403B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;DeepSeek-V4-Pro&lt;/td&gt;
&lt;td&gt;87.5%&lt;/td&gt;
&lt;td&gt;1.6T&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;GPQA Diamond&lt;/strong&gt; (expert-level physics, chemistry, biology; higher accuracy = better):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rank&lt;/th&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;Params&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Darwin-180B-RSI&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;94.4%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;180B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Kimi-K3&lt;/td&gt;
&lt;td&gt;93.5%&lt;/td&gt;
&lt;td&gt;2.8T&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Darwin-397B-ZTC&lt;/td&gt;
&lt;td&gt;93.4%&lt;/td&gt;
&lt;td&gt;404B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Ornith-1.5-397B&lt;/td&gt;
&lt;td&gt;92.8%&lt;/td&gt;
&lt;td&gt;403B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Qwen3.8-2.4T-A95B&lt;/td&gt;
&lt;td&gt;92.6%&lt;/td&gt;
&lt;td&gt;2.4T&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The GPQA result is particularly notable: Darwin-180B-RSI achieves 94.4% using majority voting over up to 16 samples, while the #3 model, Darwin-397B-ZTC (also a VIDRAFT model), achieves 93.4% with greedy decoding and no voting — a different inference regime entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to try it
&lt;/h2&gt;

&lt;p&gt;The model is listed under the Hugging Face organization &lt;code&gt;FINAL-Bench&lt;/code&gt; with the repository &lt;code&gt;FINAL-Bench/Darwin-180B-RSI&lt;/code&gt;. If the weights are publicly available there, you can browse or download via the standard Hugging Face CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;huggingface-cli download FINAL-Bench/Darwin-180B-RSI
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Access details beyond what is on the model card — including any API endpoints, licensing terms, or inference service availability — are not confirmed in the source material. Check the model card directly for the most current access instructions.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Q: How does Darwin-180B-RSI beat models with 10× more parameters on MMLU-Pro?&lt;/strong&gt;&lt;br&gt;
A: The source doesn't explain internal architecture, but the evaluation configuration gives a clue: the model uses a 131,072-token thinking budget, suggesting extended chain-of-thought reasoning. Parameter efficiency at inference is a known benefit of well-optimized mixture-of-experts or distillation-based architectures, though VIDRAFT has not publicly confirmed which approach is used here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Are the GPQA and MMLU-Pro scores independently verified?&lt;/strong&gt;&lt;br&gt;
A: AIhoster explicitly states it does not recompute scores — it aggregates from public model cards and leaderboard sources, matched by exact repository ID. The source for Darwin-180B-RSI's scores is listed as its own model card. Independent third-party reproduction has not been confirmed in this reporting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Can I use Darwin-180B-RSI commercially?&lt;/strong&gt;&lt;br&gt;
A: Licensing terms are not specified in the source article. Check the model card at &lt;code&gt;FINAL-Bench/Darwin-180B-RSI&lt;/code&gt; on Hugging Face for the applicable license before any production or commercial use.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally reported by AIhoster (러시아) (2026-10-18) — &lt;a href="https://aihoster.ru/benchmarks" rel="noopener noreferrer"&gt;source article&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>opensource</category>
      <category>llm</category>
    </item>
    <item>
      <title>Five Open Science Challenges Where a Verifier, Not the Submitter, Decides the Score</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Mon, 19 Oct 2026 00:50:44 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/five-open-science-challenges-where-a-verifier-not-the-submitter-decides-the-score-3oia</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/five-open-science-challenges-where-a-verifier-not-the-submitter-decides-the-score-3oia</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Verifiers are one of the busiest topics in AI research this week: several papers on stronger verifiers appeared on the same day. The idea is simple. A model proposes, and a separate checker decides whether the proposal is right.&lt;/p&gt;

&lt;p&gt;FINAL-Bench runs five open science challenges built on exactly that split. You submit a molecule, a crystal, a prediction or a decoder. A verifier you cannot see scores it, and the answer key never leaves the organiser's hardware.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Challenge&lt;/th&gt;
&lt;th&gt;What you submit&lt;/th&gt;
&lt;th&gt;Verified against&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://huggingface.co/spaces/FINAL-Bench/open-discovery-challenge" rel="noopener noreferrer"&gt;Open Discovery Challenge&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A drug candidate (SMILES)&lt;/td&gt;
&lt;td&gt;Target and counter-target structure prediction, ADMET, novelty&lt;/td&gt;
&lt;td&gt;Seasons 2 to 4 open&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://huggingface.co/spaces/FINAL-Bench/open-materials-challenge" rel="noopener noreferrer"&gt;Open Materials Challenge&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A lithium electrolyte crystal&lt;/td&gt;
&lt;td&gt;Oxidation and lithium-metal stability, novelty of use&lt;/td&gt;
&lt;td&gt;Season 1 open to 2026-11-30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://huggingface.co/spaces/FINAL-Bench/OSC-Leaderboard" rel="noopener noreferrer"&gt;Open Superconductor Challenge&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A d-wave pairing estimate per 2D material&lt;/td&gt;
&lt;td&gt;A many-body reference solver on top entries&lt;/td&gt;
&lt;td&gt;Season 1 open to 2026-12-31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://huggingface.co/spaces/FINAL-Bench/open-quantum-challenge" rel="noopener noreferrer"&gt;Open Quantum Challenge&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Hubbard energies or a surface-code decoder&lt;/td&gt;
&lt;td&gt;A frozen private ground truth&lt;/td&gt;
&lt;td&gt;Two seasons open into 2027&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://huggingface.co/spaces/FINAL-Bench/leadboard" rel="noopener noreferrer"&gt;LEADBOARD&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Property predictions for held-out molecules&lt;/td&gt;
&lt;td&gt;Labels that are never released&lt;/td&gt;
&lt;td&gt;21 boards open&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Why a hidden verifier matters
&lt;/h2&gt;

&lt;p&gt;If the grader is public, an entry can be shaped against the grader instead of against the biology or the physics. Each challenge therefore publishes its rules, weights and entry limits, and keeps the scoring implementation and answer key private.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built for agents as well as people
&lt;/h2&gt;

&lt;p&gt;None of these needs special hardware for a first entry. LEADBOARD ships a filled-in prompt and a runnable skeleton for every board, and the superconductor challenge says plainly that AI coding agents can take part. An agent with a code tool such as Claude Code and a set of agent skills can read the rules, write the pipeline and submit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Repositories
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/final-bench/open-discovery-challenge" rel="noopener noreferrer"&gt;open-discovery-challenge&lt;/a&gt; · &lt;a href="https://github.com/final-bench/open-materials-challenge" rel="noopener noreferrer"&gt;open-materials-challenge&lt;/a&gt; · &lt;a href="https://github.com/final-bench/leadboard" rel="noopener noreferrer"&gt;leadboard&lt;/a&gt; · &lt;a href="https://github.com/final-bench/quantum-bench-harness" rel="noopener noreferrer"&gt;quantum-bench-harness&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All scores in these challenges are computational predictions, not laboratory measurements. A high score is a hypothesis worth testing.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>science</category>
      <category>benchmarks</category>
      <category>agents</category>
    </item>
    <item>
      <title>Six Open-Source Projects from VIDRAFT, Now on GitHub</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Sun, 18 Oct 2026 03:15:56 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/six-open-source-projects-from-vidraft-now-on-github-j78</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/six-open-source-projects-from-vidraft-now-on-github-j78</guid>
      <description>&lt;p&gt;We keep most of our work on Hugging Face, but code belongs where developers already look for it. So the open parts of what we build now live on GitHub at &lt;a href="https://github.com/final-bench" rel="noopener noreferrer"&gt;github.com/final-bench&lt;/a&gt;. Here are six projects, what each one does, and where to start.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. ONGRID: GraphRAG that also decides
&lt;/h2&gt;

&lt;p&gt;Most GraphRAG tools retrieve and generate. ONGRID adds the step that usually goes missing: deciding whether the answer can be trusted.&lt;/p&gt;

&lt;p&gt;Drop in documents and ONGRID builds a 3D ontology graph of typed entities and relations. Ask a question and an LLM answers from facts in that graph. Then a confidence judge checks the answer without generating any tokens.&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/final-bench/ongrid" rel="noopener noreferrer"&gt;final-bench/ongrid&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. FINAL Bench: does the model know when it is wrong?
&lt;/h2&gt;

&lt;p&gt;Accuracy benchmarks ask whether the final answer is right. FINAL Bench asks a different question: can a model detect its own error, admit it, and fix it?&lt;/p&gt;

&lt;p&gt;It covers functional metacognition across 100 tasks in 15 domains, from mathematics and medicine to ethics and economics. The paper is on arXiv and the dataset is on Hugging Face.&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/final-bench/leaderboard" rel="noopener noreferrer"&gt;final-bench/leaderboard&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Open Quantum Challenge harness: the yardstick is public
&lt;/h2&gt;

&lt;p&gt;A leaderboard is only as trustworthy as its scoring code, so we published the scoring code.&lt;/p&gt;

&lt;p&gt;The harness holds reproducible scoring and frozen test problems for the Open Quantum Challenge: quantum simulation tasks and surface-code decoder scoring, reported as logical error rate with 95% Wilson intervals. Anyone can run it and get the same numbers the leaderboard shows. Contestants keep their own methods to themselves.&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/final-bench/quantum-bench-harness" rel="noopener noreferrer"&gt;final-bench/quantum-bench-harness&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. POCKET: strong models on your own laptop
&lt;/h2&gt;

&lt;p&gt;POCKET is a family of models quantized to run locally on a laptop CPU, with no GPU and no network connection.&lt;/p&gt;

&lt;p&gt;The repository is the model index plus run recipes. The GGUF weights are on Hugging Face, where the POCKET builds have been downloaded more than two million times in total.&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/final-bench/pocket" rel="noopener noreferrer"&gt;final-bench/pocket&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. ZTC: can you trust this answer?
&lt;/h2&gt;

&lt;p&gt;ZTC (Zero-Token Confidence) reads a question and an answer written by any model and returns whether the answer can be trusted. It does this in one forward pass, without generating text.&lt;/p&gt;

&lt;p&gt;It comes in 4B, 9B and 27B sizes, from CPU-friendly to highest quality. The repository holds the inference code, the model index and a description of the method.&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/final-bench/ztc" rel="noopener noreferrer"&gt;final-bench/ztc&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. ALL Bench Leaderboard: one place to compare
&lt;/h2&gt;

&lt;p&gt;Instead of hunting through scattered tables, ALL Bench Leaderboard gathers public benchmark results in one place so models can be compared side by side. It is released under Apache-2.0.&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/final-bench/ALL-Bench-Leaderboard" rel="noopener noreferrer"&gt;final-bench/ALL-Bench-Leaderboard&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to start
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Building retrieval with verification: start with &lt;strong&gt;ONGRID&lt;/strong&gt; and &lt;strong&gt;ZTC&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Evaluating models: &lt;strong&gt;FINAL Bench&lt;/strong&gt; and &lt;strong&gt;ALL Bench Leaderboard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Running models offline: &lt;strong&gt;POCKET&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Quantum error correction research: the &lt;strong&gt;Open Quantum Challenge harness&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Issues and pull requests are welcome on every repository. If something does not run, tell us there and we will fix it.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>llm</category>
      <category>github</category>
    </item>
    <item>
      <title>VIDRAFT's VKORE Enables Full Model Pre-Training on Inference-Only NPUs — 0.99 Loss Correlation with GPU Baselines</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Fri, 16 Oct 2026 07:00:36 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/vidrafts-vkore-enables-full-model-pre-training-on-inference-only-npus-099-loss-correlation-with-2oe2</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/vidrafts-vkore-enables-full-model-pre-training-on-inference-only-npus-099-loss-correlation-with-2oe2</guid>
      <description>&lt;h1&gt;
  
  
  VIDRAFT's VKORE Enables Full Model Pre-Training on Inference-Only NPUs — 0.99 Loss Correlation with GPU Baselines
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; VIDRAFT Lab has demonstrated that inference-optimized NPUs — hardware traditionally limited to forward-pass workloads — can execute full-scale language model pre-training from scratch using a software abstraction layer called VKORE. A 46M-parameter model trained across 32 inference-dedicated chips achieved a 0.99 loss correlation against standard GPU training runs. For ML engineers, this signals a potential paradigm shift: training infrastructure may no longer require GPU-exclusive hardware stacks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What it is
&lt;/h2&gt;

&lt;p&gt;VKORE is VIDRAFT Lab's software-defined training layer designed to unlock backpropagation and optimizer state management on NPU hardware that was originally architected for inference-only workloads. The core claim is straightforward but structurally significant: hardware that the industry has historically excluded from the training pipeline can, with the right software orchestration, participate in full model pre-training.&lt;/p&gt;

&lt;p&gt;The milestone demonstrated publicly involves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;46M-parameter language model&lt;/strong&gt; trained entirely from scratch&lt;/li&gt;
&lt;li&gt;Execution across &lt;strong&gt;32 inference-dedicated NPU chips&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;0.99 loss correlation&lt;/strong&gt; with equivalent GPU-based training benchmarks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is not fine-tuning or distillation — it is pre-training, meaning gradient computation, weight updates, and optimizer state accumulation are all happening on hardware that was never designed with that workload in mind.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;At a conceptual level, VKORE functions as a software abstraction layer that remaps the computational graph of a standard training loop — forward pass, loss computation, backward pass, and optimizer step — onto the execution primitives available on inference-optimized silicon.&lt;/p&gt;

&lt;p&gt;The high-level approach works roughly like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compute graph decomposition:&lt;/strong&gt; The training workload is broken into operations that inference NPUs can natively execute (matrix multiplications, activation functions, elementwise ops), rather than relying on CUDA-specific primitives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gradient orchestration in software:&lt;/strong&gt; Because inference NPUs lack dedicated hardware pathways for backpropagation, VKORE manages gradient flow and accumulation through software-level scheduling across the chip array.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Distributed state management:&lt;/strong&gt; Optimizer states (momentum buffers, variance estimates, etc.) are managed across the 32-chip configuration via software-coordinated memory handling rather than hardware-native all-reduce operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The framing from VIDRAFT is explicitly "NPU-as-CUDA" — the goal is to treat the NPU cluster as a general-purpose training substrate, with software compensating for what the hardware was not built to do natively. This is analogous in spirit to how early ML frameworks abstracted over CPU SIMD units before GPU acceleration became standard, but applied in the reverse direction: taking specialized hardware and generalizing it upward through software.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks &amp;amp; results
&lt;/h2&gt;

&lt;p&gt;The publicly reported figures are specific:&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;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Model size&lt;/td&gt;
&lt;td&gt;46M parameters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hardware&lt;/td&gt;
&lt;td&gt;32 inference-dedicated NPUs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Training task&lt;/td&gt;
&lt;td&gt;Language model pre-training from scratch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Loss correlation vs. GPU baseline&lt;/td&gt;
&lt;td&gt;0.99&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A &lt;strong&gt;0.99 loss correlation&lt;/strong&gt; is a strong numerical claim — it means the training trajectory on NPU hardware is nearly statistically indistinguishable from an equivalent GPU run. This is the benchmark VIDRAFT is anchoring the disclosure on, and it is the figure that makes this more than an academic curiosity.&lt;/p&gt;

&lt;p&gt;Important caveats noted in coverage: the result is demonstrated at 46M parameters. How this approach scales toward billion-parameter models — where memory bandwidth, sustained I/O throughput, and thermal load become substantially more demanding — has not yet been publicly addressed. Inference-optimized chips are rarely designed for the continuous, high-bandwidth memory access that large-scale training sustains over hours or days.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to try it
&lt;/h2&gt;

&lt;p&gt;VKORE and the associated pre-training framework have &lt;strong&gt;not been announced as publicly available&lt;/strong&gt; in the source coverage. No Hugging Face repository, GitHub link, or API endpoint has been disclosed at the time of this article.&lt;/p&gt;

&lt;p&gt;If and when VIDRAFT makes tooling available, the most likely channels based on their existing public presence would be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hugging Face Hub&lt;/strong&gt; — for model checkpoints or training configurations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub&lt;/strong&gt; — for the VKORE software layer or example training scripts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenAI-compatible API&lt;/strong&gt; — for inference access to resulting models&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Watch VIDRAFT's official channels for announcements. This article will be updated when public access is confirmed.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Q: Does this mean NPUs can fully replace GPUs for training today?&lt;/strong&gt;&lt;br&gt;
A: Not at scale — at least not based on current public evidence. The 0.99 loss correlation result holds for a 46M-parameter model on 32 chips. The open question is whether VKORE's software orchestration approach can sustain comparable fidelity and throughput as model and dataset sizes increase by orders of magnitude. The memory wall and thermal constraints of inference-optimized hardware are real engineering challenges that remain publicly unaddressed at larger scales.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What does "inference-only NPU" actually mean in this context?&lt;/strong&gt;&lt;br&gt;
A: Inference-optimized NPUs are chips designed to execute a trained model's forward pass efficiently — think low-latency, low-power matrix operations for deployment scenarios. They typically lack hardware support for gradient computation, high-bandwidth bidirectional memory access patterns, and the communication fabric needed for distributed training. VKORE's contribution is making those capabilities available in software, layered on top of what the chip can already do.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally reported by Mukta AI(글로벌) (2026-10-14) — &lt;a href="https://www.myaitemplate.com/en/news/breaking-gpu-monopoly-rise-of-software-defined-npu-versatility-mv7pe34p" rel="noopener noreferrer"&gt;source article&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>opensource</category>
      <category>llm</category>
    </item>
    <item>
      <title>Darwin-27B-ZTC-v5 Tops the Typed Decisions Leaderboard with a 0.81 Accuracy Score</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Fri, 16 Oct 2026 03:01:17 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/darwin-27b-ztc-v5-tops-the-typed-decisions-leaderboard-with-a-081-accuracy-score-1ol6</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/darwin-27b-ztc-v5-tops-the-typed-decisions-leaderboard-with-a-081-accuracy-score-1ol6</guid>
      <description>&lt;h1&gt;
  
  
  Darwin-27B-ZTC-v5 Tops the Typed Decisions Leaderboard with a 0.81 Accuracy Score
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; VIDRAFT's Darwin-27B-ZTC-v5 has reclaimed the #1 spot on the Hugging Face-official &lt;code&gt;LocalLLaMA/typed-decisions&lt;/code&gt; benchmark, scoring 0.81 accuracy — the highest recorded on this leaderboard to date. Typed Decisions is a structured, probabilistic classification benchmark covering real-world agentic workflows, making this result particularly relevant to engineers building decision-automation and AI agent systems.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What it is
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Darwin-27B-ZTC-v5&lt;/strong&gt; is the latest model release from VIDRAFT (비드래프트), a Korean Pre-AGI AI startup. It is evaluated under the Hugging Face-official &lt;code&gt;LocalLLaMA/typed-decisions&lt;/code&gt; benchmark, which measures a model's ability to make calibrated, structured decisions across multi-dimensional classification tasks derived from enterprise workflow scenarios.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;typed-decisions&lt;/code&gt; dataset itself is worth understanding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;License:&lt;/strong&gt; Apache-2.0&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Size:&lt;/strong&gt; 1K–10K samples&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modalities:&lt;/strong&gt; Tabular + Text&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Task type:&lt;/strong&gt; Text Classification (structured decisions)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tags:&lt;/strong&gt; &lt;code&gt;structured-decisions&lt;/code&gt;, &lt;code&gt;calibration&lt;/code&gt;, &lt;code&gt;probabilistic-classification&lt;/code&gt;, &lt;code&gt;system-one&lt;/code&gt;, &lt;code&gt;workflow-evaluation&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language:&lt;/strong&gt; English&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subsets:&lt;/strong&gt; &lt;code&gt;agent_trace_observability&lt;/code&gt;, &lt;code&gt;customer_service&lt;/code&gt;, &lt;code&gt;invoice_processing&lt;/code&gt;, &lt;code&gt;security_incidents&lt;/code&gt; — each with 400 rows, split into train (300) and test (100)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each sample in the dataset includes rich, multi-label output fields: &lt;code&gt;outcome&lt;/code&gt;, &lt;code&gt;action&lt;/code&gt;, &lt;code&gt;needs_review&lt;/code&gt;, &lt;code&gt;risk&lt;/code&gt;, and &lt;code&gt;urgency&lt;/code&gt; — each with a predicted label, a confidence score, and a full probability distribution. This makes it a &lt;strong&gt;calibration-aware&lt;/strong&gt; benchmark, not just an accuracy benchmark.&lt;/p&gt;




&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;At a conceptual level, Typed Decisions evaluates whether a model can simultaneously classify multiple decision dimensions from a structured workflow state — essentially simulating what an intelligent agent would need to do when observing a running process and deciding how to respond.&lt;/p&gt;

&lt;p&gt;Each benchmark sample presents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;workflow state&lt;/strong&gt; description (a structured text blob describing what an agent or system is doing)&lt;/li&gt;
&lt;li&gt;A set of &lt;strong&gt;structured questions&lt;/strong&gt; the model must answer (e.g., "What is the risk level?" or "Does this trace need human review?")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gold labels&lt;/strong&gt; with supporting rationale and factor explanations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model must output not just a label but a &lt;strong&gt;probability distribution&lt;/strong&gt; across label classes, enabling assessment of calibration quality alongside raw accuracy. For example, the &lt;code&gt;needs_review__probability_true&lt;/code&gt; field captures the model's confidence that a human should intervene — a nuanced signal beyond a binary yes/no.&lt;/p&gt;

&lt;p&gt;This design mimics &lt;strong&gt;System-1 workflow evaluation&lt;/strong&gt;: fast, structured judgment under realistic enterprise conditions (data erasure queues, security incident triage, invoice routing, customer service escalation, and agent trace observability).&lt;/p&gt;

&lt;p&gt;Darwin-27B-ZTC-v5's previous iteration, &lt;code&gt;Darwin-27B-ZTC&lt;/code&gt;, already held the top position with a 0.74 score. The v5 release achieves a &lt;strong&gt;+0.07 improvement&lt;/strong&gt; in accuracy on the same leaderboard, representing a meaningful gain in this tightly contested benchmark space.&lt;/p&gt;




&lt;h2&gt;
  
  
  Benchmarks &amp;amp; results
&lt;/h2&gt;

&lt;p&gt;From the public &lt;code&gt;LocalLLaMA/typed-decisions&lt;/code&gt; leaderboard (as of 2026-10-16):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rank&lt;/th&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Accuracy Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;FINAL-Bench/Darwin-27B-ZTC-v5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.81&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;FINAL-Bench/Darwin-27B-ZTC&lt;/td&gt;
&lt;td&gt;0.74&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;empiriolabsai/aplomb-1&lt;/td&gt;
&lt;td&gt;0.74&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;ProKope-AI/ProKope-421M-8K&lt;/td&gt;
&lt;td&gt;0.72&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;ProKope-AI/ProKope-421M&lt;/td&gt;
&lt;td&gt;0.71&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;adaptive-classifier/typed-decisions-minilm-l6-specialist&lt;/td&gt;
&lt;td&gt;0.61&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Notable observations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Darwin-27B-ZTC-v5 leads by &lt;strong&gt;+0.07&lt;/strong&gt; over the next closest competitors&lt;/li&gt;
&lt;li&gt;The benchmark is filtered to &lt;strong&gt;base models only&lt;/strong&gt; (no fine-tuning with task-specific supervision declared separately)&lt;/li&gt;
&lt;li&gt;Competing models range from 421M to multi-billion parameters, making Darwin-27B-ZTC-v5's score especially notable given the parameter efficiency context&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How to try it
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;LocalLLaMA/typed-decisions&lt;/code&gt; dataset is publicly available on Hugging Face and can be accessed directly:&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;# Load the dataset via the Hugging Face Datasets library&lt;/span&gt;
pip &lt;span class="nb"&gt;install &lt;/span&gt;datasets

python &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"
from datasets import load_dataset
ds = load_dataset('LocalLLaMA/typed-decisions', 'customer_service')
print(ds['test'][0])
"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also explore it interactively via &lt;strong&gt;Data Studio&lt;/strong&gt; on the dataset page, or query it with the built-in &lt;strong&gt;SQL Console&lt;/strong&gt; available on the Hugging Face dataset viewer.&lt;/p&gt;

&lt;p&gt;For the Darwin-27B-ZTC-v5 model itself: access details and availability should be confirmed directly through VIDRAFT's official channels. The leaderboard entry links to evaluation results via the &lt;code&gt;FINAL-Bench&lt;/code&gt; organization on Hugging Face — check there for model card and availability updates.&lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;Q: Is Typed Decisions a calibration benchmark or just an accuracy benchmark?&lt;/strong&gt;&lt;br&gt;
A: Both. Each prediction includes a full probability distribution per label class (e.g., &lt;code&gt;outcome__probabilities&lt;/code&gt;, &lt;code&gt;risk__score&lt;/code&gt;, &lt;code&gt;urgency__score&lt;/code&gt;), meaning models are evaluated on how well-calibrated their confidence is — not just whether the top label is correct. This makes it more demanding than flat classification benchmarks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What enterprise use cases does this benchmark cover?&lt;/strong&gt;&lt;br&gt;
A: The four subsets map directly to common enterprise automation scenarios: customer service triage, invoice processing routing, security incident classification, and AI agent trace observability (deciding whether an autonomous agent action needs human review). These are practical, high-stakes decision domains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: How does Darwin-27B-ZTC-v5 differ from the earlier Darwin-27B-ZTC?&lt;/strong&gt;&lt;br&gt;
A: Based on the public leaderboard data, v5 achieves a 0.81 accuracy score versus 0.74 for the prior version — a +0.07 gain. Internal architectural or training differences are not publicly disclosed.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally reported by FINAL-Bench (2026-10-16) — &lt;a href="https://huggingface.co/datasets/LocalLLaMA/typed-decisions" rel="noopener noreferrer"&gt;source article&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>opensource</category>
      <category>llm</category>
    </item>
    <item>
      <title>VIDRAFT Trains a 46M-Parameter Model Entirely on Inference-Only NPUs — No CUDA Required</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Thu, 15 Oct 2026 23:01:10 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/vidraft-trains-a-46m-parameter-model-entirely-on-inference-only-npus-no-cuda-required-4a73</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/vidraft-trains-a-46m-parameter-model-entirely-on-inference-only-npus-no-cuda-required-4a73</guid>
      <description>&lt;h1&gt;
  
  
  VIDRAFT Trains a 46M-Parameter Model Entirely on Inference-Only NPUs — No CUDA Required
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; VIDRAFT has pre-trained VKORE-46M-NPU, a 46-million-parameter language model, using only inference-oriented NPU hardware — completely bypassing NVIDIA GPUs and the CUDA stack. This proof-of-concept directly challenges the assumption that backpropagation requires high-end GPU memory hierarchies, and signals a potential path toward hardware-agnostic ML development that could meaningfully lower the cost of AI experimentation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What it is
&lt;/h2&gt;

&lt;p&gt;VKORE-46M-NPU is a 46-million-parameter neural network model developed by VIDRAFT, the Korean Pre-AGI AI startup. Its defining characteristic is not the parameter count — it is the hardware it was trained on.&lt;/p&gt;

&lt;p&gt;Rather than relying on NVIDIA GPUs and the CUDA ecosystem that underpins virtually all large-scale model pre-training today, VIDRAFT completed the full pre-training run on &lt;strong&gt;inference-only NPU hardware&lt;/strong&gt; — silicon that is typically designed for low-power, edge, or mobile inference workloads, not backpropagation.&lt;/p&gt;

&lt;p&gt;Key facts from the source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model name:&lt;/strong&gt; VKORE-46M-NPU&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parameter count:&lt;/strong&gt; 46 million&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Training hardware:&lt;/strong&gt; Inference-oriented NPUs (no high-end GPU involvement reported)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Training type:&lt;/strong&gt; Full pre-training (not fine-tuning or distillation from a GPU-trained teacher)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Framing:&lt;/strong&gt; Explicitly described as a proof-of-concept targeting hardware-agnostic AI development&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;At a conceptual level, the challenge VIDRAFT is solving is significant. Standard neural network training relies on backpropagation: computing gradients through the entire network and using those gradients to update weights. This process is computationally intensive, requires high numerical precision (typically FP32 or BF16), and assumes a memory architecture that supports both the forward pass and the backward pass simultaneously.&lt;/p&gt;

&lt;p&gt;Inference-only NPUs are generally optimized for the forward pass only. They often rely on quantized arithmetic, fixed-function datapaths, and tightly constrained memory hierarchies — all of which create friction when you attempt to run a standard training loop.&lt;/p&gt;

&lt;p&gt;What VIDRAFT appears to have done, at a high level, is adapt the training pipeline to operate within those constraints:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gradient computation&lt;/strong&gt; had to be handled within the precision and datapath limits of the NPU's native operations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory management&lt;/strong&gt; during the backward pass would need to be restructured relative to the assumptions baked into typical GPU training frameworks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software abstraction&lt;/strong&gt; is doing heavy lifting here — the hardware-level limitations are being worked around at the framework or compiler layer, not resolved at the silicon level&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The source stops short of detailing the specific techniques used, and no internal hyperparameters, loss curves, or compiler internals are disclosed. The framing is proof-of-concept: demonstrating that the hardware barrier is a software constraint as much as a physical one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks &amp;amp; results
&lt;/h2&gt;

&lt;p&gt;The source does not publish quantitative benchmark comparisons — no perplexity scores, downstream task accuracy numbers, or training throughput figures (tokens/second) are provided for VKORE-46M-NPU.&lt;/p&gt;

&lt;p&gt;Qualitatively, the claim is that pre-training on inference-only NPUs reached &lt;strong&gt;convergence&lt;/strong&gt; — meaning the model trained successfully and was not abandoned due to hardware failure or numerical instability. That convergence on this class of hardware is itself the result being reported.&lt;/p&gt;

&lt;p&gt;What remains publicly unaddressed (and is worth watching for in follow-up reporting):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whether the loss landscape is comparable to a GPU-trained baseline of equivalent size&lt;/li&gt;
&lt;li&gt;Training wall-clock time relative to cloud GPU alternatives&lt;/li&gt;
&lt;li&gt;Energy consumption and thermal behavior over extended training runs&lt;/li&gt;
&lt;li&gt;Scalability trajectory toward billion-parameter models&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to try it
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Public access to VKORE-46M-NPU has not been announced in this source.&lt;/strong&gt; No Hugging Face repository, GitHub link, OpenAI-compatible API endpoint, or model weights download is mentioned in the coverage.&lt;/p&gt;

&lt;p&gt;If VIDRAFT follows its established pattern with other VKORE-series models, a Hugging Face release may follow the proof-of-concept announcement — but that is not confirmed here. Watch the &lt;a href="https://huggingface.co/vidraft" rel="noopener noreferrer"&gt;VIDRAFT Hugging Face organization page&lt;/a&gt; and their official channels for updates.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Q: Does "inference-only NPU" mean the chip literally cannot do training, or just that it wasn't designed for it?&lt;/strong&gt;&lt;br&gt;
A: The distinction matters. "Inference-only" refers to the chip's intended design purpose and typical optimization targets — not necessarily a hard physical impossibility. VIDRAFT's work suggests the hardware can be coaxed into running training workloads through software-level adaptation, even if it was never architected with backpropagation in mind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Is a 46M-parameter model large enough to validate the approach for production use cases?&lt;/strong&gt;&lt;br&gt;
A: At 46 million parameters, VKORE-46M-NPU is orders of magnitude smaller than the multi-billion-parameter models that define current state-of-the-art deployments. The honest answer is: not yet, at this scale. VIDRAFT frames this explicitly as a proof-of-concept. The critical open question — which the source does not answer — is whether the approach scales to 1B+ parameters without prohibitive training time or quality degradation compared to GPU baselines.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally reported by Mukta AI(글로벌) (2026-10-14) — &lt;a href="https://www.myaitemplate.com/en/news/breaking-the-cuda-monopoly-npu-native-training-mv8rxa7z" rel="noopener noreferrer"&gt;source article&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>opensource</category>
      <category>llm</category>
    </item>
    <item>
      <title>Who Holds #1 on Every Hugging Face Official Benchmark? A Live Index</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Thu, 15 Oct 2026 14:01:23 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/who-holds-1-on-every-hugging-face-official-benchmark-a-live-index-4962</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/who-holds-1-on-every-hugging-face-official-benchmark-a-live-index-4962</guid>
      <description>&lt;p&gt;Hugging Face marks certain datasets as &lt;strong&gt;official benchmarks&lt;/strong&gt;. Each one carries a leaderboard on its dataset page, built automatically from the &lt;code&gt;.eval_results&lt;/code&gt; files that model repositories publish. GPQA Diamond, MMLU-Pro, Humanity's Last Exam, SWE-bench Verified, AIME 2026, HMMT February 2026, Terminal-Bench, MMMU-Pro, LEXam, the Open ASR Leaderboard, and more.&lt;/p&gt;

&lt;p&gt;The problem: these leaderboards live on dozens of separate dataset pages. There is no single place that answers a simple question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who actually holds #1, across all of them?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So we built one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the index shows
&lt;/h2&gt;

&lt;p&gt;It is a live, read-only view that recomputes from the Hugging Face API on every visit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;#1 by organization&lt;/strong&gt; — how many official leaderboards each organization currently leads, with a share chart.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;#1 by country&lt;/strong&gt; — first-place spots grouped by the country of the publishing organization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who leads which field&lt;/strong&gt; — a heatmap of #1 spots across math, science and knowledge, coding, agents and terminal, documents and OCR, vision and video, speech, law and finance, retrieval and robotics.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How far ahead #1 is&lt;/strong&gt; — the relative gap between #1 and #2 on every board, direction-aware so that lower-is-better metrics like word error rate are handled correctly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Every benchmark&lt;/strong&gt; — the #1 and #2 model and score, and the number of entries, for each board.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Nothing is hand-entered. The page reads the list of datasets that Hugging Face tags as official benchmarks, pulls each board's ranked entries from the public API, and aggregates. Because a new #1 only appears after Hugging Face indexes the eval results, the index reflects the public record with the same lag as the source leaderboards.&lt;/p&gt;

&lt;p&gt;A few design notes for anyone building something similar:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ties at rank 1 are counted for every tied organization.&lt;/li&gt;
&lt;li&gt;The #1-to-#2 gap is measured relative to the #2 score and is direction-aware.&lt;/li&gt;
&lt;li&gt;Country is derived from the publishing organization, not the model name.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Benchmark claims are easy to assert and hard to check. A single page that reads straight from the eval results turns "we lead on X" into something a reader can verify in one click, including how large the margin actually is. For teams, it is a fast way to see where the frontier sits in your field and who is defending it.&lt;/p&gt;

&lt;p&gt;As of early October 2026 the index tracked around 49 official benchmarks with roughly a thousand leaderboard entries in total, and the single organization holding the most first-place spots was FINAL-Bench with eleven, spanning science, math, multimodal, law, document extraction, structured output and decision-making.&lt;/p&gt;

&lt;p&gt;Open it, sort by field or country, and see for yourself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live index:&lt;/strong&gt; &lt;a href="https://huggingface.co/spaces/quantid/huggingface-official-benchmark-leaderboards" rel="noopener noreferrer"&gt;https://huggingface.co/spaces/quantid/huggingface-official-benchmark-leaderboards&lt;/a&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>ai</category>
      <category>benchmarks</category>
      <category>opensource</category>
    </item>
    <item>
      <title>VKORE: LoRA Training on Inference-Only NPUs with 3.8 Inference Speedup and 0.9999 PyTorch Parity</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Thu, 15 Oct 2026 07:01:26 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/vkore-lora-training-on-inference-only-npus-with-38x-inference-speedup-and-09999-pytorch-parity-2fn0</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/vkore-lora-training-on-inference-only-npus-with-38x-inference-speedup-and-09999-pytorch-parity-2fn0</guid>
      <description>&lt;h1&gt;
  
  
  VKORE: LoRA Training on Inference-Only NPUs with 3.8× Inference Speedup and 0.9999 PyTorch Parity
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; VKORE is a hardware-independent software acceleration layer from VIDRAFT that unlocks LoRA fine-tuning of transformer models on NPUs traditionally locked to inference workloads — while simultaneously boosting single-user inference speed by 3.8× and server throughput by 4.1×. It achieves 0.9999 numerical parity with standard PyTorch during LoRA training, running roughly 170× faster than the same server's CPU. If your organization runs NPU inference fleets, VKORE could eliminate the need for separate GPU infrastructure just for fine-tuning.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What it is
&lt;/h2&gt;

&lt;p&gt;VKORE is a software acceleration layer developed by VIDRAFT that sits between your ML workloads and the underlying NPU hardware. Key characteristics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hardware-independent design:&lt;/strong&gt; Built for data centres operating heterogeneous fleets of both GPUs and NPUs, rather than targeting a single vendor's silicon.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dual workload support:&lt;/strong&gt; Handles both inference acceleration &lt;em&gt;and&lt;/em&gt; LoRA-based training on the same NPU hardware — a combination that inference-only NPU deployments have traditionally not supported.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Target hardware class:&lt;/strong&gt; NPU servers (the benchmarks were run on a Korean NPU server with eight cards and 32 chips).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reference model used for validation:&lt;/strong&gt; Google's open Gemma 4 26B model.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The core value proposition is an architectural shift in how data centres are provisioned: instead of maintaining separate GPU clusters purely for periodic fine-tuning jobs, VKORE lets inference NPU fleets absorb those training workloads during low-traffic windows.&lt;/p&gt;




&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;At a conceptual level, VKORE operates as an abstraction and optimization layer that intercepts the compute graph of transformer model operations and re-targets them efficiently to NPU instruction sets — including the gradient computation paths that LoRA training requires.&lt;/p&gt;

&lt;p&gt;A few high-level mechanisms worth understanding:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LoRA compatibility on inference silicon:&lt;/strong&gt; Standard NPUs are often shipped with firmware and driver stacks optimized exclusively for forward-pass operations (matrix multiplications, attention, softmax). VKORE extends the executable operation set to cover the backward-pass primitives that LoRA adapter training demands, without requiring changes to the NPU firmware itself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Numerical fidelity:&lt;/strong&gt; Achieving 0.9999 parity with PyTorch means VKORE is carefully managing floating-point operation ordering and precision handling across the NPU's native compute units. This level of parity is significant — it means LoRA adapter weights trained via VKORE should be functionally interchangeable with those produced by a standard PyTorch GPU training run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Idle-fleet utilization:&lt;/strong&gt; Because LoRA fine-tuning is parameter-efficient by design (only a small set of low-rank adapter matrices are updated, not the full model weights), the memory and compute overhead is modest enough that it can realistically be scheduled on inference NPUs during off-peak hours without disrupting SLA-bound inference capacity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hardware abstraction:&lt;/strong&gt; The layer is designed to expose a consistent interface regardless of whether the underlying cards are NPUs or GPUs, simplifying fleet management in mixed environments.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Benchmarks &amp;amp; results
&lt;/h2&gt;

&lt;p&gt;All numbers below are sourced directly from the published report. Test platform: a Korean NPU server with &lt;strong&gt;eight cards and 32 chips&lt;/strong&gt;, running &lt;strong&gt;Google Gemma 4 26B&lt;/strong&gt;.&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;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Single-user inference speedup (vs. baseline NPU)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;3.8×&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Server throughput speedup (vs. baseline NPU)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;4.1×&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LoRA training speed vs. same server's CPU&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;~170×&lt;/strong&gt; faster&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Numerical parity with PyTorch (LoRA training)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.9999&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A few things worth noting for engineers evaluating these numbers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The inference speedups (3.8× and 4.1×) are measured on the &lt;strong&gt;same NPU hardware&lt;/strong&gt;, meaning the gain comes entirely from VKORE's software optimization, not a hardware upgrade.&lt;/li&gt;
&lt;li&gt;The 170× CPU comparison is a practical benchmark for teams currently running fine-tuning on CPU nodes as a cost-saving measure — the message is that the NPU path via VKORE is not just "good enough" as an alternative, it's dramatically faster.&lt;/li&gt;
&lt;li&gt;The 0.9999 parity figure is especially relevant for production ML pipelines where training reproducibility and output consistency across compute backends matter for model validation and compliance workflows.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How to try it
&lt;/h2&gt;

&lt;p&gt;The source article does not mention a public Hugging Face repository, GitHub release, pip package, or API endpoint for VKORE at the time of writing. Access details have not been publicly disclosed.&lt;/p&gt;

&lt;p&gt;If you are interested in evaluating VKORE for your data centre, the appropriate next step is to contact VIDRAFT directly through their official channels. Keep an eye on VIDRAFT's announcements for any public SDK, early-access program, or developer preview.&lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;Q: Does VKORE require modifying NPU firmware or drivers to enable LoRA training?&lt;/strong&gt;&lt;br&gt;
A: Based on the published description, VKORE operates as a software layer above the hardware, implying that firmware modifications are not required. It abstracts the hardware interface rather than replacing it, which is consistent with its hardware-independent positioning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Can the LoRA adapters trained via VKORE on an NPU be used directly with a standard PyTorch or Hugging Face inference pipeline?&lt;/strong&gt;&lt;br&gt;
A: The reported 0.9999 numerical parity with PyTorch strongly suggests that adapter weights produced by VKORE are compatible with standard PyTorch-based workflows. However, VIDRAFT has not published explicit interoperability documentation, so teams should validate this in their own environment before relying on it in production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Does VKORE support only transformer architectures, or other model types as well?&lt;/strong&gt;&lt;br&gt;
A: The source article specifically references transformer models and the Gemma 4 26B benchmark. No claims about support for other architectures (CNNs, SSMs, etc.) are made in the published material.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally reported by TechGig(글로벌) (2026-10-14) — &lt;a href="https://techgig.com/amp/news/ai/vkore-enables-lora-training-on-inference-only-npus/134948976" rel="noopener noreferrer"&gt;source article&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>opensource</category>
      <category>llm</category>
    </item>
    <item>
      <title>VIDRAFT Trains a Language Model from Scratch on NPUs — No GPUs Required</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Thu, 15 Oct 2026 03:00:49 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/vidraft-trains-a-language-model-from-scratch-on-npus-no-gpus-required-4568</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/vidraft-trains-a-language-model-from-scratch-on-npus-no-gpus-required-4568</guid>
      <description>&lt;h1&gt;
  
  
  VIDRAFT Trains a Language Model from Scratch on NPUs — No GPUs Required
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Korean Pre-AGI startup VIDRAFT has pre-trained a large language model using NPUs (Neural Processing Units) instead of GPUs, challenging the industry assumption that GPU clusters are the only viable path for LLM pre-training. This represents a notable infrastructure diversification signal for ML engineers exploring alternative accelerator stacks. Access details are not yet publicly confirmed in the source.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What it is
&lt;/h2&gt;

&lt;p&gt;VIDRAFT (비드래프트), a Korean AI startup self-described as working toward Pre-AGI systems, has announced that it has completed pre-training of a language model using NPU hardware — without relying on GPUs at any stage of the pre-training pipeline.&lt;/p&gt;

&lt;p&gt;Key facts from the source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The training workload covered is &lt;strong&gt;pre-training&lt;/strong&gt; (i.e., training a language model from scratch on large corpora), not fine-tuning or inference-only deployment.&lt;/li&gt;
&lt;li&gt;The hardware used is classified as &lt;strong&gt;NPU&lt;/strong&gt; (Neural Processing Unit), a category of AI accelerator distinct from NVIDIA or AMD GPU products.&lt;/li&gt;
&lt;li&gt;The headline claim is explicitly that &lt;strong&gt;GPU infrastructure was not required&lt;/strong&gt; for this pre-training run.&lt;/li&gt;
&lt;li&gt;The announcement was reported by BigGo 파이낸스, a Korean financial/tech outlet, on 2026-10-14.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No additional details about model architecture, parameter count, training data, or specific NPU vendor are confirmed in the available source text.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;At a conceptual level, the significance here is &lt;strong&gt;hardware-stack portability for LLM pre-training workloads&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Historically, large language model pre-training has been tightly coupled to GPU clusters — particularly because:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Deep learning frameworks (PyTorch, JAX) and their CUDA kernels have been co-optimized with NVIDIA hardware for over a decade.&lt;/li&gt;
&lt;li&gt;Distributed training primitives (NCCL, tensor parallelism, pipeline parallelism) have mature GPU-specific implementations.&lt;/li&gt;
&lt;li&gt;Most public LLM training recipes assume GPU memory hierarchies and interconnects (NVLink, InfiniBand).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Running pre-training on NPUs instead implies that VIDRAFT has addressed — at some level — the following engineering challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Operator compatibility:&lt;/strong&gt; Ensuring that the core tensor operations used in transformer pre-training (matrix multiplications, attention, layer norms, embedding lookups) are supported and performant on NPU hardware.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Distributed training coordination:&lt;/strong&gt; Managing gradient synchronization and parameter updates across NPU devices, which may use different interconnect topologies than GPU clusters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Framework integration:&lt;/strong&gt; Either adapting an existing framework (or using a vendor-supplied SDK) to compile and schedule training graphs onto NPU compute units.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Numerical precision handling:&lt;/strong&gt; NPUs may support different floating-point formats than GPUs; pre-training stability requires careful management of precision across forward and backward passes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fact that this was &lt;strong&gt;pre-training&lt;/strong&gt; rather than inference is the technically meaningful claim — inference on NPUs is already commercially common (mobile SoCs, edge chips), but pre-training at scale on NPUs is a far less documented territory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks &amp;amp; results
&lt;/h2&gt;

&lt;p&gt;The source article body was not available due to a rate-limit error at retrieval time (&lt;code&gt;{"message":"Rate limit exceeded"}&lt;/code&gt;), so &lt;strong&gt;no specific benchmark numbers, loss curves, training throughput figures, or downstream task evaluations can be reported here&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Qualitatively, the announcement positions this as a proof-of-concept or milestone demonstrating that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NPU hardware can sustain a full pre-training run to completion.&lt;/li&gt;
&lt;li&gt;GPU independence is achievable at the pre-training stage, not just inference.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Engineers should treat specific performance comparisons (e.g., NPU vs. GPU throughput, tokens/second, cost-per-token) as unconfirmed until VIDRAFT publishes a technical report or blog post with reproducible numbers.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to try it
&lt;/h2&gt;

&lt;p&gt;Based on the available source information, &lt;strong&gt;no public access path has been confirmed&lt;/strong&gt;. There is no mention of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Hugging Face model repository or organization page&lt;/li&gt;
&lt;li&gt;A GitHub repository with training code&lt;/li&gt;
&lt;li&gt;An OpenAI-compatible API endpoint&lt;/li&gt;
&lt;li&gt;A public demo or waitlist&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If VIDRAFT releases the model weights, training code, or API access, those channels will likely be announced through their official channels. Engineers interested in following developments can watch for VIDRAFT's official announcements directly.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Q: Why does it matter if pre-training runs on NPUs instead of GPUs?&lt;/strong&gt;&lt;br&gt;
A: GPU supply constraints and cost are a real bottleneck for AI development globally, including in Korea and other regions with limited access to NVIDIA allocations. Demonstrating that NPU hardware can run pre-training opens up alternative procurement and infrastructure paths for organizations that cannot access large GPU clusters. It also signals growing maturity in NPU software stacks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Does "NPU pre-training" mean the results are comparable to GPU-trained models?&lt;/strong&gt;&lt;br&gt;
A: The available source does not provide benchmark comparisons between NPU-trained and GPU-trained models, so no equivalence claim can be made here. Hardware-agnostic training is a necessary but not sufficient condition for quality parity — actual model quality depends on data, scale, and optimization choices that remain unpublished at this time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Is VIDRAFT's approach applicable to open-source frameworks like PyTorch or JAX?&lt;/strong&gt;&lt;br&gt;
A: The source does not specify which training framework or software stack was used. This is a key technical detail that would be needed to assess reproducibility or community applicability, and it remains unconfirmed.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally reported by BigGo 파이낸스(한국) (2026-10-14) — &lt;a href="https://share.google/gVVBZ62uI7mvb1018" rel="noopener noreferrer"&gt;source article&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>opensource</category>
      <category>llm</category>
    </item>
    <item>
      <title>Training an LLM from Scratch on Inference-Only NPUs — No GPU Required</title>
      <dc:creator>AI OpenFree</dc:creator>
      <pubDate>Wed, 14 Oct 2026 23:01:17 +0000</pubDate>
      <link>https://dev.to/ai_openfree_b23025ef075cf/training-an-llm-from-scratch-on-inference-only-npus-no-gpu-required-580g</link>
      <guid>https://dev.to/ai_openfree_b23025ef075cf/training-an-llm-from-scratch-on-inference-only-npus-no-gpu-required-580g</guid>
      <description>&lt;h1&gt;
  
  
  Training an LLM from Scratch on Inference-Only NPUs — No GPU Required
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; VIDRAFT has successfully pre-trained a small language model entirely on inference-only NPUs, bypassing GPUs at every stage of training. The model — VKORE-46M-NPU — is publicly available on Hugging Face, along with comparative analysis materials. For ML engineers exploring alternative accelerator stacks, this is a concrete proof-of-concept that backpropagation on inference-dedicated silicon is achievable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What it is
&lt;/h2&gt;

&lt;p&gt;VKORE-46M-NPU is a 46-million-parameter small language model (SLM) pre-trained from scratch using only a first-generation, inference-only NPU — a class of chip that conventional ML wisdom treats as unsuitable for training workloads. The model was trained on a public dataset and is capable of generating short English-language stories.&lt;/p&gt;

&lt;p&gt;The broader context: VIDRAFT is building &lt;strong&gt;VKORE&lt;/strong&gt;, an NPU-native acceleration software layer intended to do for NPUs what CUDA does for NVIDIA GPUs. The target capability set includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inference acceleration&lt;/li&gt;
&lt;li&gt;Full pre-training (demonstrated here)&lt;/li&gt;
&lt;li&gt;LoRA fine-tuning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This release is the public validation artifact for the pre-training milestone.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;The core engineering challenge is that inference-only NPUs are architected to run forward passes efficiently — they are &lt;strong&gt;not&lt;/strong&gt; designed to support the gradient computation and weight-update operations that backpropagation requires. Hardware-level features that GPU-based training takes for granted (flexible memory access patterns, high-precision intermediate buffers, in-place tensor mutation) are typically absent or restricted on inference NPUs.&lt;/p&gt;

&lt;p&gt;VIDRAFT's approach, at a conceptual level:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Custom software abstraction over the NPU:&lt;/strong&gt; Rather than relying on the NPU vendor's training stack (which typically doesn't exist for inference-only silicon), VIDRAFT implemented backpropagation through their own VKORE software layer, making the NPU behave as a trainable compute substrate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;From-scratch pre-training, no warm-start:&lt;/strong&gt; The model was initialized with random weights — no pre-trained checkpoint was used as a starting point. This rules out the possibility that the result is simply transfer learning or fine-tuning dressed up as pre-training.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parallel GPU reference run:&lt;/strong&gt; To validate correctness, VIDRAFT ran an identical training job on a high-performance GPU under matched conditions and compared the resulting loss trajectories.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The precise implementation details — operator fusion strategy, memory management, gradient accumulation mechanisms — are not publicly disclosed and will be described in a forthcoming paper.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benchmarks &amp;amp; results
&lt;/h2&gt;

&lt;p&gt;VIDRAFT reports one key quantitative result from the comparison between the NPU-trained and GPU-trained runs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Loss trajectory correlation coefficient: 0.99&lt;/strong&gt; between the NPU training run and an equivalent GPU training run under identical conditions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a measure of &lt;em&gt;training dynamics similarity&lt;/em&gt;, not throughput parity. The company explicitly notes this does not imply the NPU matches GPU training speed. What it does indicate is that the NPU-based training process converges along a statistically near-identical path to the GPU baseline — a meaningful signal that the gradient computation is numerically consistent, not approximate or divergent.&lt;/p&gt;

&lt;p&gt;Additionally, VIDRAFT has verified that general-purpose public models can run inference and quantized-model execution on the same NPU hardware, suggesting the VKORE layer handles both the training and deployment sides of the lifecycle.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to try it
&lt;/h2&gt;

&lt;p&gt;The following artifacts are &lt;strong&gt;publicly available on Hugging Face&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Model weights&lt;/strong&gt; for VKORE-46M-NPU&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model card&lt;/strong&gt; with usage details&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comparative analysis materials&lt;/strong&gt; (the GPU vs. NPU training comparison)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can browse or download the model using the Hugging Face CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;huggingface_hub
huggingface-cli download vidraft/VKORE-46M-NPU
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The model name above follows the naming convention used in the press release. Verify the exact repository slug on the &lt;a href="https://huggingface.co/vidraft" rel="noopener noreferrer"&gt;VIDRAFT Hugging Face page&lt;/a&gt; before running commands.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The &lt;strong&gt;core training code is not public&lt;/strong&gt; — it is withheld for IP protection. A technical paper describing the implementation is planned for future release. There is no mention of a public API endpoint for this specific model at this time.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Q: Is this actually backpropagation, or some gradient-free approximation like forward-mode differentiation or evolution strategies?&lt;/strong&gt;&lt;br&gt;
A: The press release explicitly states that VIDRAFT implemented backpropagation (&lt;em&gt;역전파&lt;/em&gt;) on the NPU. It is described as standard reverse-mode gradient computation, not a gradient-free alternative. The technical mechanism is proprietary and will be detailed in a future paper.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Does the 0.99 loss correlation mean NPU training is as fast as GPU training?&lt;/strong&gt;&lt;br&gt;
A: No — VIDRAFT explicitly clarifies this point. The correlation coefficient measures &lt;em&gt;similarity of the training trajectory&lt;/em&gt; (i.e., how the loss curve evolves over steps), not wall-clock throughput or sample efficiency. Inference-only NPUs are generally slower for training workloads; the point of this result is correctness validation, not speed benchmarking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: When will VKORE support LoRA fine-tuning and broader model pre-training?&lt;/strong&gt;&lt;br&gt;
A: VIDRAFT has announced LoRA fine-tuning as a roadmap item for the VKORE software layer, alongside inference acceleration and pre-training. No public timeline or availability date has been announced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Can I use this to train on my own NPU hardware?&lt;/strong&gt;&lt;br&gt;
A: Not yet. The training stack is internal. The public release covers the trained model weights and analysis materials. Watch for the forthcoming technical paper and any future VKORE SDK announcements.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally reported by ZDNet코리아 (2026-10-14) — &lt;a href="https://zdnet.co.kr/view/?no=20261014150525" rel="noopener noreferrer"&gt;source article&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>opensource</category>
      <category>llm</category>
    </item>
  </channel>
</rss>
