本期覆盖 2026/9/30—10/6(UTC),整理 10 项版本与代码进展。论文方法见本期论文一周。

H3 的变化集中在三处:生成后的 latent 超分和细化、减少求值次数的二阶采样,以及清理不再使用的中间张量。语言模型侧,vLLM 和 SGLang 都发布了新版本,热门模型的内核、缓存与服务管理功能继续合入主线。

项目 本期版本 状态与日期
vLLM 0.31.0 正式版,10 月 5 日
SGLang 0.5.21 正式版,10 月 2 日
ComfyUI 0.39.0 正式版,10 月 5 日
vLLM-Omni 0.31.0rc1 预发布,10 月 6 日
FlashInfer 0.7.1rc1 至 rc4 本期 RC 迭代,截至 10 月 6 日
Transformers 5.19.0 正式版,10 月 6 日

这里按发布版本收录的功能,可能更早就已合并;主分支实现也不一定已经进入稳定安装包。

推理框架与热门模型

1 vLLM 0.31 继续收紧 DeepSeek 与混合架构模型的执行路径

vLLM 0.31.0对 DeepSeek-V4.1-Flash 的调整覆盖 Attention、MoE、通信边界和主存表:SM100 默认使用支持 NVFP4 压缩 KV 的 FlashMLA mega attention;多处融合减少单独的中间操作,Engram 的权重和主存表也继续优化分片、共享。

其他模型的关注点并不相同。GLM5.3-Flash 继续处理 sparse MLA 的工作区与索引准备;Qwen3.8-Flash-Next 更新 FP8 KV、QSA 和 PLE 路径;Kimi K3、MiniMax-M3 则有视觉编码器与 patch embedding 优化。发布记录中的数十倍结果多指局部算子,不能拿来代表整段对话吞吐。

升级还有两处行为变化值得先检查:请求级 mm_processor_kwargs、media_io_kwargs 默认被拒绝,需要可信调用方时才通过 --trust-request-mm-kwargs 开放;在线量化的 quantization="fp8" 转向 fp8_per_tensor 简写。保存现有启动参数、重放真实多模态请求,比仅测试一条纯文本 completion 更容易发现兼容性差异。

2 vLLM preload 保留权重 不等于保留整台服务

0.31 的一个实用入口是 vllm preload。它启动权重缓存 daemon,使经过处理的权重在 engine 重启之间继续驻留 GPU;新 engine 可以复用这份权重,而不必每次从磁盘重新读入并完成相同处理。

本期版本继续补充 DP、MTP draft、健康检查与 readiness 等支持。它适合反复调整服务配置时减少启动工作,代价是 daemon 中的缓存权重仍占显存。

同一版本还提供实验性的 initialized-engine snapshot,借助 CRIU 恢复已初始化的 TP1 engine。两条路线应分开理解:preload 保留权重,snapshot 尝试恢复更完整的初始化状态。后者的 TP1 与实验性范围,不能被省略成“任意分布式推理进程都能快照恢复”。

来源:0.31 发布说明。

3 SGLang 0.5.21 扩展模型支持并更换前缀缓存核心

SGLang 0.5.21新增或扩展 DeepSeek-V4.1 Flash、MiMo-V2.6、Ling-3.0-flash-VL、DiffusionGemma、Qwen-Image 2.1 等模型路径。GLM5.3-Flash 的 MI355X 支持也在版本中继续完善,包括低精度 MoE 与 MTP。

缓存实现的一个明显变化是前缀缓存默认使用 Rust core。它改变的是管理结构的实现,不表示模型计算也改成 Rust。升级回归仍应覆盖前缀命中、驱逐和复杂并行配置下的状态恢复。

Kimi K3 的 PP prefill 与 DCP decode 组合进入这次发布。对应 PR在 8K 输入、16 并发下,对比 TP8 PP1 与 TP4 PP2,报告 prefill 吞吐增加 20.6%。这是两种并行配置的差异,具体收益仍取决于 GPU、互联和输入负载;它更适合作为重新测试并行方案的线索,而非通用加速承诺。

