vLLM 支持 Kimi K3:速度高達 370 令牌/秒
vLLM 宣佈對 Kimi K3 提供首日支持,這是一個 2.8 萬億參數、擁有 100 萬令牌上下文的混合專家模型。通過 DSpark 推測性解碼,速度可達 370 令牌/秒。支持混合前綴緩存、工具調用,併為生產部署進行了優化。
我們很高興地宣佈,vLLM 已對 Kimi K3 提供高效的首日支持。Kimi K3 是由 Moonshot AI 發佈的最強大的開放權重模型之一,擁有 2.8 萬億參數,採用混合專家架構(每令牌激活 16/896 專家),並基於 Kimi Delta Attention (KDA)、Attention Residuals (AttnRes) 和 MXFP4 權重,支持高達 100 萬令牌的上下文窗口以及原生視覺能力。
對於 vLLM 而言,Kimi K3 帶來的最大挑戰在於如何將 KDA、MXFP4 MoE、KV 緩存管理、預填充/解碼分離、推測性解碼以及長上下文部署方案整合到一個可運行的推理引擎中。為此,vLLM 重新設計了混合前綴緩存機制,以同時管理 KDA 層的循環狀態和全注意力層的分頁 KV。KDA 注意力後端使用 FlashKDA 進行預填充,並在解碼時使用融合 CUDA 內核(或使用 Flash-Linear-Attention/Triton 路徑用於推測性解碼)。混合緩存的設計不僅服務於 Kimi K3,也為其他類似架構的模型帶來了收益。
在性能方面,vLLM 在單個用户請求上實現了最高 370 令牌/秒的速度(使用 DSpark 推測性解碼),相比無推測性解碼時的 118 令牌/秒提升了 3.14 倍。DSpark 算法使用塊擴散骨幹網絡,基於 Kimi K3 的豐富中間狀態並行生成多個推測令牌,並通過低秩馬爾可夫頭和置信度頭提升接受率。在編碼等低熵任務中,每次步驟可接受約 4.73 個令牌;在創意寫作等高熵任務中,約 2.61 個令牌。此外,vLLM 還支持預填充階段的序列並行,通過自定義的 reduce-scatter 和 all-gather 內核減少通信開銷,相較於 NCCL 實現 1.7 到 4.5 倍的加速。
在生產特性方面,vLLM 支持推測性解碼、預填充/解碼分離、基於 Mooncake 的代理 KV 緩存、工具調用、推理輸出和結構化輸出,並且在發佈時支持 NVIDIA 和 AMD GPU。Kimi K3 的聊天模板採用 Python 程序而非 Jinja 模板,vLLM 的前端實現了輸入渲染器和流式輸出解析器,並集成了 XGrammar 以約束結構化區域的解碼。
快速開始使用 Kimi K3 的最簡單方式是使用 8 塊 NVIDIA B300 或 AMD MI355X GPU,運行以下命令:
vllm serve moonshotai/Kimi-K3 --tensor-parallel-size 8 --trust-remote-code --load-format fastsafetensors --enable-prefix-caching --enable-auto-tool-choice --tool-call-parser kimi_k3 --reasoning-parser kimi_k3
若要啓用 DSpark 推測性解碼,可添加相應配置。更多細節請參考官方文檔。由於複雜的依賴關係,目前僅支持 Docker 鏡像。