vLLM 2026 第 27 周周报(06.29 - 07.05)
1. 执行摘要
本周共合并246个PR,其中重点PR 24个,平均重要性6.4。项目主线围绕“投机解码生态完善、模型加载架构清理、Rust前端生产化”三大方向推进。DSpark/TLI/DFlash等四种投机解码方法同期落地,极大丰富了草稿模型选择;删除63个模型文件中重复的load_weights方法,净减约2750行代码,是近期最重要的基础设施重构;Rust前端在TLS、渲染器、协议类型等方面取得多个里程碑,正逐步接替Python前端职能。此外,多模态模型支持扩展至LLaVA-OneVision-2、Kimi K2等,注意力后端新增HPC-Ops和CuTeDSL warmup,测试体系向分布式和硬件多样化扩展。
2. 本周重点变化
2.1 投机解码:从单一走向多元化
本周共合并5个核心投机解码PR,基本覆盖了行业主流方案:
- DSpark(#46995):针对DeepSeek-V4/Qwen3的半自回归推测解码,复用稀疏MLA索引实现非因果注意力,在8卡B300上达到350+ TPS。
- TLI(Token-Level Intersection)(#38174):允许target与draft使用完全不同词汇表,通过交集约束实现无损解码,极大放宽草稿模型选择限制。
- DFlash(#46853):为Laguna XS.2.1提供DFlash草稿支持,通过继承减少重复代码。
- SWA+DFlash for MiMo(#46104):将滑动窗口注意力与DFlash结合,支持MiMo架构。
- 块验证拒绝采样(#46781):提升拒绝采样接受率,优化推测解码质量。
至此,vLLM的推测解码已支持Medusa、MTP、EAGLE、DFlash、DSpark、TLI等多种方法,成为业界覆盖最广的推理框架之一。
2.2 模型加载:大幅简化与统一
hmellor主导的系列重构(#47058、#44589)将模型权重加载逻辑从各个模型文件中抽离至RoutedExperts和AutoWeightsLoader。具体成果:
RoutedExperts新增ckpt_names参数,自动处理融合权重和专家映射;
WeightsMapper增强支持stacked/fused权重映射,shard_id通过tensor属性传递;
- 63个模型文件删除自定义
load_weights,净减少约2750行代码;
- 同时修复了FP8在线量化时bias初始化顺序的潜伏bug。
该重构不仅降低维护成本,也为未来支持新的Checkpoint格式(如SafeTensors V2)铺平道路。
2.3 Rust前端:生产化关键一步
本周Rust前端共合并12个PR,覆盖:
- HTTPS/mTLS(#45890):基于OpenSSL实现TLS终结,支持证书链、mTLS、自定义密码套件,默认地址改为127.0.0.1提升安全。
- Harmony渲染器(#46800):为GPT-OSS模型提供原生Rust渲染,绕过Jinja路径。
- 枚举域类型(#47283):将
EngineCoreOutputs等协议类型重构为枚举,提升类型安全。
- 调度器统计(#47435):补齐与Python前端对标的关键指标。
- profiler路由(#46306):暴露profiling控制接口。
- 重复检测采样参数(#46684)、测试提速(#47523)等。
Rust前端在核心协议、安全、监控上的健全性显著提升,具备替代Python前端的基础能力。
2.4 注意力后端生态丰富
- HPC-Ops(#46020):接入腾讯HPC-Ops库,提供FP8融合注意力,当前面向Hy3-FP8模型。
- CuTeDSL Warmup(#46182):引入可扩展warmup框架,提供FA4 MLA预编译,避免首次推理JIT延迟。
- DCP+FlashInfer MLA稀疏(#46076):为GLM5.2实现解码上下文并行的稀疏注意力,通过CuTeDSL内核完成跨rank top-K合并。
- FlashInfer MLA LSE修复(#47079、#47074):修正DCP合并中LSE基数不匹配和workspace不足问题。
注意后端种类增多需要用户了解配置,框架层应逐步提供自动选择逻辑。
2.5 多模态与工具解析
- LLaVA-OneVision-2(#44785):新增多模态模型,支持图像AnyRes、视频三种预处理后端,约2266行模型代码。
- DeepSeek V4流式解析(#45877):移植至ParserEngine统一框架,修复DSML标签泄漏等bug。
- Kimi K2流式解析(#46610):同样基于ParserEngine重构。
- Unlimited-OCR R-SWA(#47102):新增Triton注意力后端。
- Harmony Responses API重构(#47185):合并上下文类,修复流式bug。
3. 模块与主题趋势
3.1 v1路径占比超70%
本周PR中v1标签出现75次,涉及投机解码、注意力后端、模型运行器等。v1架构进一步成熟,ModelRunner V2(MRV2)默认启用密集模型(#44443),并修复多项MRV2特有bug(调度槽计数、Mamba2崩溃、CUDA Graph填充等)。v1将成为下一阶段主要技术栈。
3.2 Bugfix与稳定性优先
bugfix标签高达120个,覆盖流式工具解析(Harmony/Kimi/Poolside)、投机解码(索引溢出、CUDA Graph脏数据、hidden-states缺失)、量化(W8A8选择回归、NVFP4 buffer零初始化)、平台(ROCm CPU内存采样、xpu shutdown泄漏)等。项目处于快速迭代但注重质量的状态。
3.3 平台适配:ROCm、XPU、CPU持续跟进
ROCm CI作业扩展至MI300,新增稀疏MLA、EPLB、DeepEP修复;XPU新增W8A8 FP8线性kernel、LoRA对齐、shutdown优化;CPU新增tanh AOR GELU加速、W8A8 MoE VNNI支持。跨硬件一致性仍是挑战,相关PR多为平台特定修复。
3.4 开源协作模式:社区贡献活跃
hmellor(12 PR)、BugenZhao(10)、njhill(10)等活跃贡献。外部作者如bbrowning(DeepSeek V4解析器)、wan-danfeng(TLI)、benchislett(DSpark)等带来重大功能。code review由核心成员把关,同时Claude/Gemini bot辅助,但部分PR缺乏实质性讨论。
4. 风险观察
| 风险类别 |
内容 |
相关PR |
| 核心路径变更缺失测试 |
39个标签为“核心路径变更”,其中33个同时标记“缺少测试覆盖”,重构和功能新增后验证手段不足 |
#47058, #44589, #46995, #38174 |
| 投机解码CUDA Graph稳定性 |
DSpark/DFlash等新路径的full CUDA Graphs支持刚上线,动态循环和填充边界尚未充分检验 |
#46995, #45953 |
| 注意力后端碎片化 |
4种MLA后端、5种通用后端共存,不同后端间的性能差异和选择复杂度增加,缺少官方基准 |
#46020, #46076, #46182 |
| Rust前端安全配置 |
TLS超时硬编码、客户端证书撤销检查默认关闭、gRPC共享TLS可能引入攻击面 |
#45890, #47101 |
| PD解耦P2P次级层 |
NIXL缺失崩溃、write_blocks失败挂起、线程不安全等问题未完全修复 |
#42285 |
| 大规模重构回归 |
模型加载重构#47058影响了63个文件,虽CI通过但缺乏全覆盖测试 |
#47058, #47151(修复) |
| 外部依赖升级 |
huggingface-hub升级(#47551)、FlashInfer 0.6.13(#46683)、DeepGEMM tag更新(#47304)可能引入兼容问题 |
各PR |
5. 重点 PR 速览
| PR |
标题 |
重要性 |
模块 |
作者 |
要点 |
| #46995 |
DSpark 半自回归推测解码 |
9.4 |
spec-dec |
benchislett |
DeepSeek-V4/Qwen3上的新投机方法,复用稀疏MLA非因果注意力 |
| #44353 |
权重同步重构 |
9.4 |
infra |
hao-aaron |
抽取稀疏NCCL引擎,移除is_checkpoint_format参数 |
| #45877 |
DeepSeek V4流式解析 |
9.3 |
frontend |
bbrowning |
移植至ParserEngine,修复DSML标签泄漏等bug |
| #44785 |
新增LLaVA-OneVision-2 |
9.2 |
multi-modality |
chengzheng345 |
支持图像/视频,AnyRes分块,三种视频后端 |
| #47283 |
Rust枚举域类型 |
9.2 |
rust |
BugenZhao |
EngineCoreOutputs等协议类型安全重构 |
| #47185 |
Harmony Responses API重构 |
9.2 |
frontend |
yzong-rh |
合并上下文类,修复流式done-event丢失 |
| #46610 |
Kimi K2流式解析 |
9.2 |
frontend |
chaunceyjiang |
基于ParserEngine的新解析器,支持推理和工具调用 |
| #42285 |
PD解耦P2P次级层 |
9.4 |
kv-connector |
liranschour |
ZMQ+NIXL传输,会话协议设计 |
| #47058 |
移除63个load_weights |
9.1 |
refactor |
hmellor |
统一由RoutedExperts加载,净减2750行 |
| #46703 |
NCCL对称内存扩展 |
9.1 |
performance |
WoosukKwon |
AllGather/ReduceScatter支持NVLS |
| #46853 |
Laguna DFlash drafter |
9.0 |
spec-dec |
adamkbaranowski |
继承最小化实现,展示复用模式 |
| #45890 |
Rust HTTPS/mTLS |
9.2 |
rust |
tahsintunan |
OpenSSL实现,安全加固 |
| #46076 |
DCP稀疏注意力 |
9.4 |
attention |
ZJY0516 |
GLM5.2 DCP,CuTeDSL内核 |
| #46182 |
CuTeDSL warmup |
9.2 |
attention |
LopezCastroRoberto |
热启动框架,FA4 MLA预编译 |
| #42406 |
Mamba hybrid前缀缓存 |
9.2 |
model-runner |
izhuhaoran |
V2支持,pre-copy方法 |
| #43373 |
Humming MoE标准化 |
9.2 |
moe |
bnellnm |
与modular kernel对齐 |
| #44512 |
scale-out入口整合 |
9.2 |
frontend |
noooop |
分离render/derender API |
| #46800 |
Rust Harmony渲染器 |
9.0 |
rust |
BugenZhao |
GPT-OSS原生渲染 |
| #42920 |
CPU W8A8 MoE |
9.0 |
cpu |
yuwenzho |
VNNI指令支持,后端注册 |
6. 后续建议
- 补充投机解码测试:DSpark、TLI、DFlash等新算法应及时补充CI端的端到端准确性和性能测试,特别是多GPU、CUDA Graph场景。
- 制定注意力后端选择指南:为减少用户困惑,建议在文档中明确不同后端的适用模型、硬件和量化条件,并考虑提供自动选择逻辑。
- 监控模型加载重构回归:hmellor的重构虽已合并,但仍可能影响未被CI覆盖的模型。建议在下一轮发布前执行手动回归测试。
- 推动Rust前端功能完备:鼓励贡献者补齐与Python前端的功能差异(如streaming JSON mode、多模态输入等),同时跟进安全审计。
- 关注PD解耦P2P层稳定性:该PR设计复杂,需在分布式测试中重点验证崩溃恢复和超时处理。
- 提升PR review质量:部分重要PR缺乏充分讨论,建议对高影响变更(核心路径变更、模型新增)要求至少两位核心贡献者review,并鼓励测试覆盖率要求。
参与讨论