4 SGLang 的 PD 角色可以切换 但要先排空请求

运行时角色切换较早合并,本周由 0.5.21 正式版收录。启用 --enable-pd-role-switch 后,控制端可以通过 /pd_role_switch 把实例从 prefill 改成 decode,或反向切换,无需重新加载模型权重。

实现利用了两种角色共享相同 token KV pool 的特点,拆除并重建的是 bootstrap、发送接收线程、队列和角色相关元数据。切换到 decode 还可能需要捕获相应 batch size 的 CUDA Graph。

安全切换有条件:实例要先排空到 idle,释放前缀缓存,并且传输 backend 支持 teardown/rebuild。它提供的是重新分配 P:D 资源的控制能力,不是自动负载均衡器,也不是带着所有进行中的请求和缓存无缝迁移。接入 router 时应明确停止派发、等待排空、切换成功后恢复流量的顺序。

H3 与图像视频工作流

5 ComfyUI 0.39 清理 H3 中间张量并支持轻量 VAE

ComfyUI 0.39.0收录 LynnReal 轻量 H3 VAE 的加载支持、VAE offload 修复,以及一个很小但效果清楚的内存优化:视频与音频 embedding 已复制进 packed hidden state 后,提前释放不再需要的原始投影与 staging 引用。

#16677在 RTX 5090 D v2、Larry v4 INT8、8 步、768×512、124 帧配置下,报告 PyTorch 峰值 allocated memory 减少 161.47 MiB。这不包含外部 aimdo 分配;采样时间仅从约 15.798 降到 15.736 秒,主要贡献是张量生命周期缩短。

轻量 VAE 是另一项独立变化,会涉及模型权重与质量取舍,不能把它与上述不改计算的引用释放混在一起。已有工作流可分别验证 VAE 解码画质、offload 路径和实际峰值占用。

此外,0.39 将“禁用 Partner Nodes”与“前端离线模式”拆成两个开关。--disable-partner-nodes 不再顺带限制前端联网;--offline 才保留相应 CSP 限制,旧 --disable-api-nodes 暂作为后者的弃用别名。这个开关描述的是框架与前端行为,不等于操作系统级网络隔离。变更说明

6 vLLM-Omni 为 H3 增加 latent 超分与高分辨率细化

10 月 1 日合并的 #8322让 H3 可以先生成基础分辨率 latent,再用社区 LBH 3D upscaler 放大,并在目标尺寸上执行第二段去噪。它进入了 0.31.0rc1。

配置通过 additional_config.latent_upscaler_path 加载可选权重;请求携带 latent_upscale 与 latent_refine。PR 的实例在 8×H200 上从 1344×768 放大到 2688×1536,以 50 步基础日程和 0.35 refinement strength 执行 18 步细化。

这不是只改变输出文件的尺寸。第二段会重新构建 packed layout、重置相关缓存,并按照各自 sigma 日程同时更新视频和音频;已有细节也可能被改写。当前 refinement 限 request mode,并拒绝 latent-tail continuation、latent-mask editing 等不支持的组合。可选时间分块会改变 GroupNorm 统计,默认关闭,不能将其当作严格等价的省显存切法。

7 H3 res_multistep 用二阶更新尝试减少采样步数

10 月 4 日合并的 #8378为 H3 加入 res_multistep,也是本次 Omni RC 的内容。它是二阶采样选项,每步仍只调用一次 DiT;视频和音频采用相同采样器选择,但使用各自的 sigma 日程,默认仍为 Euler。

作者在单张 H100、672×384、124 帧、两个场景的合并前实验中比较 Euler-50 与 RES-20:平均请求时间从 64.65 降至 27.50 秒,约 2.35 倍。RES-20 相对 Euler-50 的平均视频 LPIPS 为 0.1190,音频 CLAP 相似度为 0.9741。

