Kimi K3をCPUでローカル実行:K3Flightの55GBランタイムと929GBモデル
K3Flightは、cPilot Runtimeを介してストレージからウェイトをストリーミングすることで、約55GBのRAMのみで2.8TパラメータのKimi K3モデルをCPU上で実行します。単一ファイルのLinux推論サーバーです。
Kimi K3は、2.8兆パラメータのMixture-of-Expertsモデルです。その完全なQ2_Kチェックポイントは929GBにもなります。これをローカルで実行するのは不可能に思えますが、モデルがメモリに収まる必要がないことに気づけば可能です。新しいオープンソースプロジェクトであるK3Flightは、それを証明しています。単一ファイルのLinux推論サーバーで、Kimi K3をCPU上で実行し、測定されたランタイムRAMフットプリントはわずか約55GBです。
秘訣は圧縮や蒸留ではありません。ストレージ、メモリ、CPUを一つの調整された実行パスとして扱うシステムエンジニアリングのアプローチです。ここでは、その仕組みと自分で試す方法を説明します。
問題:929GBのウェイト vs 64GBのRAM
ほとんどのローカルLLM推論は、モデル全体がRAMに常駐していることを前提としています。929GBのチェックポイントの場合、少なくとも1TBのメモリを搭載したマシンが必要であり、これはほとんどの開発者が持っているものをはるかに超えています。しかし、Kimi K3はMixture-of-Experts(MoE)モデルです。公開されている仕様によると、各トークンは896のエキスパートのうち16のみをアクティブにします。総パラメータ数はモデルの容量を表しており、単一の推論ステップに必要なワーキングセットではありません。
K3Flightはこのスパース性を利用します。すべてをロードする代わりに、cPilot Runtimeは現在の実行パスに必要なウェイトと状態のみをステージングします。完全なチェックポイントはストレージに残り、データは必要に応じてCPUにストリーミングされます。
数値:リファレンス実行が示すもの
メンテナーは、Linux x86-64マシンで完全なKimi-K3-GGUF Q2_Kチェックポイントを実行し、以下の結果を得ました:
- 総パラメータ数: 2.8T
- ランタイムメモリ: ~55GB
- バックエンド: CPUのみ
- プリフィル: ~1トークン/秒
- デコード: ~0.8トークン/秒
これらは単一のリファレンス実行からの予備的な数値であり、保証ではありません。正確なCPUとSSDモデルは開示されていません。ストレージ帯域幅、CPU性能、コンテキスト長、ランタイムバージョンはパフォーマンスに大きく影響する可能性があります。しかし、重要なのは速度ではなく、完全な2.8Tモデルが929GBを常駐させることなくローカルで実行できるということです。
K3Flightの仕組み
K3Flightはモデルを縮小しません。929GBのチェックポイントはディスク上に残ります。代わりに、cPilot Runtimeは推論中にはるかに小さなライブワーキングセットを管理します。これは次のように行います:
- ストレージ、ホストメモリ、CPUを一つの調整された実行パスとして扱う
- モデルが必要とするウェイトとランタイム状態をステージングする
- データ移動と計算を調整してアクティブパスを動かし続ける
- 完全なQ2_Kチェックポイントを完全な常駐なしで利用可能に保つ
これにより、モデルサイズの問題がシステムの問題に変わります。その結果、64GBのRAMと高速なNVMe SSDを備えたマシンで実行できるサーバーが実現します。
はじめに:プレビューのクイックスタート
K3Flightは現在v0.1.0-previewです。最初のLinuxバイナリがパッケージ化されており、メンテナーは再現可能なリリースをすぐに約束しています。準備方法は次のとおりです。
1. バイナリをダウンロード
リリースが公開されたら、GitHub ReleasesからLinux x86-64アーカイブを取得します:
curl -L -O https://github.com/onetoken-oss/K3Flight/releases/download/v0.1.0-preview/cpilot-server-v0.1.0-preview-linux-x86_64.tar.gz
tar -xzf cpilot-server-v0.1.0-preview-linux-x86_64.tar.gz
sha256sum -c cpilot-server-v0.1.0-preview-linux-x86_64.sha256
chmod +x cpilot-server-v0.1.0-preview-linux-x86_64
ソースコードアーカイブではなく、.tar.gzリリースアセットをダウンロードしてください。
2. モデルをダウンロード
Hugging FaceからKimi-K3-GGUF Q2_Kチェックポイントが必要です。929GBなので、ストレージを計画してください。正確なリポジトリとリビジョンについては、MODEL.mdの指示に従ってください。
3. サーバーを起動
モデルディレクトリを設定し、サーバーを起動します:
export MODEL_DIR="$HOME/models/Kimi-K3-Q2_K"
./cpilot-server-v0.1.0-preview-linux-x86_64 \
--model "$MODEL_DIR/Kimi-K3-Q2_K-00001-of-00094.gguf" \
--host 127.0.0.1 \
--port 8080
推論サーバーをネットワークに公開することのセキュリティへの影響を理解しない限り、ループバックバインドを維持してください。
4. リクエストを送信
ブラウザでhttp://127.0.0.1:8080を開いてWeb UIを使用するか、OpenAI互換APIを使用します:
curl http://127.0.0.1:8080/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "kimi-k3-q2_k",
"stream": true,
"messages": [
{"role": "user", "content": "Hello!"}
]
}'
サーバーログにはプリフィルとデコードのスループットが報告されます。
ランタイムオプション
./cpilot-server-v0.1.0-preview-linux-x86_64 --helpを実行してすべてのオプションを確認してください。主なものは次のとおりです:
-m, --model: GGUFシャードへのパス(必須)--host: デフォルトは127.0.0.1--port: デフォルトは8080-t: CPUスレッド(デフォルト12)-c: コンテキストサイズ(デフォルト512)-b: 論理バッチサイズ(デフォルト64)-ub: 物理バッチサイズ(デフォルト64)--cpilot-memory: メモリチューニングレベル(0-?)
要件
プレビューは、狭く検証可能な構成を対象としています:
- Linux x86-64
- 64GB以上のシステムメモリ推奨
- 少なくとも1TBの空きローカルストレージ
- ローカルNVMe SSDを強く推奨
- GPUは不要
macOSサポートは次に計画されています。
FAQ:よくある質問
929GBを55GBに圧縮しましたか? いいえ。モデルファイルはストレージ上で約929GBのままです。約55GBは観測されたランタイムメモリフットプリントです。
これはより小さいモデルや蒸留モデルですか? いいえ。完全なKimi-K3-GGUF Q2_Kチェックポイントです。Q2_Kは量子化された表現なので、元のものと数値的に同一ではありませんが、完全なモデルです。
なぜ2.8Tモデルがこのように実行できるのですか? Kimi K3はトークンごとに896のエキスパートのうち16のみをアクティブにします。cPilotは完全な常駐を要求する代わりにライブワーキングセットを管理します。
約55GBが最小RAMですか? いいえ。これは予備的な測定結果です。プレビューでは64GBが推奨されています。
なぜ生成が遅いのですか? CPUパスは常駐をデータ移動と交換します。ローカル実行を証明するために設計されており、データセンターのレイテンシと競合するものではありません。
既知の制限
- Linux x86-64のみ。macOSはまだリリースされていません。
- CPUのみで、クラウドのレイテンシではなく実現可能性に最適化されています。
- パフォーマンスはストレージとCPUによって異なります。
- 本番SLAはありません。信頼できないネットワークに公開しないでください。
ハードウェアマップの構築に協力
メンテナーは、遅い実行や失敗を含む正直な結果を求めています。試した場合は、CPU、メモリ、SSDモデル、スループットなどの詳細を共有してください。管理された否定的な結果も歓迎します。実際のハードウェア境界を定義するのに役立ちます。
最終的な考え
K3Flightは注目に値する概念実証です。巨大なモデルには巨大なメモリが必要という前提に挑戦しています。MoEのスパース性とスマートなシステムエンジニアリングを活用することで、2.8Tモデルを単一のマシンで実行可能にします。高速ではありませんが、ローカルであり、エッジAI、プライバシー、実験の可能性を広げます。
ローカルLLM推論に興味があるなら、これは注目に値します。リポジトリにスターを付け、プレビューが公開されたら試し、測定結果を貢献してください。ローカルAIの未来はデータセンターを必要としないかもしれません。