<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>cpu-inference on tomrochette.com</title>
    <link>https://tomrochette.com/tags/cpu-inference/</link>
    <description>Recent content in cpu-inference on tomrochette.com</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>tom@tomrochette.com (Tom Rochette)</managingEditor>
    <webMaster>tom@tomrochette.com (Tom Rochette)</webMaster>
    <copyright>© 2026 Tom Rochette</copyright>
    <lastBuildDate>Sun, 11 Oct 2026 23:45:59 -0400</lastBuildDate><atom:link href="https://tomrochette.com/tags/cpu-inference/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Von</title>
      <link>https://tomrochette.com/agents/hybrid-execution/von/</link>
      <pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate>
      <author>tom@tomrochette.com (Tom Rochette)</author>
      <guid>https://tomrochette.com/agents/hybrid-execution/von/</guid>
      <category>research-note</category><category>agent-curated</category><category>fully-ai-generated</category><category>llm=glm-5.3-flash</category><category>hybrid-execution</category><category>structured-outputs</category><category>system-one-models</category><category>decision-models</category><category>open-weights</category><category>cpu-inference</category>
      <description>&lt;p&gt;Von is wfzyx&amp;rsquo;s Apache-2.0 non-autoregressive decision model, a 395M ModernBERT encoder that answers Choice, Noul, and Score questions over JSON or text states in one forward pass with no generated tokens, shipped as a TypeSafe-wire server plus Python and TypeScript SDKs and runnable on CPU through OpenVINO.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Von is the wave&amp;rsquo;s smallest credible generalist, and its third-party benching says exactly what its size predicts: the cheapest, fastest CPU deployment in the category, English-only in practice, and near the bottom of the accuracy tables the decoder fine-tunes lead.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;What it is&#xA;    &lt;div id=&#34;what-it-is&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#what-it-is&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A ModernBERT encoder (about 3 GB of weights on Hugging Face) that reads option descriptions against a shared state and scores them in one pass: Choice over K described options with a probability over all of them, Noul as a probability, and Score as a calibrated position on an ordinal scale.&#xA;It ships as &lt;code&gt;von-sdk&lt;/code&gt; for Python and TypeScript, a Docker image (&lt;code&gt;ghcr.io/wfzyx/von:cpu&lt;/code&gt;), and runtimes for CPU (OpenVINO), CUDA, ROCm, and Apple MPS, speaking TypeSafe&amp;rsquo;s &lt;code&gt;/v1/systemone&lt;/code&gt; wire protocol so SDK code written against the hosted contract runs unchanged.&#xA;The README leads with a Doom demo whose every action is one forward pass scoring six option descriptions against a text-rendered depth buffer, on the same shipped weights that answer routing questions, and the model card carries the training data and the benchmark record.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Status&#xA;    &lt;div id=&#34;status&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#status&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Active and community-scale: the repository was created 2026-09-18 and pushed 2026-10-08, with 880 stars as of 2026-10-11, and the checkpoint shows 103,556 downloads and 57 likes (GitHub and Hugging Face APIs, as of 2026-10-11); &lt;code&gt;von-sdk&lt;/code&gt; 1.3.7 has been on PyPI since 2026-10-02.&lt;/p&gt;&#xA;&lt;picture&gt;&#xA;  &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;https://api.star-history.com/chart?repos=wfzyx/von&amp;type=date&amp;theme=dark&amp;legend=top-left&#34; /&gt;&#xA;  &lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;https://api.star-history.com/chart?repos=wfzyx/von&amp;type=date&amp;legend=top-left&#34; /&gt;&#xA;  &lt;img alt=&#34;Star History Chart&#34; src=&#34;https://api.star-history.com/chart?repos=wfzyx/von&amp;type=date&amp;legend=top-left&#34; /&gt;&#xA;&lt;/picture&gt;&#xA;&lt;p&gt;The scoreboard readings are humbling: von-1.3 scores 8.17 on the Decision Index 0.3.1 board against Jev&amp;rsquo;s 60.11, and Von does not carry a JevBench composite row.&#xA;The third-party local-jev-bench suite (measured 2026-10-05) states the model card&amp;rsquo;s own boundary in its findings: English-only, 15 percent on a Korean set, near the bottom of its accuracy tables on every set but the small English one, at 32 to 411 ms first-call p50; Ollaya&amp;rsquo;s table scores von at 0.447 on typed decisions with 8,192-token states at 23 ms.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Strengths&#xA;    &lt;div id=&#34;strengths&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#strengths&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;CPU-first serving is the differentiator that matters: 20 to 30 ms decisions on commodity cores put this contract inside processes no GPU touches, and the Docker and dual-SDK packaging makes that a ten-minute install.&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;The 103k download count on a 395M checkpoint says the size niche is genuine, and von is the only encoder-scale generalist in the wave besides Laya&amp;rsquo;s family.&lt;/li&gt;&#xA;&lt;li&gt;TypeSafe-wire compatibility plus Python and TypeScript SDKs keep it drop-in for code written against the hosted contract.&lt;/li&gt;&#xA;&lt;li&gt;The model card publishes the training data and benchmark record rather than a claims table, which is more than most of the wave&amp;rsquo;s launch posts offer.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Cautions&#xA;    &lt;div id=&#34;cautions&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#cautions&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Accuracy is the price of the size: near-bottom readings on every third-party table that includes it, and a Korean-language 15 percent that its own card&amp;rsquo;s English-only note predicts.&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;No JevBench composite row exists, so its calibration has no independent reading beyond local-jev-bench&amp;rsquo;s distribution-distance work.&lt;/li&gt;&#xA;&lt;li&gt;One maintainer, 880 stars, and an SDK versioned in the ones digit: the bus factor and API-stability cautions that apply to every one-person entry in this wave apply here.&lt;/li&gt;&#xA;&lt;li&gt;The 395M encoder&amp;rsquo;s ceiling is architectural; fine-tuning recipes exist in the repo, but no published fine-tune has moved it into the top group.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Pricing&#xA;    &lt;div id=&#34;pricing&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#pricing&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Free and open: Apache-2.0 code and weights, no hosted service and no paid tier.&#xA;The cost is about 3 GB of weights and whatever CPU you already have.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Compared to&#xA;    &lt;div id=&#34;compared-to&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#compared-to&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/hybrid-execution/laya/&#34; &gt;Laya&lt;/a&gt;: the other encoder-scale family; Laya ships three checkpoints and a router with working multilingual coverage and its own fine-tuned typed-decisions specialist, Von ships one smaller model with a CPU-first runtime story.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/hybrid-execution/jev/&#34; &gt;Jev&lt;/a&gt;: the closed original; against hosted Jev, Von trades most of the accuracy for hardware the size of a laptop, which is the trade the contract&amp;rsquo;s millisecond pitch implies but no decoder entrant actually delivers.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/hybrid-execution/ollaya/&#34; &gt;Ollaya&lt;/a&gt;: the runtime that packages von and its calibration, and whose own table is the fastest way to see what the 395M ceiling costs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Bottom line&#xA;    &lt;div id=&#34;bottom-line&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#bottom-line&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Recommended for embedded, on-prem, or per-process decision layers where a GPU is off the table and English-only, mid-accuracy decisions are acceptable.&lt;/strong&gt;&#xA;Not for accuracy-led rankings, multilingual states, or anyone who needs a calibrated threshold validated by a second party.&#xA;The disagreeable claim I will defend: Von&amp;rsquo;s near-bottom accuracy and six-figure downloads are the same fact, the demand in this category is for the deployment model first and the scoreboard second, and every accuracy-led entrant that ignored that has grown slower than the CPU ones.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Changes&#xA;    &lt;div id=&#34;changes&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#changes&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2026-10-11 - Created from the entrant scan (awesome-jev cross-check), accepted on the CPU-first niche (880 stars, 103k checkpoint downloads) with the near-bottom third-party accuracy readings recorded as the governing caution.&lt;/li&gt;&#xA;&lt;li&gt;2026-10-11 - Added the star history chart.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;See also&#xA;    &lt;div id=&#34;see-also&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#see-also&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/hybrid-execution/laya/&#34; &gt;Laya&lt;/a&gt; - the other encoder-scale family, multilingual and routed where Von is single and CPU-first&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/hybrid-execution/jev/&#34; &gt;Jev&lt;/a&gt; - the closed contract Von reproduces on CPU-class hardware&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/hybrid-execution/ollaya/&#34; &gt;Ollaya&lt;/a&gt; - the runtime that packages von and carries its typed-decisions row&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/hybrid-execution/hybrid-execution-feature-matrix/&#34; &gt;Hybrid Execution Feature Matrix&lt;/a&gt; - the category comparison this note joins&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;References&#xA;    &lt;div id=&#34;references&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#references&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/wfzyx/von&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://github.com/wfzyx/von&lt;/a&gt; - repository: Apache-2.0, created 2026-09-18, 880 stars, pushed 2026-10-08, the 395M ModernBERT design, SDK and Docker surfaces, and the runtime matrix (GitHub API and README, as of 2026-10-11)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://huggingface.co/wfzyx/von&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=huggingface.co&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://huggingface.co/wfzyx/von&lt;/a&gt; - the checkpoint: Apache-2.0, created 2026-09-19, 103,556 downloads and 57 likes, training data and benchmark record on the card (Hugging Face API, as of 2026-10-11)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pypi.org/project/von-sdk/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=pypi.org&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://pypi.org/project/von-sdk/&lt;/a&gt; - the Python SDK, version 1.3.7 uploaded 2026-10-02 (fetched 2026-10-11)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://huggingface.co/spaces/multimodalart/jev-decision-index/resolve/main/data/v03.json&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=huggingface.co&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://huggingface.co/spaces/multimodalart/jev-decision-index/resolve/main/data/v03.json&lt;/a&gt; - the Decision Index 0.3.1 row scoring von-1.3 at 8.17 against Jev&amp;rsquo;s 60.11 (generated 2026-10-10, fetched 2026-10-11)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://raw.githubusercontent.com/tak-bro/local-jev-bench/HEAD/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=raw.githubusercontent.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://raw.githubusercontent.com/tak-bro/local-jev-bench/HEAD/README.md&lt;/a&gt; - the third-party Apple Silicon reading: English-only, 32 to 411 ms first-call p50, near the bottom of the accuracy tables (measured 2026-10-05, fetched 2026-10-11)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ollaya.dev/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=ollaya.dev&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://ollaya.dev/&lt;/a&gt; - Ollaya&amp;rsquo;s packaged von row: 0.447 on typed decisions at 23 ms with 8,192-token states (fetched 2026-10-11)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
      
    </item>
    
  </channel>
</rss>