这些指标衡量与参考结果的接近程度,两个场景也不足以替代广泛质量评测。尤其要注意,具有固定蒸馏 sigma 日程的 checkpoint 或 adapter 目前仍限制为 Euler。不能把普通 H3 上减少步数的实验,直接推广到所有 FastH3、Turbo LoRA 配方。

8 vLLM-Omni 0.31 RC 扩展多机执行和流式音频

0.31.0rc1对齐 vLLM 0.31,加入可选 Ray 多机 executor,负责跨集群 stage GPU 分配与环境传递。分阶段流式传输还增加字节级 backpressure,并约束全双工输出投递与取消,防止下游消费速度跟不上时无限积压。

音频侧收录 YuE2-3B 文本生成音乐、Qwen3-TTS 单 CUDA GPU 的可选单阶段路径,以及 MiniCPM-o 4.5、CosyVoice3、MOSS-TTS 等模型的流式与 CUDA Graph 更新。Qwen3-TTS 原来的两阶段路径继续保留,不是所有部署都被强制切换。

升级要检查 output type:允许的标准名称为 text、image、audio、latent、token_ids,旧别名和错误值会被拒绝。不受支持的 async-chunk 配置会告警并关闭。模型可运行、流式行为正确和并发性能达标是三个不同检查项,RC 验证最好都覆盖。

底层内核与模型库

9 FlashInfer 0.7.1 RC 补充 Blackwell 与 H3 内核路径

FlashInfer 在本期从 0.7.1rc1迭代到 rc4。rc1 的变更包含 SM100/SM103 的 NVFP4 SVDQuant GEMM、paged attention、MegaMoE 以及 H3 pre-attention 等路径,也补充了基于 copy engine 的 PCIe IPC all-reduce。

这些后端有各自的架构、输入布局和 dtype 约束,安装了新包不代表运行时会自动走到某个新 kernel。对 H3,可先检查 prepared run 参数、实际 dispatch 和 attention 前后处理的耗时;对 MoE,则要确认 scale 布局及 autotune 选择是否匹配 checkpoint。

截至本期末,这一系列仍是预发布,最新版本为 rc4。测试环境应固定完整 RC 版本;浮动安装最新预发布包,同一份复现命令下次可能对应另一组内核。

10 Transformers 5.19 支持逐层缓存配置和更独立的专家并行

Transformers 5.19.0加入 EmbeddingGemma2,并完善混合架构的缓存初始化:DynamicCache、StaticCache 能从每层自己的配置读取滑动窗口、分块大小、卷积状态和 head 数,减少把所有层当作同一结构处理的假设。

专家并行增加 token-dispatch 路径,Qwen3 MoE 等默认采用相应 plan,EP 大小不再必须等于 TP 大小。返回值也有变化:计算 router logits 的 MoE 模型在 output_router_logits=True 时统一通过对应输出类型返回,依赖旧 tuple 或旧字段行为的代码需要检查。

Continuous batching 的普通 SDPA、Flash Attention 实现已能直接使用,相关 paged| 前缀进入弃用流程;eager 路径仍有区别。框架迁移时要同时回归 attention 实现名、cache update 调用和多轮生成,单轮结果正确不能说明缓存路径全部兼容。

本周升级检查

  • H3:把超分、采样器、VAE 和中间张量释放分开测试。四项改动的质量影响和显存收益不同,不宜一次全部开启后只测总耗时。
  • DeepSeek Kimi Qwen GLM:固定模型 revision 与推理框架版本,同时记录 TTFT、TPOT、吞吐和缓存命中。保留原启动参数,先处理 breaking changes。
  • RC 与底层 kernel:记录实际命中的 backend,而不只记录已安装的库版本。视频、音频和多阶段请求应保留取消、异常与内存回收测试。

文中性能数据来自项目方测试。框架代码、模型权重和 Partner API 的授权各自独立;例如 ComfyUI 接入一个在线模型节点,并不意味着其权重已经开源。