← Back to Home
テクノロジー ·

128GB革命 #3 antirezが2週間で書いたエンジン

128GB革命 #3 antirezが2週間で書いたエンジン

その道の第一人者が、自分の看板を離れて、休日の作業台で小さな道具を一本削っている。そういう光景には、その道の深さみたいなものがにじみ出るよね。2026年、これと同じことがソフトウェアの世界で起きた。Redisという、世界中のウェブサービスの裏側を支え続けてきたデータベースを生んだSalvatore Sanfilippo氏、通称antirez氏が、2週間で書き上げた単一Cファイルの推論エンジンds4を公開したのだ。目的は自分のためだ。284BパラメータのDeepSeek V4 Flashを、自宅のMacで動かしたい。それだけなんだよね。前回は2016票を集めたスレとコメント欄の金脈を見た。今回はコミュニティの心臓部に血を送る側、すなわち道具そのものを作る男の話をする。

世界一多忙な男の、二週間の道具

まず人物から見ていこう。antirez氏はRedisの作者で、この業界では知らない人がいない存在だよね。Redisはインメモリデータベースと呼ばれる種類のソフトウェアで、速度が命になる場面、たとえば決済の処理やゲームのリアルタイム同期で、世界中に導入されてきた。その設計思想は一貫していて、依存を極限まで減らし、少数のことを美しくやる。Unixの老舗職人の作法と言っていい。いまや巨大プロジェクトになったRedisを離れた後の氏が、次に選んだ題材がローカルLLMの推論エンジンだった、というわけだ。

LLMの推論エンジンというと、巨大なフレームワークと何層にも積もった依存関係を思い浮かべる人が多いと思う。ところがds4は文字どおり単一のCファイルで書かれている。ビルドして手元に置けば、量子化されたモデルをMacのユニファイドメモリの上で直接走らせる。2週間でここまで作り切れるのかという驚きと、Redisの作者が作るならこの形だろうなという納得が、同時に訪れる作りなんだよね。しかもお披露目の場が凝っている。完成したエンジンの性能を、作者本人がHacker Newsに直接現れて解説したんだ。プレスリリースでも会社のブログでもなく、素のコミュニティの質問に、本人がひとつずつ答えていく。この光景こそがオープンソースの原風景だと思う。

なぜそこまでして自宅のマシンで、なのか。正直に言えば、284Bのモデルを自宅で動かす必要のある人は、人口の99%にはいない。クラウドのAPIを使えば済む話だよね。でも残る1パーセント、機密データを外部に出せない人、ネットの届かない環境で仕事をする人、巨大モデルの挙動を自分の目で確かめたい人は、切実に道具を必要としている。antirez氏はその1%の側に立って、自分のために道具を鍛えた。その道具が結果として万人のものになる。オープンソースの古典的な幸福が、いまのLLMの世界で再演されているんだよね。

単一Cファイルという割り切り

ds4の設計をもう少し細かく見てみよう。まず単一Cファイルという割り切り。これは単なる趣味の話ではなくて、長年Redisで実証されてきた「シンプルさは機能である」という思想の延長線上にある。ファイルがひとつで依存が少ないということは、ビルドが壊れにくく、読み切りやすく、どこで何をやっているかが追いやすいということだよね。推論エンジンの世界では、巨大なコードベースの隅で何が起きているか分からなくなる、というのが常態になりがちなので、この割り切りは過激なまでに新鮮なんだ。

もうひとつの特徴がKVキャッシュのディスク永続化だ。LLMはプロンプトを処理するたびに、KVキャッシュと呼ばれる計算途中のメモをメモリ上に組み立てる。同じ長文を何度も食べさせると、この組み立て直しが毎回の待ち時間になる。ds4はこのキャッシュをディスクに保存して再利用できるので、繰り返しの多い使い方では体感が変わる。地味な機能に見えるけど、実運用では効く箇所なんだよね。派手な最適化を追うより、待ち時間の構造を変える。これも職人の仕事の選び方だ。

生態系の中での位置づけも整理しておこう。前回見たoMLXが、AppleのMLXという公式フレームワークの上に実運用の機能を載せていく「正規ルート」だとすれば、ds4は土台から自分で組む「手工具ルート」だ。どちらが上という話ではなく、同じ128GB Macという土壌に、大型の設備と職人の手工具の両方が揃いつつある、という段階なんだよね。工具が揃い始めた現場というのは、次に何かが作られ始める現場でもある。oMLXのコミュニティベンチには38万行を超える実測が蓄積されていて、大勢のユーザーが巨大モデルの重さを分担して確かめている。一方のds4は、その分担の結果を前提にしながら、必要な線だけを一本引く。両者は競合ではなく、同じ現場の設備と工具なんだ。

