本期覆盖 2026/9/23—9/29(UTC),整理 11 项代码、版本与官方技术说明。论文方法单独放在本期论文一周。

H3 这周的变化很具体:6-bit 权重进入 ComfyUI,vLLM-Omni 正式版收录了更多蒸馏权重加载路径,也加入了可复用的条件投影缓存。语言模型侧,Kimi K3 在减少 CUDA Graph 重复缓冲,Qwen 在调整投机验证 kernel,GLM 则修正了 FP8 KV 的类型和空间计算。

先列清版本,避免拿到软件包后找不到本文提到的功能:

项目 本周核对到的状态 阅读与升级时注意
ComfyUI v0.38.0,9 月 29 日正式发布 一部分功能更早合并,本周进入此版本
vLLM-Omni v0.30.0,9 月 25 日正式发布 和 vLLM 的同号版本是两个项目
vLLM 本文涉及本周主分支 PR、9 月 24 日官方文章 不假定全部包含在上周的 v0.30.0 中
SGLang 本文涉及 9 月 29 日合并的主分支 PR 不将这些变化归入更早的 v0.5.20
TensorRT-LLM v1.3.0rc29,9 月 29 日预发布 RC;包含接口删除与依赖升级

一、H3 与图像视频工作流

1. ComfyUI 0.38:W6A8 在容量和误差之间增加一个选项

ComfyUI 的 W6A8 支持于 9 月 29 日合并并进入 0.38.0,底层来自 9 月 23 日合并的 comfy-kitchen #191。这里的 W6A8 是 6-bit 权重压缩、8-bit 激活,走 INT8 GEMM 路径,不是 GPU 新增了原生 INT6 Tensor Core。

权重采用均匀对称量化、FP8 分组 scale,group size 要是 16 的倍数。相较 W4A8,它多用一点存储换更低的量化误差;相较 INT8,则节省权重容量。

PR 给出了 RTX 5090 上真实 H3 out_proj 权重的单层测试,M=4096、N=5376、K=7168:

格式 bytes/weight weight relL2 单次 forward
INT8 1.00 0.0114 0.477 ms
W4A8,g16 0.56 0.0732 0.664 ms
W6A8,g32 0.78 0.0237 0.627 ms

这组数据支持“比 W4A8 误差更低、容量小于 INT8”,但没有支持“该形状下速度与 INT8 一样”。输出视频质量也需要另测:weight relL2 是单层权重误差,不能代替运动、纹理或音画同步评价。

2. ComfyUI 0.38 的其他变化:H3 VAE、Qwen 与控制模型

0.38.0 发布记录还收录了几类实用变化。H3 VAE 的 tile 混合改为参考已经合成的相邻区域,并修复 offload 后 qk_norm_scale 引起的 rms_rope 崩溃;前者关系到分块解码的边缘拼接,后者关系到省显存路径能否运行。

模型工作流方面,版本纳入 MiniMax-H3 Fun-Controlnet-Union 2.0 支持。对应 PR 早在 9 月 22 日已合并,本周报道的是正式版收录,不能把控制模型本身的首次发布也标为本周。

Qwen Image 2.1 的 block 编译、tiny VAE 和 FP16 激活处理也有更新;Qwen3.5/3.8 则合并了长上下文生成优化。对于维护现有工作流的人,升级后可先回归三类场景:长提示词、VAE tiling/offload、控制条件输入。这比只试一条短文本生成更容易发现路径差异。

这些是框架集成进展,不代表所有模型权重采用相同许可。下载具体 checkpoint 或 ControlNet 时,仍应分别查看模型卡。

3. vLLM-Omni 0.30:把 H3 蒸馏权重的加载约束写进运行时

vLLM-Omni 0.30.0将此前陆续合并的 FastH3、LightX2V Turbo 等适配收进正式版。两类文件的加载方法不同,不能只根据名称里的“4 step”“8 step”套用同一组参数。

FastH3 8-Step V2 直接加载读取 Diffusers 格式的 Transformer 和文本组件,原生 VAE 则按来源记录固定版本。它移除了原先的离线转换流程和第二份 Transformer checkpoint;这个变化节省的是准备与维护成本,并不意味着八步推理会比四步更快。

LightX2V Turbo 矩阵支持从实际文件中识别任务、版本、采样约定和 LoRA alpha。一个容易踩到的点是:同为 rank 128,alpha 可能是 128,也可能是 8,适配器增量的缩放会相差 16 倍。Ref2VA 的注入目标也要和服务端真正执行的 Transformer 对上。

因此,旧脚本迁移时应核对文件布局、alpha、实际 DiT 求值次数以及视频/音频 shift,不要仅改仓库名。该加载器还明确拒绝直接把 ComfyUI 布局导出文件当作 Diffusers 布局读取。

