Kimi K3 のアーキテクチャと vLLM による推論エンジン解説
Moonshot AI が Kimi K3 モデルの公開重みに対応した vLLM の Efficient Day-0 サポートを発表し、1M トークンコンテキストや MXFP4 量子化を効率的に処理する実用的なガイドを提供している。
AI深層分析を開く2026年7月29日 23:14
AI深層分析
キーポイント
Kimi K3 モデルの主要特徴
2.8兆パラメータの MoE 構造を持ち、1M トークンのコンテキストウィンドウとネイティブビジョン機能を備え、KDA と AttnRes を基盤としている。
vLLM による高性能推論の実現
NVIDIA GB300 NVL72 環境において、DSpark 使用時に最大 370 tok/s のスループットを達成し、推論速度が 3.14 倍向上した。
新技術の統合と実装
KDA レイヤーに対するプレフィックスキャッシングや、再帰型 plus アテンション設計への対応など、vLLM コアインフラが刷新された。
再帰状態のプレフィックスキャッシング
vLLM は物理的な状態ブロックサイズと一致する粒度を分離し、ブロック境界で状態スナップショットを再利用することで、共有されたプロンプトでもキャッシュヒットを実現する。
Attention Residuals と Stable LatentMoE の最適化
vLLM は Attention Residuals 計算を単一の CUDA カーネルに統合し、MXFP4 量化された重みと 2.8T モデル向けに TRT-LLM-Gen や MegaMoE を選択する MoE バックエンドを提供する。
重要な引用
Kimi K3 is a 2.8-trillion-parameter multimodal MoE (16 of 896 experts active per token) with a context window of up to 1M tokens
vLLM serves Kimi K3 at 118 tok/s without speculative decoding and 370 tok/s (a 3.14× improvement) with DSpark, on NVIDIA GB300 NVL72.
Serving K3's hybrid recurrent-plus-attention design required new vLLM core infrastructure: prefix caching over recurrent (KDA) state
vLLM separates the physical state-block size from the prefix-match granularity and reuses state snapshots at block boundaries, so long shared prompts still hit cache.
編集コメントを表示
編集コメント
Kimi K3 のような超大型 MoE モデルを、既存のインフラで効率的に動かすための具体的な技術的解決策が示された点は非常に価値がある。特に再帰型アテンションへの対応は、今後のハイブリッドアーキテクチャモデルの展開において重要な指針となるだろう。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
Kim K3 は、これまでに公開された最も強力なオープンウェイトモデルの一つであり、Efficient Day-0 vLLM サポートを正式に発表できることを嬉しく思います。先週は本番環境での統合作業のプレビューをお伝えしましたが、本日 Moonshot AI の重みが公開され、サポートが利用可能になりました。
Kimi K3 は 2.8 兆パラメータを持つ Mixture-of-Experts (MoE) モデルで、トークンごとに 896 個のエキスパートのうち 16 個が活性化する構成です。基盤技術には Kimi Delta Attention (KDA)、Attention Residuals (AttnRes) を採用し、100 万トークンのコンテキストウィンドウとネイティブビジョン機能を備えています。K3 の最大の課題は、KDA や MXFP4 MoE 実行、KV キャッシュ管理、prefill/decode の分離、推測的デコーディング、そして長文コンテキストの展開レシピを、実際に運用可能なサービングエンジンの中でどう統合するかです。この記事では、その実践的なガイドを提供します。
TL;DR
Kimi K3 は 2.8 兆パラメータのマルチモーダル MoE モデルで、トークンごとに 896 個のエキスパートのうち 16 個が活性化する構成です。コンテキストウィンドウは最大 100 万トークンをサポートし、Kimi Delta Attention や Attention Residuals、Stable LatentMoE デザインを基盤としています。また、ネイティブ MXFP4 (4 ビット) 重みも採用しています。
🔷ユーザーあたり最大 370 トークン/秒:NVIDIA GB300 NVL72 上で vLLM が Kimi K3 を処理します。推測的デコーディングなしでは 118 トークン/秒、DSpark を使用すると 370 トークン/秒(3.14 倍の改善)を達成します。
🔷発売時に広範な機能をサポート:推測的デコーディング、prefill/decode の分離、Mooncake と連携したエージェント KV キャッシュ、ツール呼び出し、推論出力、構造化出力など。NVIDIA (B200, B300, GB200, GB300) および AMD ROCm に対応しています。
🔷 vLLM は、Kimi K3 向けの最先端な推論アルゴリズム「DSpark」をサポートしています。この技術は vLLM でトレーニングされ、Inferact によってオープンソース化されました。
🔷 K3 のハイブリッド型リカレント+アテンション設計をサービスするには、vLLM コアのインフラに新たな変更が必要でした。具体的には、リカレント状態(KDA)に対するプレフィックスキャッシングです。この改善は、現在ではすべてのハイブリッド線形モデルにも恩恵をもたらしています。
Kimi K3 のアーキテクチャと、vLLM によるサポート方法
K3 は標準的なトランスフォーマーとは 4 つの点で異なり、それぞれが推論エンジンの役割に新たな要求を課します。

Kimi K3 のアーキテクチャ革新(元ブログ記事より:https://www.kimi.com/blog/kimi-k3)
Kimi Delta Attention: ハイブリッド型リカレント+フルアテンションスタック。K3 のレイヤーの大部分は KDA で、これは成長する KV キャッシュではなく固定サイズの再帰状態を維持する線形アテンション機構です。これに、正確なグローバルな記憶保持のために定期的に挿入されるフルアテンション層が組み合わされています。この組み合わせこそが、100 万トークンという巨大なコンテキストを現実的なコストで実現可能にしています。
単一のハイブリッド KV キャッシュマネージャーが、一つのスケジューラーの下で両方のメモリタイプを管理します。フルアテンション層にはページ化された KV ブロックを、KDA 層にはコンパクトな再帰状態ブロックを使用します。最も難しい課題は、リカレント状態に対するプレフィックスキャッシングです。KDA レイヤーにはハッシュ化できる個別トークンごとの KV が存在しないため、vLLM は物理的な状態ブロックサイズとプレフィックスマッチングの粒度を分離し、ブロック境界で状態のスナップショットを再利用します。これにより、共有されたプロンプトが依然としてキャッシュヒットするようになります。

Kimi K3 は、線形アテンション層と周期的なフルアテンション層を交互に配置しています。vLLM のハイブリッドキャッシュは、再帰状態とページ化された KV キャッシュを統合して管理します。
Attention Residuals(アテンション残差): AttnRes は、直前の層の出力をソフトマックスアテンションで混合し、ネットワークの深さ全体にわたって各トークンの表現がその内容に適応できるようにします。vLLM は、ロジット計算、直前層に対するソフトマックス計算、そして集約を単一のカーネル起動で実行する融合 CUDA カーネルを実装しています。これにより、残差加算と出力の RMSNorm(RMS 正規化)も同じカーネルに組み込まれています。
Stable LatentMoE: 各トークンは、896 個のエクスパートのうち 16 個にルーティングされます。エクスパートはエクスパート並列性でシャード処理され、vLLM は異なるトポロジー向けに最適化された 2 つの MoE バックエンドを提供します。テンソル並列(TP>1)には TRT-LLM-Gen を、非集約型やエクスパート並列(DEP)には MegaMoE を使用し、必要に応じて Expert-Parallel Load Balancing(EPLB:エクスパート並列負荷分散)も利用可能です。
MXFP4 重みとネイティブビジョン: K3 の重みは 4 ビットの MXFP4 で量子化 Aware にトレーニングされているため、低精度処理は事後変換ではなくネイティブ機能として実装されています。
Serving semantics(サービングのセマンティクス): K3 は Jinja チャットテンプレートなしで提供され、トークナイザーは Python プログラムを通じてメッセージをレンダリングします。vLLM では、このレンダリングプログラムが Python フロントエンドと Rust フロントエンドの両方で実装されているため、ツール呼び出し、推論出力、構造化出力の動作が両環境で完全に一致します。
Built for production(本番向けに設計): 2.8T のハイブリッド MoE を適切にサービングするには、一人の利用者に対して高速であり、数千名に対して効率的であり、エージェントにとって使い続けられるものであることが求められます。vLLM は Kimi K3 をこれら三つの要件すべてを満たす形で提供しています。
超低遅延の実現: 精度を損なうことなく 2.8T パラメータのモデルで超低遅延を実現するには、スペキュレーティブ・ディコーディング(推測デコード)が最適な選択肢です。そのため vLLM は開発当初から DSpark をサポートしており、K3 向けに独自の DSpark スペキュレーターを訓練して公開しました。DSpark はブロック拡散のバックボーンを採用し、並列パスで複数のスペキュレートトークンを生成します。これにより、ブロックが深くなってもドラフトのコストは一定に保たれます。また、ドラフトモデルを MLA ネイティブ化し、K3 のアテンション構造と一致させることで、ドラフト側とターゲット側の KV 配置を類似させています。

Kimi K3 DSpark の各種データセットにおける位置付け受容率。同じビルド、プロンプト、手法で測定した結果、1 ユーザーあたり 118 トークン/秒から 370 トークン/秒へ(3.14 倍の向上)となりました。これは 16 基の NVIDIA GB300 NVL72 GPU で達成されたものであり、TP8 の構成では 111 → 331 トークン/秒の改善です。この速度向上は出力の予測可能性に依存します。コーディングや低エントロピーなタスクでは 1 ステップあたり約 4.73 トークンが受容され、クリエイティブライティングのような高エントロピーなタスクでは約 2.61 トークンとなります。つまり、この速度向上は標準設定での測定値であり、普遍的な定数ではありません。今回のリリースで、ドラフトモデルと推論サポートの両方がオープンソース化されました。
大規模推論(プリフィル/デコードの分離): 高スループットな運用環境では、vLLM が K3 をノード間で専門家並列とデータ並列で実行し、さらにプリフィル/デコード(PD)の分離を実現します。これにより、プリフィル負荷の高い処理とデコード負荷の高い処理を別々のレプリカで実行し、それぞれが自らのボトルネックに合わせて最適化されます。検証済みのトポロジーでは、TEP8 のプリフィルから DEP16 のデコードへルーティングされ、KV(キーバリュー)や状態情報は NIXL を介してステージ間で移動します。

プリフィル/デコード分離のフローエージェント型推論: エージェントワークロード(長い多回対話セッション、ツールループ、大規模な共有システムプロンプト)では、KV の詳細な再利用が不可欠です。vLLM の Mooncake 統合により、K3 はターンやリクエスト間で KV をオフロードして再利用できます。これにより、繰り返し現れるコードベースやドキュメント、エージェントのスクラッチパッドに対して、各ターンで完全なプリフィル処理を繰り返す必要がなくなります。再帰的な状態に対する K3 のプレフィックスキャッシングと組み合わせることで、コンテキストが蓄積しても長期的なエージェントセッションの応答性を維持できます。
パフォーマンスとベンチマーク
以下の結果はすべて、リリース版のパース機能を実装した OpenAI 互換エンドポイント経由で取得したものです。
🔷GSM8K: 0.976
🔷GPQA-Diamond: 0.939
🔷OCRBench: 0.889
🔷MMMU Pro Vision: 0.818
推論能力と知識の観点では、vLLM は Kimi K3 が報告している品質を忠実に追跡しています。これは、カーネル、パーサー、キャッシュがモデルの品質をエンドツーエンドで維持できていることを意味します。

Kimi K3 の推論スループットは、バッチサイズ 1 で測定した値です。評価環境には 2 GB300 トレー(8 GB300 GPU)を使用しました。
一つ補足しておくと、Kimi K3 は回答を生成する前に多くの思考を行います。スコアが低い場合、すぐに「誤り」と判断せず、まず回答が途中で切れていないか確認し、必要に応じて max_tokens の予算を余裕を持って増やすことをお勧めします。
デプロイ
クイックスタート(2.8T モデルの MoE 版を実行するには、最低でも 1 ノードの 8× B300 環境が必要です):
vllm serve moonshotai/Kimi-K3 \
--tensor-parallel-size 8 \
--trust-remote-code \
--load-format fastsafetensors \
--enable-prefix-caching \
--max-num-seqs 512 --max-model-len 32768 \
--enable-auto-tool-choice --tool-call-parser kimi_k3 \
--reasoning-parser kimi_k3DSpark による推測的デコーディングの有効化:
--speculative-config '{"model":"Inferact/Kimi-K3-DSpark","method":"dspark","num_speculative_tokens":7,"attention_backend":"FLASHINFER_MLA","draft_sample_method":"probabilistic","rejection_sample_method":"block"}'デプロイに関する注意点(実際の事例に基づく):
🔷 --enable-prefix-caching を指定すると、Kimi K3 ではデフォルトでオフになっているプレフィックスキャッシュが有効になります。
🔷 ツール呼び出し機能については、自社のトラフィックで検証してください。本番環境のエージェントでは、ツール呼び出しの結果が空の場合にリトライまたはフォールバックする処理を実装し、厳格な構造化されたツール呼び出しを検討すべきです。
🔷 --moe-backend について:DEP 環境では deep_gemm_mega_moe を、TP(Tensor Parallelism)が 1 より大きい場合は flashinfer_trtllm を使用してください。
🔷 --all2all-backend について:NVLink 接続には flashinfer_nvlink_one_sided を、RDMA 環境には deepep_v2 を推奨します。
FAQ
K3 の推論に必要となる GPU 数は?
少なくとも 1 つの B300(または GB300)8 基搭載ノードが必要ですが、本番環境では通常、マルチノード構成でエキスパート並列処理とデータ並列処理を組み合わせ、RDMA または NVLink を介して運用されます。
K3 はプレフィックスキャッシュをサポートしており、デフォルトで有効化されていますか?
フルアテンション KV と再帰的 KDA 状態の両方に対応していますが、デフォルトでは無効です。使用するには --enable-prefix-caching フラグを指定してください。
vLLM は AMD GPU で K3 をサポートしていますか?
はい、サポートしています。ROCm の対応はリリース時に提供され、より広範なチューニングもロードマップに含まれています。
完全なレシピ、カーネル、および詳細記事はこちらです:
🔷 モデル: huggingface.co/moonshotai/Kimi-K3
🔷 DSpark ドラフトモデル: huggingface.co/Inferact/Kimi-K3-DSpark
🔷 レシピと Docker イメージ: recipes.vllm.ai/moonshotai/Kimi-K3
🔷 完全版ブログ記事: vllm.ai/blog/2026-07-27-k3
K3 のために構築されたインフラストラクチャは、その後のすべてのモデルに引き継がれます。
みなさんがどのような成果を披露してくれるか、今から楽しみです。
原文を表示
We're thrilled to announce Efficient Day-0 vLLM Support for Kimi K3, one of the most powerful open-weight models ever released. Last week, we previewed the production-scale integration work; today, Moonshot AI's weights are public and the support is live.
Kimi K3 is a 2.8-trillion-parameter Mixture-of-Experts model (16 of 896 experts active per token) built on Kimi Delta Attention (KDA) and Attention Residuals (AttnRes), with a 1M-token context window and native vision. The challenge of K3 is making KDA, MXFP4 MoE execution, KV cache management, prefill/decode disaggregation, speculative decoding, and long-context deployment recipes work together in a serving engine you can actually run. This post is the practical guide.
TL;DR
Kimi K3 is a 2.8-trillion-parameter multimodal MoE (16 of 896 experts active per token) with a context window of up to 1M tokens, built on Kimi Delta Attention, Attention Residuals, the Stable LatentMoE design, and native MXFP4 (4-bit) weights.
🔷Up to 370 tok/s per user: vLLM serves Kimi K3 at 118 tok/s without speculative decoding and 370 tok/s (a 3.14× improvement) with DSpark, on NVIDIA GB300 NVL72.
🔷Broad feature support at launch: speculative decoding, prefill/decode disaggregation, agentic KV caching with Mooncake, tool calling, reasoning output, and structured output, on NVIDIA (B200, B300, GB200, GB300) and AMD ROCm.
🔷vLLM supports DSpark, a state-of-the-art speculative decoding algorithm for Kimi K3, trained with vLLM and open-sourced by Inferact.
🔷Serving K3's hybrid recurrent-plus-attention design required new vLLM core infrastructure: prefix caching over recurrent (KDA) state — a change that now benefits every hybrid linear model.
Kimi K3's architecture, and how vLLM serves it
K3 departs from a standard transformer in four ways, and each one changes what a serving engine has to do.

Kimi Delta Attention: a hybrid recurrent + full-attention stack. Most of K3's layers are KDA, a linear-attention mechanism that keeps a fixed-size recurrent state instead of a growing KV cache, interleaved with periodic full-attention layers that preserve exact global recall. That is what makes a 1M-token context affordable.
A single hybrid KV-cache manager holds both kinds of memory under one scheduler: paged KV blocks for full-attention layers, and compact recurrent-state blocks for KDA layers. The hardest part is prefix caching over recurrent state: a KDA layer has no per-token KV to hash, so vLLM separates the physical state-block size from the prefix-match granularity and reuses state snapshots at block boundaries, so long shared prompts still hit cache.

Attention Residuals: AttnRes mixes the outputs of previous layers with softmax attention, letting each token's representation adapt to its content across the depth of the network. vLLM implements a fused CUDA kernel that computes logits, softmax across previous layers, and aggregates in a single launch, folding the residual add and output RMSNorm into the same kernel.
Stable LatentMoE: Each token is routed to 16 of 896 experts. Experts are sharded with expert parallelism; vLLM offers two MoE backends tuned for different topologies: TRT-LLM-Gen for tensor-parallel (TP>1) and MegaMoE for disaggregated/expert-parallel (DEP), plus optional Expert-Parallel Load Balancing (EPLB).
MXFP4 weights and native vision. K3's weights are quantization-aware trained in 4-bit MXFP4, so low precision is native rather than a post-hoc conversion.
Serving semantics: K3 ships without a Jinja chat template; its tokenizer renders messages through a Python program instead. vLLM implements the same render program in both the Python and Rust frontends, so tool calling, reasoning output, and structured output behave identically across both.
Built for production
Serving a 2.8T hybrid MoE well means being fast for one user, efficient for thousands, and sticky for agents. vLLM ships Kimi K3 ready on all three.
Ultra-low latency: To reach ultra-low latency on a 2.8T model without accuracy loss, speculative decoding is the natural choice. This which is why vLLM supports DSpark from day 0, and why we trained and released our own DSpark speculator for K3. DSpark uses a block-diffusion backbone to generate multiple speculative tokens in one parallel pass, so drafting cost stays flat as the block deepens. We made the draft MLA-native, mirroring K3's own attention, so draft and target share a similar KV layout.

Measured with the same build, prompt, and method: 118 → 370 tok/s per user, a 3.14× improvement on 16 NVIDIA GB300 NVL72 GPUs (111 → 331 tok/s on TP8). The gain tracks how predictable the output is — for coding and other low-entropy tasks, DSpark accepts around 4.73 tokens per step; for high-entropy tasks such as creative writing, around 2.61 — so the speedup is a measurement at standard settings, not a universal constant. Both the draft model and the inference support are open source as of this release.
Large-scale serving (prefill/decode disaggregation): for high-throughput fleets, vLLM serves K3 with expert and data parallelism across nodes, and with prefill/decode (PD) disaggregation, which runs prefill-heavy and decode-heavy work on separate replicas so each is sized for its own bottleneck. The validated topology routes TEP8 prefill → DEP16 decode, with KV/state moved between stages over NIXL.

Agentic serving: Agentic workloads (long multi-turn sessions, tool loops, large shared system prompts) require detailed KV reuse. vLLM's Mooncake integration lets K3 offload and reuse KV across turns and requests, so a repeated codebase, document, or agent scratchpad doesn't pay full prefill every turn. Combined with K3's prefix caching over recurrent state, this keeps long agent sessions responsive as context accumulates.
Performance and benchmarks
Everything below ran through a served OpenAI-compatible endpoint with the release parsers.
🔷GSM8K: 0.976
🔷GPQA-Diamond: 0.939
🔷OCRBench: 0.889
🔷MMMU Pro Vision: 0.818
On reasoning and knowledge, vLLM tracks Kimi K3's reported quality closely, which means the kernels, parsers, and caches preserve model quality end to end.

One field note: K3 reasons a lot before it answers. When a score comes in low, check for truncated answers before assuming wrong ones, and consider increasing the max_tokens budget generously.
Deployment
Quick start (the 2.8T MoE requires at least one 8× B300 node to run at all):
vllm serve moonshotai/Kimi-K3 \
--tensor-parallel-size 8 \
--trust-remote-code \
--load-format fastsafetensors \
--enable-prefix-caching \
--max-num-seqs 512 --max-model-len 32768 \
--enable-auto-tool-choice --tool-call-parser kimi_k3 \
--reasoning-parser kimi_k3
Enable DSpark speculative decoding:
--speculative-config '{"model":"Inferact/Kimi-K3-DSpark","method":"dspark","num_speculative_tokens":7,"attention_backend":"FLASHINFER_MLA","draft_sample_method":"probabilistic","rejection_sample_method":"block"}'
Deployment notes, each from a real incident:
🔷--enable-prefix-caching turns prefix caching on, which is not on by default for K3.
🔷 Tool calling: validate on your own traffic; production agents should retry or fall back when tool_calls comes back empty, and consider strict/structured tool calling.
🔷 --moe-backend: deep_gemm_mega_moe for any DEP environment, flashinfer_trtllm for TP>1.
🔷 --all2all-backend: flashinfer_nvlink_one_sided for NVLink, deepep_v2 for RDMA.
FAQ
How many GPUs do I need? At least one 8× B300 (or GB300) node to run at all; most production deployments run multi-node with expert and data parallelism, over RDMA or NVLink.
Does K3 support prefix caching, and is it on by default? It supports prefix caching over both full-attention KV and recurrent KDA state, but it is not on by default — pass --enable-prefix-caching.
Does vLLM support K3 on AMD GPUs? Yes. ROCm support ships at launch, with broader tuning on the roadmap.
Full recipes, kernels, and the complete write-up:
🔷 Model:huggingface.co/moonshotai/Kimi-K3
🔷 DSpark draft model:huggingface.co/Inferact/Kimi-K3-DSpark
🔷 Recipes & Docker images:recipes.vllm.ai/moonshotai/Kimi-K3
🔷Full blog:vllm.ai/blog/2026-07-27-k3
The infrastructure built for K3 now belongs to every model that comes after it.
We can't wait to see what you serve.
AI算出
技術分析ainew評価高い
Kimi K3 という新モデルの vLLM での運用ガイドであり、独自の実測データ(トークン/秒)や具体的なアーキテクチャ変更点(KDA のキャッシュ管理など)を含んでいるため、技術分析として高く評価される。ただし、日本企業への直接的な影響や日本語一次情報ではないため、日本の関連性は低めとなる。
6つの評価軸を見る
- AI関連度
- 100
- 情報源の信頼性
- 50
- 新規性
- 75
- 調べる価値
- 75
- 重複の少なさ
- 100
- 日本での有用性
- 25
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み