284Bが81GBに収まる仕組み

ここで物理の話をさせてほしい。DeepSeek V4 Flashは284Bパラメータのモデルだけど、MoE、専門家混合と呼ばれる構造をしている。284Bというのは模型全体の知識の総量で、1回のトークン生成で実際に起動するのはそのうち約13B相当の専門家たちだけなんだよね。284人いる巨大な組織が、問いごとに必要な十数人だけを呼び出して応対する形だ。だから巨大なのに速度が出るし、メモリの使い方も賢い。

とはいえ284Bを素のまま載せようとしたら、128GBには収まらない。そこで量子化という割り勘が要る。IQ2XXSという、1単位あたり2bit強まで重みを丸める荒い量子化を使うと、モデルは約81GBまで縮むんだよね。128GBのメモリに載って、KVキャッシュとOSの分だけまだ余裕が残る計算だ。ただしこれは条件付きの話で、フルの4bit版をまるごと載せたいなら256GBのMacが必要になる。128GB機で284Bが動くのは、量子化という割り勘を済ませたから、というのが正確な理解だと思う。

2bitと聞くと、それで精度が保てるのかと誰もが思うよね。antirez氏はまさにその点をHNで解説していて、q2クラスの量子化がMoEでは意外と機能する、というのが本人の報告なんだ。荒く丸めても、専門家がたくさん並んだ構造が互いの誤差を吸収し合う、と読み解ける。試しに具体例で大きさを感じてみよう。同じDeepSeek V4 Flashでも4bitで保存すると、284Bは128GBには収まらず、256GBのMacが要る。IQ2XXSの約81GBは、その半分以下に切り詰めた数字だ。当然、丸め誤差は増える。それでも生成品質の体感が保たれる範囲に収まっている、というのが使った者たちの報告なんだよね。単一ファイルで始まった個人の道具が、巨大モデルの性質の説明で終わる。この往復の気持ちよさがds4という作品の本体かもしれない。

数字は三つの口から出てくる

では実際の速度に移ろう。ds4のREADMEにあるantirez氏自身の数字では、短いプロンプトで39.35 tok/s。コンテキストを64kまで伸ばすと27.6 tok/sまで落ちる。プリフィル、つまりプロンプトを読み込む速度は460 tok/sに達し、フル速度で回しているときの消費電力は約50Wだったという。ノートPCの充電器一台ぶんの電力で、284Bの頭脳が回っている計算だよね。

この数字を裏側から照射したのが、日本語圏の実測職人、kamo78氏だ。ds4経由でDeepSeek V4 FlashのIQ2XXS版を走らせた実測で、生成34.1 tok/s、プリフィルはコールドスタートで231 tok/sという数字を出している。39.35と34.1、460と231。どちらが正しいかではなく、計測条件が違うんだよね。READMEの39.35は短いプロンプトでの数字、kamo78の231は読み込み直後の冷えた状態での数字。同じエンジン、同じモデルでも、条件の書き添えのない速度は比較にならない。前回のu/arthwareの「表示速度の罠」と同じ教訓が、ここでも生きている。

さらに第三の口がある。Bitcoin Lightningの開発者としても著名なcallebtc氏が、M5 Max 128GBでDeepSeek V4 Flashを動かし、speculative decodingという先読びの機構込みで37.4 tok/sを報告した。MetaやGoogleのオープンモデルの約3倍の速度だと本人は書いている。39.35、34.1、37.4。ぱっと見はばらつきだけど、環境と技法の違いを説明する三つの点として、きれいに並ぶんだよね。速度の数字は、出所と条件がセットになって初めて数字になる。

読者が今日からできることは三つある。ひとつめ、ds4のGitHubリポジトリを開くこと。単一Cファイルなので、他の推論エンジンとは桁違いに読み切れる。ふたつめ、HNの本人解説スレを追うこと。q2量子化がなぜ動くのか、作者自身の言葉で確認できる。みっつめ、kamo78氏のZenn記事で条件つきの実測数字を見比べること。どこまでが機械の性能で、どこからが計測条件の違いか、自分の目で分ける練習になる。この連載はこれからも、数字には必ず出所と条件をつけていく。

次回は、@jun_song氏による2千ドル・4千ドル・7千ドルのハードウェア階層ガイド。ローカルLLMを始める人の財布と決断の地図に迫る。