4. H3 精确投影缓存:命中之前先确认输入、权重和数值环境

9 月 24 日合并的 vLLM-Omni #7987加入 ExactProjectionCache,原始 H3 与 FastH3 是首批接入模型。重复请求会遇到相同的条件投影,缓存直接复用计算结果;它不跨步猜测新的 DiT 输出。

“相同”在这里检查得很细:embedding 字节、投影参数与 buffer、autocast 等数值设置都必须一致。加载或切换 adapter、改变 scale、移动模型会使缓存失效。TP 各 rank 还要共同确认命中,否则有的 rank 跳过 collective、有的继续执行,会造成错误。

运行时输出缓存按每个 DiT 256 MiB 限额管理。另有可选的离线 sidecar,但它的使用范围更窄,需要 eager、原生 BF16、TP1 等条件;不能把它与默认运行时缓存的适用范围混在一起。

PR 保留了所有原始权重,并明确没有宣称 offload 或端到端加速。实际接入时先记录命中率、缓存占用和条件投影耗时,才知道重复计算是否足够多,值得为它保留这部分显存。

5. vLLM-Omni 的另一条线:全双工会话与跨阶段状态传输

同一版本还统一了由 engine 管理的全双工会话,并继续完善自回归阶段到 DiT 阶段的 KV 与 conditioning payload 传输。Mooncake、NIXL 等路径解决的是不同阶段之间怎样交接状态;对边接收输入、边生成音视频的应用,会话生命周期和取消行为与模型速度同样重要。

版本还收录了 H3 latent mask 编辑、带驱动音频的长视频续接,以及 MAGI-2 preview 等模型支持。功能名称出现在发布记录中,只说明相应路径进入该版本,部署仍要遵循对应 recipe 的设备、输入和 checkpoint 要求。

迁移时最先检查配置兼容性:diffusion_batch_size 被移除,改用 max_num_seqs;未知配置项会报错。另一些路径仍有明确范围限制,例如新的多进程 API 不能直接推广到所有 diffusion 或远程执行场景。升级后应回归流式会话、请求取消与多阶段失败,而不只检查服务能否启动。

来源:0.30.0 功能与兼容性说明。

二、热门语言模型:把缓存、显存与小 batch 延迟做实

6. vLLM:GLM5.3-Flash 的 FP8 KV 与 prefill workspace 修复

9 月 29 日合并的 #55222处理了两个独立问题。首先,SM90 sparse MLA 的 KV 底层用 uint8 存储,计算时再 view 为 FP8;此前 plan 阶段错误地收到存储 dtype,导致 FlashInfer 拒绝启动。

其次,indexer prefill workspace 的容量按 token 数计算,而该模型的索引 KV 已按 pool 压缩。没有把压缩比例算进去,会多保留临时空间,挤占真正的 KV budget。修复针对的是空间单位,不改变 Attention 数学过程。

作者在 2×H200 NVL、TP2、NVFP4 权重、FP8 KV、百万上下文、CPU offload的服务配置中报告,可用 KV 空间从 29.44 增至 32.06 GiB。该次测试还把 max_num_seqs 从 16 改为 32,因此不适合将 KV token 容量变化直接当成严格的单变量速度提升。

这些修复本周进入主分支,作者此前在自己的服务上运行过更长时间。若遇到 MLA kv_data_type torch.uint8 is not supported,这条 PR 比泛泛调整显存利用率参数更有针对性。

7. vLLM Mooncake:把零散的 KV 传输区域合并起来

同日合并的 #57952针对 hybrid/MLA 的 KV 布局。多个 layer view 可能共享一份 packed allocation,若每层、每块各发一个 RDMA descriptor,描述符和小传输就会过多。

实现保留 layer 名称以支持异构 PP 的对齐,同时在合法范围内合并相邻区域。不同 KV group 拥有不同 block id,不能因为底层同属一行就全部混成一块。整个变化由布局驱动,没有新增用户开关。

PR 中的同节点 DeepSeek-V4-Flash 4P4D、TP4、FP8 KV 小规模验证,将 146 个对齐区域归并为 5 个传输区域。需要注意,实际服务测试是把相关路径移植到 vLLM 0.29 后进行的,主分支提交另外做了 CPU 单测;此前版本的跨节点数字也没有在最终实现上重跑。

因此,这是一项有明确布局动机和初步证据的主分支优化,还不足以推断生产集群的统一收益。做 PD 分离时,可同时观察 descriptor 数、实际传输字节和持续带宽:多传少量 padding,有时比发许多小请求更划算。

8. SGLang:Kimi K3 少保留几份 CUDA Graph 辅助输出

SGLang #40159于 9 月 29 日合并。DFlash/DSpark 为不同 batch 大小捕获 decode CUDA Graph 时,原来每个 graph 都保留自己的辅助 hidden-state 输出。实际上,在同一 stream 上,下一次 target forward 开始前,这些状态已被写进 draft KV,可以复用一份按最大 graph 分配的 buffer。

