Deltafin は 4 つの SSD を使って M1 Max MacBook Pro 上で Kimi K3 (2.8T) を 1 トークン/秒で実行

すぐにわかるポイント

Deltafin は M1 Max MacBook Pro 上で 4 つの SSD からプリューンされていない 2.8 兆パラメータの Kimi K3 モデルをストリーミングし、モデルのエキスパートルーティングや出力品質を損なうことなく、およそ 1 トークン / 秒 (定常状態で 0.29 トークン/秒) を達成しました。


Deltafin が行っていること

Deltafin は 完全にプリューンされていない Kimi K3 MoE モデル (2.78 兆パラメータ、約 1.45 TB のエキスパート重み) を実行する単一バイナリの Rust ランタイムです。必要に応じてディスクから各エキスパート重みをストリーミングし、アテンショントランクは int8 で常駐させます。このバイナリは K3 自身がすべてのトークンを決定することを強制し、最終出力を変更するためのドラフトモデルのショートカットは許可されません。

  • 正確な品質 – 作者の参照プロンプトと同一のトークン出力。
  • モデル圧縮なし – 重量はリリースされた MXFP4 精度で使用;アテンショントランクのみ int8 であり、これは上流で既にビット正確でないと扱われている。
  • ストリーミングアーキテクチャ – 1 つの (レイヤー, エキスパート) あたり 17.5 MiB のファイルを、4 つの Thunderbolt 5 SSD ケースを跨いで pread + F_NOCACHE で読み込む。

M1 Max MacBook Pro でのベンチマーク結果

メトリクス 解釈
定常状態のデコード速度 0.2901 トークン/秒 (1 トークンあたり 3.447 秒) 前回のリリース (0.2847 トークン/秒) と比べてわずかに向上 (約 1.9 % の向上)。
短時間実行速度 (128 トークン) 1.13 トークン/秒 キャッシュが温まっているため、長時間平均より高い。
17 トークンベンチマークでの中央値速度 0.96 トークン/秒 上流で報告された作者の参照値 0.684 トークン/秒に近い。
最初のトークンまでの時間 (512 トークンプロンプト) 約 6.3 分 プリフィルが主要なコスト;読み取り増幅係数 ≈6.2×。

歴史的な進展は、ストレージパスの最適化 (例:需要とプリフェッチキューの分離、デバイス間の読み取りバランス) による急速な向上を示しています。作者は、合計で全体のスピードアップの約 43 % を占める 4 つの特定の修正を指摘しています。


ストレージサブシステムの動作方法

  • 4 つの SSD が Thunderbolt 5 ケースを介して接続されており、それぞれがエキスパートファイルのサブセットを格納。
  • 読み取りパス:専用のスレッドプール (デフォルト 16 スレッド) が F_NOCACHE を使用して pread 呼び出しを発行し、OS のページキャッシュの汚染を回避。
  • プリフェッチ:元の実装では固定ディレクトリ順を走査していたため、すべての読み取りが単一のケースに集中していた。Deltafin では、プリフェッチを「最も完了が予想されない」デバイスに割り当てることで並列性が向上。
  • レプリケーション:ホットエキスパートは 2 つのドライブに複製可能;レプリカ間で読み取りを分割することで、約 10 % のスループット向上。
  • インストルメンテーション:補完的な ARGODRIVE リポジトリは、1 デバイスあたり 10 ms の読み取りモニタと、各エキスパートを提供したドライブを記録するバリアトレースを提供。

インストールと使用方法

1. バイナリのインストール

git clone https://github.com/gavamedia/deltafin.git
cd deltafin
cargo build --locked --release

2. モデルの準備

  • 完全常駐モデル (最速)
    ./target/release/deltafin setup --full   # 約 1.7 TB の重みをダウンロード
    
  • ストリーミングモード (ディスク使用量が低い)
    ./target/release/deltafin setup --stream   # 初期 ~215 GB で開始、必要に応じてエキスパートを取得
    

3. プロンプトの実行

./target/release/deltafin run --chat \
  --prompt "Saturn の 3 つの最大の衛星は何ですか?"

--stats を追加すると 1 トークンごとのタイミングを表示、--max-new N を追加すると生成トークン数を制限。

4. OpenAI 互換 API で提供

./target/release/deltafin serve --host 127.0.0.1 --port 8000

サーバーは /v1/chat/completions/v1/completions/v1/models を実装し、厳密な入力検証とストリーミング SSE 出力を提供。


オプションの Qwen アドオン

Deltafin は小さな Qwen モデル (0.6B/1.7B) をロードでき、原始的な継続をドラフトします。K3 がドラフトを検証することで、17 トークンの完了で 2.7 倍のスピードアップ を達成しつつ、同一の出力 ID を維持します。インストールは以下の通りです:

./target/release/deltafin setup-qwen

これによりディスク上に約 4.3 GiB 追加されますが、チャットモードの加速は行いません


Hacker News コメントからのコミュニティの知見

  • 実用性への懐疑 – 複数のコメント者が、6 分間のプリフィル時間がほとんどのリアルタイムユースケースに不適切であると指摘。
  • ハードウェアへの関心 – ユーザーがより高速な SSD (例:Intel Optane) がスループットを向上させるか尋ねた;作者の測定ではすでに明確な ドライブ数ラダー (ドライブを追加すると 57 % → 78 % → 92 % → 100 % の 4 ドライブレートに達する) が確認されている。
  • 拡張の可能性 – コメントで GLM-Flash などの他の MoE モデルへのアプローチの利用が提案され、ストリーミングエキスパート技術の広範な関連性が示唆された。
  • README の批判 – 複数のユーザーがドキュメントの情報量が低いと感じたが、作者は後に詳細なパフォーマンスノートと失敗した設定のカタログを追加し、他の人が結果を再現するのを支援した。

作者がまだ助けを必要としていること

  1. エキスパート主導のプリフィルスケジューリング – 各レイヤーごとにエキスパートを 1 回読み込み、ルーティングされたすべての行をまとめて処理することで、6.2× のプリフィル増幅を 1× に近づけることができる。
  2. クロスハードウェア検証 – Apple Silicon 以外のプラットフォームでも観測されたドライブラダーのスケーリングが成り立つか確認する必要がある。

なぜこれが重要なのか

消費向けハードウェア上で 2.8 兆パラメータの MoE モデルを実行することは、ストレージ中心のストリーミングが、最先端の AI 研究と個人用コンピューティングのアクセス性のギャップを埋められる可能性を示しています。単純なデコード速度は控えめですが、この実験は読み取りパスの競合、プリフェッチのバランス、エキスパートのレプリケーションといった、サーバーでもエッジデバイスでも適用可能な大規模 MoE デプロイに共通する明確なエンジニアリングのボトルネックを明らかにしています。


ライセンスと出典

  • Deltafin コード:MIT ライセンス。
  • Kimi K3 重み、DSpark チェックポイント、およびオプションの Qwen チェックポイントは、上流のライセンスを維持。
  • このプロジェクトは Moonshot AI とは独立しており、企業との関係はありません。

Sources

関連

  • プロジェクト
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch