HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

Kimi K3 (2.8兆パラメータ) がMacBook ProでSSD4台からストリーミングし、1トークン/秒で動作

Kimi K3 (2.8T) at 1 token/s on a MacBook Pro, streamed from four SSDs (github.com)

239 pointsby Argonautlabs122 コメント

要約

このプロジェクトは、2.8兆パラメータを持つ大規模言語モデルKimi K3を、MacBook Pro上のコンシューマーハードウェアで、SSD4台からストリーミングしながら1トークン/秒の速度で実行することを目指しています。Deltafinは、モデルの品質を一切損なわずに、可能な限り高速に実行するための実験的な取り組みです。これにより、高価なインフラストラクチャではなく、比較的手頃な価格のセットアップで最先端モデルを利用可能にすることを目指しています。

全文翻訳

Kimi K3 (2.8T) at 1 token/s on a MacBook Pro, streamed from four SSDs

TL;DR — Kimi K3 (2.8兆パラメータのMoE、1.45 TBのエキスパート重み) を、4つのSSDからストリーミングされるエキスパートと共に、128 GBメモリ搭載のM5 Max MacBook Proで実行。

  • 毎秒1.00トークンの安定したデコードを512トークンの応答で実現。128トークンでは1.13、公開されている17トークンのプロンプトでは0.96 (アップストリーム報告は0.68)。
  • 正直な限界: 512トークンのプロンプトは、最初のトークンまで約6.3分かかります。原因は特定済み (プリフィルが各レイヤーのエキスパートを8回再読み込み)。修正計画あり、未実装。
  • 有用な発見: ドライブ1台では4台の約52%の速度、2台では約73%、3台では約90%にしかならない。各レイヤーの16回の読み込みのうち最も遅いものがペースを決定し、総帯域幅ではない。
  • 全ての数値は、同一プロンプトでのコールドラン1回分です。実行ごとのログと配置マニフェストは k3-public-bench/ にあります。
  • エンジンを構築した gavamedia/deltafin (MIT) のフォークです。詳細は CREDITS.md を参照してください。ツール: ARGODRIVE。

ARGODRIVEを試して、あなたの結果を共有してください

これらの結果が他のマシンにどのように適用されるか、私たちに教えてください。最初の5件の独立したインストール成功と3件のベンチマーク比較再現を探しています。これらは目標であり、完了したレポート数ではありません。

  1. このフォークをインストール: 下の 新規インストール に従ってください。モデル重みをダウンロードする前に、要件を確認してください。
  2. あなたのセットアップを測定: ベンチマークガイド を使用してください。その4ドライブ構成は参照レシピです。実行前にモデルパスと配置をあなたのハードウェアに合わせて調整してください。フォークをインストールするだけでは、そのレイアウトは再現されません。
  3. 結果を共有: ハードウェアと結果のテンプレート を新しい ディスカッション にコピーしてください。インストールの成功、遅い結果、セットアップの失敗、すべてが役立ちます。

ARGODRIVEダッシュボードと測定ツール は、ドライブのアクティビティと保存された実行を検査するのに役立ちます。これらは現在ローカルセットアップが必要で、パッケージ化されたMacアプリはまだ利用できません。診断実行は時間測定比較から分離し、監視が有効だったかどうかを記録してください。


ARGODRIVE Deltafinベンチマーク — M5 Max, 128 GB, 4つのSSDからストリーミングされるエキスパート

このフォークの記録構成 (k3-public-bench/env.sh) で2026-09-08に測定。全ての数値は同一プロンプトでのコールドラン1回分であり、実行ごとのログは k3-public-bench/results/ にあります。

[画像: 512トークンで毎秒1.00トークン、128トークンで1.13、公開プロンプトで0.96、512トークンプロンプトで最初のトークンまで6.3分]

