<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Mxe on ToolGenix — Open-Source AI &amp; Developer Tools: Honest Hands-On Reviews</title>
    <link>https://toolgenix.nxtniche.com/tags/mxe/</link>
    <description>Recent content in Mxe on ToolGenix — Open-Source AI &amp; Developer Tools: Honest Hands-On Reviews</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 30 Jul 2026 19:00:00 +0800</lastBuildDate>
    <atom:link href="https://toolgenix.nxtniche.com/tags/mxe/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Deltafin: Running Kimi K3 (2.78T MoE) on a Single Workstation</title>
      <link>https://toolgenix.nxtniche.com/posts/deltafin-kimi-k3-local-workstation/</link>
      <pubDate>Thu, 30 Jul 2026 19:00:00 +0800</pubDate>
      <guid>https://toolgenix.nxtniche.com/posts/deltafin-kimi-k3-local-workstation/</guid>
      <description>&lt;div class=&#34;affiliate-block&#34;&gt;
  &lt;p&gt;&lt;em&gt;Disclosure: Some links below are affiliate links. If you sign up through them, I may earn a commission at no extra cost to you.&lt;/em&gt;&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;https://toolgenix.nxtniche.com/go/vultr&#34; rel=&#34;nofollow sponsored&#34; target=&#34;_blank&#34;&gt;Vultr&lt;/a&gt; — high-memory cloud GPU instances from $6/mo&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;https://toolgenix.nxtniche.com/go/do&#34; rel=&#34;nofollow sponsored&#34; target=&#34;_blank&#34;&gt;DigitalOcean&lt;/a&gt; — $200 credit for new users, great for GPU droplets&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;So Kimi K3 dropped two days ago and instantly became the most exciting open-weight model release this month — 7,300+ stars, 2.78 trillion parameters in a Mixture-of-Experts architecture, multimodal. Problem: nobody has a cluster sitting around to serve it. Enter &lt;strong&gt;Deltafin&lt;/strong&gt;, a research project that does exactly what its README says: &amp;ldquo;runs a Mixture-of-Experts model far larger than the machine it sits on.&amp;rdquo; I spent the evening digging through its codebase, and honestly? The ambition matches the execution.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<div class="affiliate-block">
  <p><em>Disclosure: Some links below are affiliate links. If you sign up through them, I may earn a commission at no extra cost to you.</em></p>
  <ul>
    <li><a href="https://toolgenix.nxtniche.com/go/vultr" rel="nofollow sponsored" target="_blank">Vultr</a> — high-memory cloud GPU instances from $6/mo</li>
    <li><a href="https://toolgenix.nxtniche.com/go/do" rel="nofollow sponsored" target="_blank">DigitalOcean</a> — $200 credit for new users, great for GPU droplets</li>
  </ul>
</div>
<p>So Kimi K3 dropped two days ago and instantly became the most exciting open-weight model release this month — 7,300+ stars, 2.78 trillion parameters in a Mixture-of-Experts architecture, multimodal. Problem: nobody has a cluster sitting around to serve it. Enter <strong>Deltafin</strong>, a research project that does exactly what its README says: &ldquo;runs a Mixture-of-Experts model far larger than the machine it sits on.&rdquo; I spent the evening digging through its codebase, and honestly? The ambition matches the execution.</p>
<h2 id="what-deltafin-actually-does-with-kimi-k3">What Deltafin actually does with Kimi K3</h2>
<p>Deltafin is a Python-native runtime that loads Kimi K3 onto a single Mac or Linux workstation and exposes it through an OpenAI-compatible API. Every token routes through 16 active experts × 92 layers — that&rsquo;s 25.8 GB of expert data per token, which on the developer&rsquo;s reference M1 Max (64 GB) clocks in at a measured <strong>0.0687 tokens/second</strong> (about 14.6 seconds per token). That is not a typo. It&rsquo;s slow. And it&rsquo;s also completely unprecedented for a model this size on consumer hardware.</p>
<p>Plus, the whole thing supports three backends: MPS on Apple Silicon, CUDA on NVIDIA, and a pure CPU fallback. Expert weights use native MXFP4 precision — a full custom kernel pipeline (the <code>tools/fused_gemv.c</code> file alone is ~45KB of C code). And the build system auto-detects your platform, probes for NVCC, and compiles the right native libraries for your exact GPU architecture. If your local machine doesn&rsquo;t have the RAM or disk, spinning up a high-memory GPU instance on <a href="/go/vultr">Vultr</a> <em>(affiliate link)</em> or <a href="/go/do">DigitalOcean</a> lets you run Deltafin without the hardware investment. If you&rsquo;ve used other local LLM tools like <a href="/posts/llamafactory-quick-review-2026/">LlamaFactory for fine-tuning</a>, the engineering depth here is on a different level entirely.</p>
<h2 id="two-modes-one-trade-off--deltafins-local-kimi-k3-tradeoffs">Two modes, one trade-off — Deltafin&rsquo;s local Kimi K3 tradeoffs</h2>
<table>
	<thead>
			<tr>
					<th>Mode</th>
					<th>Disk</th>
					<th>Speed (M1 Max)</th>
					<th>Network dependency</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Full (<code>--full</code>)</td>
					<td>~1.7 TB</td>
					<td>14.6 s/token median</td>
					<td>None at inference</td>
			</tr>
			<tr>
					<td>Stream (<code>--stream</code>)</td>
					<td>~215 GB</td>
					<td>3+ min/token</td>
					<td>Constant</td>
			</tr>
	</tbody>
</table>
<p>In practice, full mode downloads all 1.7 TB of expert weights to local disk. Sure, streaming keeps only a sparse cache — it fetches missing experts on demand from Hugging Face. The README is refreshingly honest about this — streaming mode at inference means you&rsquo;re effectively bottlenecked by your internet connection, which can stretch a single chat completion into &ldquo;hours&rdquo; territory.</p>
<p>I spent a while reading the <code>tools/serve_openai.py</code> server implementation. It&rsquo;s about 300 lines, and the design notes include gems like: &ldquo;Concurrency would be meaningless at this speed&rdquo; and &ldquo;Set your client&rsquo;s timeouts to hours, not seconds.&rdquo; That&rsquo;s the tone of a project that knows exactly what it is.</p>
<h2 id="running-deltafin-openai-server-setup-for-kimi-k3">Running Deltafin: OpenAI server setup for Kimi K3</h2>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>python tools/serve_openai.py --port <span style="color:#ae81ff">8000</span>
</span></span></code></pre></div><p>That&rsquo;s it. On a remote VPS with enough RAM, this works identically — deploy to a <a href="/go/vultr">Vultr</a> or <a href="/go/do">DigitalOcean</a> high-memory instance and your OpenAI SDK client can talk to K3 from anywhere. Then any tool that reads <code>OPENAI_BASE_URL</code> can talk to Kimi K3:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">from</span> openai <span style="color:#f92672">import</span> OpenAI
</span></span><span style="display:flex;"><span>client <span style="color:#f92672">=</span> OpenAI(base_url<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;http://127.0.0.1:8000/v1&#34;</span>, api_key<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;none&#34;</span>)
</span></span><span style="display:flex;"><span>r <span style="color:#f92672">=</span> client<span style="color:#f92672">.</span>chat<span style="color:#f92672">.</span>completions<span style="color:#f92672">.</span>create(
</span></span><span style="display:flex;"><span>    model<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;deltafin-kimi-k3&#34;</span>,
</span></span><span style="display:flex;"><span>    messages<span style="color:#f92672">=</span>[{<span style="color:#e6db74">&#34;role&#34;</span>: <span style="color:#e6db74">&#34;user&#34;</span>, <span style="color:#e6db74">&#34;content&#34;</span>: <span style="color:#e6db74">&#34;Explain MLA attention in three sentences.&#34;</span>}]
</span></span><span style="display:flex;"><span>)
</span></span><span style="display:flex;"><span>print(r<span style="color:#f92672">.</span>choices[<span style="color:#ae81ff">0</span>]<span style="color:#f92672">.</span>message<span style="color:#f92672">.</span>reasoning_content)  <span style="color:#75715e"># K3&#39;s thinking trace</span>
</span></span><span style="display:flex;"><span>print(r<span style="color:#f92672">.</span>choices[<span style="color:#ae81ff">0</span>]<span style="color:#f92672">.</span>message<span style="color:#f92672">.</span>content)            <span style="color:#75715e"># the answer</span>
</span></span></code></pre></div><p>So the server implements <code>/v1/chat/completions</code>, <code>/v1/completions</code>, and <code>/v1/models</code>. And streaming works (<code>&quot;stream&quot;: true</code>). K3&rsquo;s thinking section is split into <code>reasoning_content</code> and <code>content</code> — DeepSeek-style — so you see the model&rsquo;s chain of thought before the answer. A deterministic response memo caches identical requests (last 32), which is smart given the generation speed.</p>
<p>One detail I noticed: the server holds a global <code>threading.Lock()</code>. No concurrent generations. The README acknowledges this and doesn&rsquo;t apologize — it&rsquo;s greedy-only, temperature/top_p are accepted and silently ignored. This isn&rsquo;t a production inference server. It&rsquo;s a research tool for poking at a 2.78T model from your desk.</p>
<h2 id="who-should-actually-run-deltafins-kimi-k3-locally">Who should actually run Deltafin&rsquo;s Kimi K3 locally</h2>
<p>| Look, Deltafin is not for everyone. The full install needs 1.7 TB of free disk and a willingness to wait 5–10 hours for the download. And the streaming install is faster to set up but slower to use. On both paths you&rsquo;re getting roughly 4 tokens per minute on the developer&rsquo;s reference hardware — a 2019-era M1 Max. If you don&rsquo;t have a workstation that can handle the load, renting a cloud instance from <a href="/go/do">DigitalOcean</a> or <a href="/go/vultr">Vultr</a> is a straightforward alternative — you pay only for the hours you use.</p>
<p>But here&rsquo;s the thing: <strong>no other open-source project can run a 2.78T MoE model on a single workstation.</strong> Deltafin does it with custom MXFP4 kernels, a well-structured build system, and an API that works with any OpenAI SDK client. And the codebase (88 Python tools, C/CUDA/Metal kernels, a 37K-line <code>build_native.py</code>) shows serious engineering. If you&rsquo;re exploring the local LLM space, I&rsquo;ve also covered tools like <a href="/posts/headroom-review-2026/">Headroom for cutting agent token costs</a> — but Deltafin is in a category of its own.</p>
<p><strong>My verdict:</strong> If you have the disk space and the patience, Deltafin is the most interesting local LLM project I&rsquo;ve seen this month. But if you don&rsquo;t have 1.7 TB lying around, wait for the quantized versions — bookmark this repo. And when the hardware catches up, this architecture will be the blueprint.</p>
<p><em>Deltafin is a research project, not a production service. Some links above are affiliate links — if you sign up through them, I earn a commission at no extra cost to you. As an Amazon Associate I earn from qualifying purchases.</em></p>
]]></content:encoded>
    </item>
  </channel>
</rss>
