发表时间: 2026-10 · Blog post by Benjamin Chislett (NVIDIA) (vllm.ai)
原文: https://vllm.ai/blog/2026-10-16-kimi-k3-megakernel
作者:Benjamin Chislett (NVIDIA)
来源:vLLM Blog (2026-10-16)
一句话结论 本文通过代码智能体辅助开发面向 NVIDIA GB300 的统一 CuTe DSL 解码路径,并配合工程隔离规范,使 Kimi K3 在 16 张 GB300 上结合 DSpark 投机解码达到 842 tokens/s 吞吐,无投机解码下相比原生 vLLM 获得 1.31 至 1.92 倍吞吐加速。
要解决什么问题 在大模型解码推理中,原有框架 stock vLLM 面临性能瓶颈与工程治理的双重卡点。在执行机制上,解码阶段受限于显存带宽与内核启动开销,原生实现在单层模型中频繁触发细粒度小算子(每层调用 23 个 kernel、耗时 130 微秒);同时,注意力输出的张量并行 All-Reduce 通信与后续计算串行,阻塞了计算单元;在混合专家模型(MoE)中,各张量并行节点全量重复计算路由打分与投影,带来冗余算力消耗与权重读取;通信等低带宽占用期也缺乏对后续权重的预取机制。在工程治理上,代码智能体能快速生成复杂的算子与融合逻辑,但其产出速度远超人工逐行审查与测试的承载上限,若直接合入极易引发线上故障,若人工全量细审又会成为效率瓶颈,亟需兼顾极致性能与自动化风险隔离的实现范式。
怎么做的 核心思路是将特定配置下的计算图深度收拢至定制的 CuTe DSL 核函数中,实现算子融合、通信掩盖与权重预取,同时在架构上将变动局限在模型代码内以隔离风险。该方法主要由四个优化部件与一套治理准则构成:一是算子形状自适应调优,输入投影在小 batch 下使用专用小矩阵算子,大 batch 下切换为将矩阵乘法跨计算单元切分的 Split-K 算子;配合解码上下文并行(DCP)切分长文本 KV 缓存并融合局部计算。二是无屏障的计算与通信重叠,将注意力输出投影、All-Reduce 通信与残差累加深度融合,算子通过跨卡 NVLink 共享缓冲区以无屏障(fence-less)方式读写;较大 batch 下切换为两阶段归约以减少卡间数据搬运:
三是 MoE 路由切分与流水线重叠,将路由评分与投影按张量并行节点切分,合并为单次 GEMM 计算并通过 NVLink 交换结果:
效果如何 实验基于 8 卡与 16 卡 NVIDIA GB300(单 NVLink 域且支持多播),对比基线为通用开源推理框架 stock vLLM(代表标准未融合执行路径)。在启用 DSpark 投机解码(草稿长度 7、模拟接受长度 6、batch 为 1)设置下,16 卡 GB300 上的优化实现达到 842 tokens/s 解码吞吐,较 stock vLLM 的 488 tokens/s 提速 1.73 倍;单层执行耗时从 130 微秒降至 69 微秒,算子数从 23 个减少到 13 个。在无投机解码的纯吞吐测试中,16 卡(TP16)在 batch 1 至 64 取得 1.62 至 1.92 倍加速(batch 1 达 256.4 tokens/s,batch 2 达 436.7 tokens/s);8 卡(TP8)取得 1.31 至 1.58 倍加速(batch 1 达 193.3 tokens/s)。在回放真实代码智能体流量的 AgentX 基准测试中,16 卡优化实现的 P90 交互吞吐达到 403.2 tokens/s/user,较此前 8 卡基线的 223.7 tokens/s/user 提升 1.8 倍。作者亦指出了局限与代价:为确保系统稳定,优化路径刻意排除了对全局共享的输入准备、采样及 KV 管理逻辑的改造;优化深度绑定于 GB300 硬件与单 NVLink 域拓扑;且复杂长生成容易暴露时序数值敏感问题,高度依赖大算力资源进行交叉验证。
当前代码辅助智能体(Coding Agents)已能够分担模型优化中最艰难的工程环节,包括编写复杂的 GPU 算子(Kernel)、执行跨算子融合(Cross-operator Fusion)、实现计算与通信重叠(Overlap Computation with Communication),以及针对不同批大小(Batch Size)和 GPU 拓扑配置进行精细化执行调优。针对 Kimi K3 模型,作者团队通过智能体辅助开发流程,在 NVIDIA GB300 架构上构建了一条基于 CuTe DSL 的统一定制解码路径(Specialized Decode Path),全面覆盖了跨 8 卡或 16 卡 GPU 系统的注意力机制(Attention)、混合专家架构(MoE)以及跨卡通信。
该工作的主要贡献与创新成果概括如下:
作者团队依托 https://github.com/vllm-project/vllm/issues/59665 确立了四项指导原则,其核心宗旨是在严格控制系统性风险的前提下化解人工审查负担:
隔离变更(Isolate Changes):必须将模型特定的优化实现完全限制在对应模型的代码目录内部。这种物理与逻辑隔离使得受影响的代码路径清晰可见,极大收敛了审查人员需要评估的风险半径(Blast-radius)。
限定范围但保留核心功能(Bound the Scope, Preserve the User's Features):单项优化无需覆盖所有部署场景,可以专门针对特定的 GPU 架构、并行度策略或批大小范围进行极致收敛。清晰的边界有助于精细化调优并明确验证矩阵。
系统性验证正确性(Validate Correctness Systematically):必须结合算子级测试(Kernel Tests)与端到端模型评估(Model Evaluations)。
规模化验证能力(Scale Validation):全面的验证需要耗费大量 GPU 算力。通过 https://github.com/vllm-project/vllm/issues/61698,社区提供了标准的评估容器镜像,使代码贡献者能够在自有硬件上运行标准评测套件,并将可复现的结果报告与 PR 关联绑定。分级评估体系与社区共享算力的引入,大幅减轻了核心项目托管 CI 的硬件压力。
针对 Kimi K3,该方案引入了一条全新的专用解码路径,采用基于 CuTe DSL 的定制算子替换并融合了几乎所有关键子算子。该路径面向单 NVLink 多播域下的 8 卡或 16 卡 NVIDIA Blackwell 架构(GB300)GPU,支持 $1\sim64$ 的解码批大小,并支持针对超长上下文的解码上下文并行(DCP)。具体技术路径如下:
硬件配置:
软件配置:
decode_backend: latency_specialized。基准测试集与工作负载:
在配置为 TP16、采用 DSpark 投机架构(草稿长度 $DL=7$,合成接受长度 $AL=6$,$ISL=1$,$OSL=1\text{k}$)的极小批次(Batch Size = 1)极限测试下,专用的 CuTe DSL 解码路径实现了性能跃升:
在不启用投机解码的纯粹自回归解码负载下,针对 TP8 与 TP16 拓扑,全面测试了批大小从 1 到 64 的绝对吞吐与相对原生 vLLM 的加速比。测试数据如下表所示:
| 批大小 (Batch size) | TP8 吞吐 (tokens/s) | TP8 加速比 (vs 原生) | TP16 吞吐 (tokens/s) | TP16 加速比 (vs 原生) |
|---|---|---|---|---|
| 1 | 193.3 | 1.58× | 256.4 | 1.88× |
| 2 | 317.8 | 1.50× | 436.7 | 1.92× |
| 4 | 540.6 | 1.55× | 702.5 | 1.81× |
| 8 | 820.1 | 1.45× | 1,157.9 | 1.79× |
| 16 | 1,274.8 | 1.43× | 1,758.3 | 1.71× |
| 32 | 1,702.6 | 1.33× | 2,550.9 | 1.64× |
| 64 | 2,375.9 | 1.31× | 3,606.1 | 1.62× |
在高度拟真的编码智能体基准测试 AgentX 中,系统在真实上下文交互场景下的交互指标得到大幅改善:
该设计模式已成功复现并扩展至 DeepSeek-V4.1-Flash 模型(对应 PR https://github.com/vllm-project/vllm/pull/61868)。该实现统一继承了 decode_backend: latency_specialized 配置开关,支持最高 64 个并发请求、Prefill 与混合批次的透明回落机制,以及完备的投机解码:
本项研究展示了以智能体辅助工程(Agent-assisted Engineering)与系统级硬件共拓设计相结合的方式,能够在 Blackwell(GB300)架构上将超大规模前沿混合专家模型(Kimi K3)的推理延迟推向硬件极限。通过构建统一定制的 CuTe DSL 算子流水线,实现了细粒度矩阵调优、跨卡计算与通信深度融合、分布式 Router 去重以及多流权重预取,获得了最高 $1.92\times$ 的无投机吞吐提升与 $1.73\times$ 的投机解码性能跨越。
更为核心的系统性启示在于:面对智能体生成高性能优化代码带来的代码膨胀与维护危机,社区必须转向以“变更严格物理隔离、生产功能绝对保留、算子/模型双层确定性验证、社区算力自治评估”为支柱的快速通道(Fast-track)模式。未来,团队将继续坚持这一高标准演进路线,在保证生产环境确定性与可维护性的绝对前提下,持续推动更多前沿模型与硬件拓扑逼近物理极限速度。
在《方法细节》与技术演进章节中,原文明确引用的核心提案(RFC)、代码实现拉取请求(PR)及源代码模块汇总如下:
| 引用编号/标识 | 引用内容名称与链接 | 引用出现的段落背景 | 原文描述摘要 |
|---|---|---|---|
| [RFC 59665] | https://github.com/vllm-project/vllm/issues/59665 | 背景知识与设计原则概述 | "The proposed fast-track model optimization RFC provides a foundation for this approach. Our guiding principle is to decrease review burden while managing risk."(提供降低审查负担并控制风险的组织基础) |
| [PR 61867] | https://github.com/vllm-project/vllm/pull/61867#issue-5869895165 | 方法细节引言段落 | "This contribution introduces a new decode path for Kimi K3 which fuses and replaces almost all operations with customized CuTe DSL kernels... For more details, please refer to the PR."(引入融合且替换几乎所有操作的全新定制 CuTe DSL 解码路径) |
| [KDA 模块] | https://github.com/benchislett/vllm/blob/620c50482d15d092ad6086c106ce42916efc39cc/vllm/models/kimi_k3/nvidia/specialized_decode/cutedsl/kda/prepared.py | 方法细节第 1 节(张量形状微调) | "KDA also uses an optimized CuTe DSL decode kernel, with scheduling tuned for the batch size and number of attention heads on each GPU."(KDA 采用针对批大小与单卡注意头数量调度优化的 CuTe DSL 解码算子) |
| [OProj 模块] | https://github.com/benchislett/vllm/blob/620c50482d15d092ad6086c106ce42916efc39cc/vllm/models/kimi_k3/nvidia/specialized_decode/cutedsl/oproj/prepared.py | 方法细节第 2 节(计算通信重叠) | "At larger batches, the implementation switches to a two-stage reduction: GPUs first combine assigned portions of the output, then distribute the results. This reduces the data movement between GPUs."(较大批次下切换为两阶段规约,先合并指定输出切片再分发,降低跨卡通信量) |
| [MoE 运行时] | https://github.com/benchislett/vllm/blob/620c50482d15d092ad6086c106ce42916efc39cc/vllm/models/kimi_k3/nvidia/specialized_decode/cutedsl/moe/experts_runtime.py | 方法细节第 3 节(MoE调度与重叠) | "The shared expert runs on a separate stream. Its work overlaps with routing or routed-expert computation, depending on the configuration... Details are in experts_runtime."(共享专家在独立流上运行,根据配置与路由或专家计算重叠,严格平衡并行度防争用) |
| [RFC 61698] | https://github.com/vllm-project/vllm/issues/61698 | 设计原则第 4 条(规模化验证能力) | "The related Bring-Your-Own-GPU evaluation RFC proposes standard evaluation images that contributors can run on their own hardware. Reproducible result bundles and submissions linked to GitHub PRs would make the evidence much more accessible."(提出标准评测镜像让贡献者在自有硬件执行,提交可复现结果包) |
| [基准方法] | https://inferencex.semianalysis.com/agentx | 实验环境与结果分析段落 | "AgentX replays traffic patterns from real coding-agent sessions, including long contexts, multiple conversation turns, tool pauses, parallel subagents, and KV-cache reuse."(重放真实编程智能体长上下文、多轮对话、工具等待及多子智能体流量) |
| [PR 61868] | https://github.com/vllm-project/vllm/pull/61868 | 补充细节(未来拓展章节) | "For DeepSeek-V4.1-Flash, #61868 follows the K3 design patterns: behind the same opt-in decode_backend: latency_specialized switch... fuses all-reduce + mHC at every sublayer boundary, replaces the large-batch MoE and GEMMs with CuTe DSL kernels..."(沿用 K3 设计模式,通过专用开关融合通信与 mHC 算子并重构 MoE GEMM) |