新实现为每个 stream 单独保留缓冲,不让 PD multiplex 的不同 stream 相互覆盖。Kimi K3 首先启用,适用条件还包括 DFlash 家族的 target runner、pp_size == 1 以及模型主动声明支持;其他模型和 EAGLE3 并未一并启用。

作者在 8×B300、Kimi K3 TP8、DFlash block size 8的测试中,target-verify CUDA Graph 每 GPU 显存由 2.215 降至 1.756 GB,减少约 0.46 GB、21%。这个百分比的分母是该部分 graph 显存,不是整张 GPU 的显存。收益主要是释放余量,不能直接换算成同幅度的 tokens/s 增长。

9. SGLang:Qwen 的 verify kernel 快了一倍,服务会快多少

9 月 29 日的 #41486调整 SM90 上 Gated DeltaNet 的 recurrent verify。小 batch 下,原来的 value tile 较宽,单个 program 又要顺序处理多个 draft token;把 value 维度切得更细,可以增加可并行的工作。

优化仅在指定条件下启用:SM90、非 KDA 的 GDN、K=V=128、target verify、batch 1—64。它没有把同一配置无条件推广到 Blackwell;PR 提到那边更细的划分虽然可能更快,但数值并非 bit-identical。

在 H200、Qwen3.5-4B 对应的 head 配置、batch 1、T=4 微基准中,kernel 从 11.02 降至 5.29 μs。不过端到端采用四个 draft token 的 MTP 时,并发 1 的吞吐基本不变,并发 4 约提高 2.1%。换成每步验证 16 token 的 DFlash,单 H200、并发 1 的 146 条提示词实验才得到约 10.8% 吞吐提升。

这是本周最值得保留原始对照的一项更新:kernel 的大幅加速真实存在,能传到服务端多少,还取决于 verify 宽度、并发和 host 开销。

三、运行时版本与生成内容来源

10. TensorRT-LLM rc29:Kimi 的 CuTeDSL 路径和接口迁移

TensorRT-LLM v1.3.0rc29(9 月 29 日)继续补全热门模型的低精度与投机路径,包括 Qwen3.5 全局 FP8 scale 加载、Kimi K3 NVFP4 SiTU 的 CuTeDSL MoE 后端、MiniMax-M3 piecewise CUDA Graph,以及 MLA-backed DSpark drafter 等。

Kimi 的 CuTeDSL 接入 PR更早已合并,本周由 RC 发布记录收录。它针对 SM100/SM103,正确传递 SiTU 的 soft-cap;用户显式选择一个不能运行的后端时会报错,而不是悄悄换成另一个。PR 没有给出后端性能排名,因此本文也不将其写成“CuTeDSL 比 CUTLASS 更快”。

这个 RC 还移除了 AutoDeploy 集成与相关公开入口、旧 cpp_only 构建选项,并升级 PyTorch、Triton 和 C++ 要求。已有服务应先按完整发布记录检查构建与调用入口,再做模型回归,不适合只更新包版本。

11. vLLM 水印:在采样中保留可检测的来源信号

9 月 24 日的 Watermarking in vLLM 是实现说明,不是另一个模型发布。它介绍如何把带密钥的 Gumbel 随机数放进最终采样,用 token 选择留下可检测的统计信号;GPU kernel 融合随机数生成、变换与归约,避免生成巨大的 batch×vocabulary 临时噪声张量。

实现还处理了投机解码的双密钥和重复上下文去重。前者避免损害接受率,后者避免相同上下文反复得到相同 keyed noise。官方在单 H100、Qwen3.5-27B、MTP-3 的测试中报告没有显著吞吐减慢。检测需要匹配的 tokenizer、密钥与足够文本,短文本、低熵输出和多次候选测试都会削弱检测能力;它不是通用的 AI 文本鉴定器。

升级前的简短检查单

  • H3 工作流:固定 checkpoint revision、LoRA alpha 和采样参数;分别回归 T2VA、Ref2VA、分块 VAE 与 offload。比较量化方案时,保留同一提示词、seed 和步数。
  • Qwen/Kimi/GLM 服务:记录部署 commit,不要只记录包版本;同时看启动显存、CUDA Graph 占用、吞吐和 TPOT。
  • PD 与多阶段推理:覆盖缓存未命中、异构 PP、取消请求与阶段失败。只测试正常路径,很容易漏掉跨 rank 的状态问题。
  • RC 版本:单独建立验证环境,保存可回退的依赖与配置;先确认接口迁移,再比较性能。

本文按正式发布、主分支合并或官方说明的日期收录。框架代码、模型权重与外部 API 的授权范围各自独立;性能数字均为项目方报告,未做本站复现。