drafter offdrafter on
安定デコード, 512トークン応答 (トークン/秒)0.921.00
安定デコード, 128トークン応答 (トークン/秒)0.931.13
公開17トークンプロンプト (issue #15; アップストリーム報告は0.68), 3回のメディアン (トークン/秒)—0.96
最初のトークンまでの時間, 512トークンプロンプト6.3 分6.3 分

Steady = 最初のトークン以降のデコードレート。包括的なレートと4桁の値は results/RESULTS-2026-09-08-standard-lengths.md にあります。

[画像: ドライブ数によるデコード速度: 1台で約52%、2台で約73%、3台で約90%の4台構成速度] [画像: 200トークン記録アーム中の4ドライブの読み込みスループットのアニメーション再生] [画像: エンジン実行時とスタンドアロン上限でのドライブごとの消費電力]

同一プロンプトでのドライブ数による段階的な変化: ドライブ1台で4台構成速度の約52%、2台のフルミラーで約73%、3台で約90% (results/SCALING.md)。プリフィルが遅い理由と修正方法: results/PREFILL.md。定義、IDスコープ、精度声明: k3-public-bench/README.md。


	____       _ _         __ _
	|  _ \  ___| | |_ __ _ / _(_)_ __
	| | | |/ _ \ | __/ _` | |_| | '_ \
	| |_| |  __/ | || (_| |  _| | | | |
	|____/ \___|_|\__\__,_|_| |_|_| |_|

フル、一切剪定なしの2.8兆パラメータ Kimi K3 を、可能な限り「高速」にコンシューマーハードウェアで実行

Deltafinは、フル Kimi K3 を実行する単一のネイティブバイナリです。一切剪定なし。スキップなし。K3 が全てのトークンを決定します。

全ての16個のエキスパート、全てのトークン。ショートカットなし、「ほぼ十分」なし。Moonshot がリリースしたものと全く同じです。

品質ルールはシンプルです: K3 自体が全てのトークンを決定し、他の誰も決定しません。小さなドラフトモデルは先読みを許されます (それが速度の多くを生み出す源です) が、K3 は全ての推測をチェックし、公式の承認なしには何もあなたに届きません。

アップストリーム自身のM1 Maxラップトップでのベンチマーク (gavamedia/deltafin、変更なし — このフォークの数値ではありません。フォークの結果はこのページの最上部にあります)

  • 毎秒0.2901トークン (3.447秒/トークン) — 前回のアップデートからスループットが1.9%向上

アップストリームの過去のM1ベンチマーク:

  • 毎秒0.2847トークン (2026年8月2日) — スループットが7.0%向上
  • 毎秒0.2660トークン (2026年7月30日) — スループットが102.9%向上
  • 毎秒0.1311トークン (2026年7月28日) — スループットが829.8%向上
  • 毎秒0.0141トークン (2026年7月27日)

[画像: model] [画像: platforms] [画像: accelerators] [画像: experts] [画像: runtime] [画像: license]


ミッションステートメント

純粋な生のカットされていないK3品質を、可能な限り高速に。 スピードはモデルの品質を低下させることから決して来てはなりません。Deltafinは、全ての16個のルーティングされたエキスパートと、全てのトークンに対する唯一の権威としてのフルK3ターゲットを維持します。

私たちの目標は、K3のような巨大なモデルを実行する際に、可能な限りの効率を絞り出すことです。全ての選択肢を検討しますが、品質の低下は除外します。


しかし、なぜか?

Deltafinは製品の売り込みではありません。これは、コンシューマーハードウェアをどこまでプッシュできるか、そしてそのような困難なことに挑戦することで何を学べるかについての実験です。

Kimi K3 は、16ノード規模のインフラストラクチャと約4.8 TBの集約VRAMをターゲットとしています。これは、フル2.8兆パラメータと100万トークンのコンテキストウィンドウを意味し、エキスパートバンクは一切剪定されません。どのホームセットアップでも、これは極端な制約です。1%の改善でさえ非常に困難です。しかし、それぞれの進歩は何かを教えてくれます。

研究と探求が目的です。 それが私たちのミッションです。ベンチャーキャピタリストを感心させるために、全てが「実用最小限の製品」である必要はありません。Deltafinが、Kimiが推奨する200万ドルのインフラストラクチャではなく、15,000ドルのホームセットアップで最先端モデルを利用可能にするのに役立つなら、私たちはセルフホストAIの旅において価値ある進歩だと信じています。さらに、その過程で学んだことは、予期せぬ方法で他のプロジェクトにも役立つ可能性があります。

「私たちは、フル2.8兆パラメータモデルをローカルで実行することを選択し、他のことも行います。それは簡単だからではなく、困難だからです。」 — おそらくジョン・F・ケネディ

他のプロジェクトは、なぜかより高速にフルK3を実行しているように見えます。しかし、よく見てください。それらはK3のエキスパートバンクを約3ビットに再エンコードしています。これは異なる目標に向けた巧妙なエンジニアリングです。つまり、フィットして「ほぼ十分」な最小のK3です。それらの重みはもはやMoonshotがリリースしたものとは異なり、それらの妥協がどれだけのコストをかけたかを測定した者はいません。それどころか、彼ら自身も測定していません。

Deltafinは別の実験です。Moonshotが出荷した通りの各エキスパートバイトを、物理法則が許す限り高速化します。


1. 新規インストール

以下のコマンドは、前述のストレージ作業とベンチマークパッケージを含むARGODRIVEフォークをインストールします。元のエンジンはgavamedia/deltafinで維持されています。帰属についてはクレジットを参照してください。

Deltafinは必要なもののほとんどをインストールします。要件で不足しているものがないか確認してください。

# 1. 取得
git clone https://github.com/argonautlabsai/deltafin.git
cd deltafin

# 2. ビルド
cargo build --locked --release

# 3. フル 1.7 TB K3モデルをディスクにダウンロード (オプション、ただし最速)
./target/release/deltafin setup --full

または、ディスク容量が不足している場合:

# 3. 使用時にK3をストリーミング (遅いが、開始時に215 GB)
./target/release/deltafin setup --stream

setup --stream は、常駐モデルをインストールし、オンデマンドで正確なエキスパートを取得します。最初は、ルートにローカルキャッシュがない場合に非常に遅くなります。時間とともにキャッシュを構築するにつれて、これはスペースを節約する方法となり、使用するモデルの部分のみを保存し、ディスク上のキャッシュから完全に実行します。

デフォルトのDSpark (およびオプションのQwen)

通常のセットアップにはInferactのKimi-K3-DSparkが含まれます。ディスク上で6.635 GiB、実行時にロードされると約4.49 GiBかかります。DeltafinはK3の埋め込みの冗長なコピーであるDSparkのマテリアライズを回避します。チャットとサーバーリクエストは、有益な場合に自動的にDSparkを使用します。失敗、ヘッドルーム不足、または悪いライブ経済状況は、フルK3を単独で実行させます。

Qwenは、より高速な生のテキスト継続のための別のアドオンです:

# 4. オプションで後からqwenをインストール
./target/release/deltafin setup-qwen

Qwenは生の完了のみを高速化します。小規模モデルが次のものを推測し、K3がその推測をチェックし、あなたは同じ出力IDをより短い時間で得ます。これはコードの自動補完やその他の /v1/completions トラフィック、および deltafin run --prompt ... に役立ちます。17トークンの完了を測定したところ、同じ出力IDで2.7倍高速になりました。

これはディスクに4.337 GiBを追加します。Qwenはチャット速度を向上させないため、オプションのアドオンとしています。deltafin setup --full --include-qwen で新規インストールに追加するか、上記のコマンドで後から追加できます。

2. アップグレード

Deltafinフォルダから:

./target/release/deltafin upgrade

upgrade は必要なものを取得し、バイナリを再ビルドします。モデル、変換された重み、キャッシュはそのままです。セットアップを再実行したり、K3を再ダウンロードしたりしません。


注意: 古いPythonバージョンからアップグレードしますか?まず確認してください:
git status --short

# ⬆️ 何も返ってこない場合にのみ続行

git pull --ff-only
cargo build --locked --release
./target/release/deltafin upgrade

git status --short が何もリストしない場合にのみ続行してください。ファイルがリストされている場合は、アップグレード手順が推測するのを許可するのではなく、その作業を自分で保存またはコミットしてください。既存のモデルデータは、同じリポジトリルートディレクトリに残ります。


upgrade はクリーンで分岐していないブランチを必要とし、バイナリがどのようにビルドされたかを記憶しているため、NVIDIA/CUDAビルドはCPUに静かにフォールバックするのではなく、CUDAビルドのままになります。予期しないことは、アップグレードを安全に停止させます。

upgrade はビルド環境変数を無視します。バイナリが既にビルドされていた設定を再利用します。したがって、設定を変更する場合 (CPUからCUDAへ、またはLibTorchツリーの移動など)、新しい変数を設定して cargo build --locked --release を一度実行してください。詳細は要件を参照してください。これが記録されたセットアップとなり、後続のアップグレードはこの設定を維持します。

3. コマンドラインからの使用

# チャット: K3の監査済みチャットテンプレートを適用し、モデルの終了マーカーで停止。
./target/release/deltafin run --chat \
  --prompt "What are the three largest moons of Saturn?"

# 生の継続: 出力を制限します。生のテキストにはチャット終了境界がありません。
./target/release/deltafin run \
  --prompt "The capital of France is" --max-new 17

# 累積スループットとネイティブトランザクション統計を追加。
./target/release/deltafin run \
  --prompt "The largest planet in our solar system is" --max-new 17 --stats

--stats なしの場合、生成されたテキストはトークンごとの診断行を1つ印刷するのではなく、通常どおりストリームされます。--max-new N は新しいトークンを制限しますが、プロンプトやコンテキストは変更しません。チャット出力はK3の制御境界で停止しますが、生の継続は通常境界を使用する必要があります。

長い会話は短い完了よりもはるかに遅くなります。プリフィルとキャッシュは履歴とともに成長し、起動時に実際の使用可能なコンテキスト境界が表示されます。

4. OpenAI互換サーバー経由での使用

./target/release/deltafin serve --host 127.0.0.1 --port 8000
curl http://127.0.0.1:8000/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"deltafin-kimi-k3","stream":true,"messages":[{"role":"user","content":"Hello!"}]}'

ネイティブサーバーは /v1/chat/completions, /v1/completions, /v1/models を実装しており、サーバー送信イベントストリーミングも含まれます。OpenAI互換クライアントを http://127.0.0.1:8000/v1 にポイントし、そのクライアントが期待する空でないローカルAPIキーを使用してください。

サーバーは、 deliberately 小さく、厳密にチェックされたOpenAI APIのサブセットを実装しています — テキストのみ、一度に1つの生成、常に貪欲で再現可能 — そして、それを正常なOpenAI形式のエラーで拒否し、サイレントに無視するのではなく、それを正確に満たすことができないものは拒否します。成長するチャットは、正確な会話状態の再利用、ドラフト検証済みDSparkの高速化、および正確な応答メモから自動的に利益を得ます。受け入れられた各フィールド、拒否ルール、およびキャッシングの詳細は、サーバーリファレンスにあります。

デフォルトのサーバー応答上限は100万トークンです。クライアントを統合する際は --max-tokens N でこれを下げ、フルK3の応答は遅いためクライアントのタイムアウトを上げてください。リクエストJSONは --max-request-bytes (デフォルト128 MiB) によって制限されます。サーバーをループバックに置いておくのは、独自の認証とネットワーク境界を追加しない限りです。


ドキュメント

  • ネイティブランタイムの仕組み — 単一バイナリのインプロセス設計: Rustコア、C-ABIプロバイダー、ルータートレーシング、エキスパートプリフェッチ、ネイティブトークン化。
  • OpenAI互換サーバーリファレンス — 受け入れられる、または拒否されるAPIフィールド、自動チャット高速化、正確な応答メモ。
  • ヘルスチェック — インストール、アップグレード、または問題の後にランタイムと各インストール済みコンポーネントを検証する、読み取り専用でネットワークフリーの監査ツール。
  • ネイティブストレージ準備 — セットアップが準備するデフォルトのrow-int8常駐スパイン。元のBF16を明示的に選択し、どちらかを連続したDFSPファイルにパックし、ロスレスなscale4エキスパートサイドカーを作成します。
  • パフォーマンスリファレンス — ベンチマークハーネスで測定を再現する方法、および確立されたM1 Max参照結果。
  • 設定 — 重要なフラグと環境変数、およびそれらの背後にある品質ガード。
  • サポートされているプラットフォーム — 各ホストクラスが実行するもの (MPS/Metal, CUDA, ネイティブCPU) とプラットフォームごとの証拠ステータス。
  • 開発参照資料 — なぜ古い tools/*.py ファイルがツリー内に、ネイティブランタイムが実行しない凍結参照資料として残っているのか。

クレジット

Deltafinは、他の人々が素晴らしい仕事を発表してくれたおかげで存在しています:

  • Moonshot AI は、K3の重み、アーキテクチャ、および読みやすいモデルセマンティクスをリリースしました。
  • Inferact は、変更されていないK3固有のDSparkチェックポイントをリリースしました。TorchSpec はそのトレーニングフレームワークを文書化し、vLLMチームはK3統合およびリカレント/アテンションキャッシュの研究を発表しました。Deltafinのネイティブランタイム、検証ツール、スケジューリング、および状態トランザクションは独自のもです。
  • GigaToken (by Marcel Rød) は、大規模サーバー履歴のためのDeltafinの自動安定順列トークン化パスにインスピレーションを与えました。
  • Maurice Brown (trumb) は、Linux、aarch64、x86 SIMD、およびNVIDIAの発見、さらにプルリクエスト #2でのDGX Spark測定に貢献しました。Deltafinは、レビューされた機能とABIゲートの背後にそれらの発見を保持しました。
  • colibri は、積極的なMoEストリーミングとルーターのルックアヘッドのアイデアを実証しました。ds4 / DwarfStar は、正確なエキスパートストリーミング、キャッシュ所有権、および正確性第一の測定に関して、特に明確な先行事例を提供しました。
  • Qwen は、オプションの0.6B/1.7B提案専用生の完了モデルを提供します。
  • flash-linear-attention, PyTorch, llama.cpp/ggml, tiktoken およびより広範なローカルモデルコミュニティは、不可欠なセマンティクスと先行事例を提供しました。

正確な出所と配布境界は、サードパーティの出所と通知に記録されています。

ライセンス

Deltafinの追跡されたプロジェクトコードはMITです。Kimi K3の重み、DSparkチェックポイント、オプションのQwenチェックポイント、およびその他の全てのサードパーティ資料は、アップストリームの条件を保持します。DeltafinはMoonshot AIとは無関係の独立したプロジェクトです。