AREXOpen in interactive Feed

AREX Feed Article

vLLM 发布 v0.31.0:新增 vllm preload 权重缓存守护进程与实验性 CRIU 快照重启

October 5, 2026

vLLM 项目于 UTC 时间 10 月 5 日 06:44(北京时间 14:44)发布 v0.31.0。据 ,这个版本包含 717 个提交,来自 307 名贡献者(其中 96 名新贡献者),重点包括 DeepSeek-V4.1-Flash 的性能优化、新增 vllm preload 权重缓存守护进程与实验性的 CRIU 快照重启、Model Runner V2 的投机解码、MoonEP 均衡 EP all2all 后端、GLM-5.3-Flash Quark MXFP4 等新模型支持,以及一组破坏性变更。

这个版本新增的命令之一是 vllm preload。按 ,它在每张 GPU 上运行一个权重缓存守护进程,持有本 rank 已量化、按 TP 分片的权重,并通过 Unix domain socket 向引擎提供 CUDA IPC 句柄;引擎加 --load-format ipc_cache 启动后直接映射这份显存,文档称该机制可将重启时间从分钟量级(磁盘加载与量化处理)缩短到秒级。发布当天, 已可安装,且是当前最新版本(wheel 与源码包在 07:40~07:47 UTC 完成上传),Docker 侧则在发布说明中列出 vllm/vllm-openai:v0.31.0 等标签。

快速重启的两条路径:vllm preload 与 CRIU 快照

vllm preload 的部署方式,是先启动守护进程,再让引擎连进来。文档示例用 vllm preload --model meta-llama/Llama-3.1-8B-Instruct --tensor-parallel-size 4 拉起每卡一个的守护进程,引擎在启动或重启时改用 --load-format ipc_cache。连接前,二者会核对一组权重指纹:checkpoint 内容哈希、模型结构、TP/DP 规模与 rank、dtype、量化方法与配置、模型 revision、vLLM 版本;默认设定下,任一项不匹配就退回从磁盘加载。引擎还会校验守护进程的 GPU UUID,防止过期的 socket 把权重映射到错误的设备。默认的 zero_copy 模式下,引擎直接映射守护进程的 CUDA 分配,每张 GPU 只保留一份权重。

文档写明的限制包括:只支持 CUDA 与 ROCm;张量、专家与数据并行可用且支持跨节点,但启动守护进程时带管线并行会被拒绝;模型的每种量化方法都要声明支持预处理权重。本次发布中,它已支持数据并行(#57386)、MTP 草稿模型(#57312)、/health 端点(#58552)与就绪等待(#58370)。

另一条路是快照。vllm snapshot create/restore 用 CRIU 保存和恢复一个完整初始化过的 TP1 引擎,发布说明把它列为实验性功能(#51360)。按 ,创建时先初始化引擎、记录一次确定性的生成输出(canary),再由 CRIU 捕获进程树与 CUDA 状态;恢复时先校验保存的环境,重建引擎、绑定 HTTP 服务,并在确认首个生成 token 及采样对数概率与 canary 一致后才返回。文档还把适用场景限定为「在同一台机器上反复激活同一模型与引擎配置」,并说明它不是可移植的模型产物。

要求上,快照路径目前只支持 Linux x86-64、单张 NVIDIA GPU 与 TP1,HTTP 服务必须是无认证的明文配置,文档建议把它放在受信任主机或网络边界内;还需要 CRIU 及其 CUDA 插件、兼容 cuda-checkpoint 的辅助程序、root 或免密 sudo 权限,并在启动前关闭 io_uring。文档注明目前只验证过 dense float16 的 TP1 配置,且 NCCL 状态不会被恢复;官方 vllm/vllm-openai 的 x86-64 镜像内含快照运行时,Arm64 镜像不含。

DeepSeek-V4.1-Flash:mega attention 与 NVFP4 KV cache 成为 SM100 默认

发布说明列出的第一条重点是 DeepSeek-V4.1-Flash 的性能优化:FlashMLA mega attention 与 V4.1 的 NVFP4 压缩 KV cache 一起成为 SM100 上的默认组合(#56935)。按 的描述,mega attention 内核把 Q RoPE、稀疏注意力、输出的逆 RoPE 与 FP8 cast 合并进一次 kernel launch,直接写入 wo_a 消费的缓冲区;它以 FlashMLAMegaAttnBackend 的形式自带注意力层,而 V4.1 的 NVFP4 压缩 KV 记录只有这个内核能读取。此前它是可选后端,本次改为 SM100 默认。

同一批改动还包括:索引器改用 DeepGEMM 稀疏 MQA logits(#56254);Mega-Gate 把 gate GEMM 与专家选择融合(#56266);解码器边界上融合了 TP all-reduce、mHC 输入准备(#57643)与 MoE finalize(#58586);SM100/SM103 增加含逆 RoPE 与 MXFP8 量化的融合小批量 WO-A 路径(#58634);MXFP8 的 wo_b GEMM 与序列并行 reduce-scatter 融合(#57428)。显存侧,Engram 的 wkv 按 TP rank 分片(#58678),Engram 主机侧表格默认在共置的 DP 副本间共享(#57651)。外围还有视觉塔的 encoder CUDA graphs(#56625)与 SWA bounded replay(#56227)。

MoonEP 后端与大规模服务的新增项

大规模服务一侧,发布说明列出的首项是 MoonEP 均衡 EP all2all 后端,开关是 --all2all-backend moonep(#52101)。 描述称,MoonEP 通过在线规划少量动态冗余专家、并在专家计算前预取这些专家的权重,让每个 EP rank 的 token 数固定为 S×K,不随路由倾斜变化;该 PR 同时说明,这是 MoonEP 集成路线图(RFC #52095)的第一项,后端以 BF16、eager 模式首次集成。MoonEP 的开源库托管在 下,仓库描述为「通过动态冗余专家实现完全均衡的专家并行库」。

同批进入大规模服务的还有:prefill 上下文并行与数据并行的组合(#57075)、面向 SM100/SM103 的低 SM 占用 multimem reduce-scatter(#55072)、带序列并行的 DeepEPv2(#57210)、支持共享专家重叠的 EPLB(#57236),以及面向 RL 的分片感知 NCCL M2N 权重传输后端(#51520)。调度侧,--max-num-active-seqs 可以独立于 max_num_seqs 限制 RUNNING 状态的准入(#56758);--long-prefill-token-threshold 改为随等待中 prefill 的数量自适应(#57951、#58459);等待队列重构后,已持有 KV block 的请求优先调度(#58947);KV connector 与 MTP 在 KV 压力下的死锁被修复(#57104)。

投机解码:草稿模型进入 Model Runner V2

Model Runner V2 在这一版补上了投机解码的关键组件:支持草稿模型投机解码(#43091)与自定义 logits 处理器(#56497),后者在请求准入阶段即做校验(#57728)。投机解码侧的其他新增包括 LiLiCorr 草稿模型(#57934)、DFlash 的异步调度(#58065),其上下文 K/V 预计算被捕获进草稿 CUDA graph(#57632);Gemma4 的 DSpark 自适应验证(#57263)、Kimi-K3 的变长解码(#52988),以及 DCP 目标配非 DCP DSpark 草稿的组合(#56723)。针对 WideEP 部署,MRV2 的 profiling 开始计入 MoE 显存,以避免这类部署出现 OOM(#57270、#58411)。

GLM-5.3-Flash Quark MXFP4 与新模型、新量化

新模型支持里,发布说明提到 GLM-5.3-Flash 的 Quark MXFP4 checkpoint(#56176)。 描述称,该 checkpoint 为 amd/GLM-5.3-Flash-Quark-MXFP4,采用全局 MXFP4 量化、注意力投影保留源模型的 block-FP8/BF16;在修复两处独立的权重加载缺陷后,它可以正常加载并推理,PR 称其精度与源 checkpoint(zai/GLM-5.3-Flash)相当。同期的模型能力还包括:ROCm 的 DeepSeek-V3.2 路径支持 GLM-5.2-MXFP4(#51915)、MiMo V2 的 MXFP4 MoE 与 BF16 MoE router、DFlash 草稿(#57784)、DiffusionGemma 的结构化生成模式(#57250)、Granite 4.2 的内置 granite_thinking_parser(#55957)。

量化方面,Humming 增加 Hadamard 变换与 NVFP4/MXFP4/MXFP8 在线量化(#56685);Quark 支持原生导出 W4A16 INT4/UINT4(#48606);加载时 MXFP4 反量化改为可选(#50814);DeepSeek-V4.1-Flash 另增 AMD Quark 混合精度的 MXFP4 checkpoint(#57071)。发布说明还给出两个具体数字:GLM-5.3-Flash 的索引器解码工作区改为按池化长度分配后可省下 3 GiB(#57701),元数据操作快 1.6~4.8 倍(#58450)。

升级前要核对的破坏性变更

发布说明将破坏性与弃用单列一节。请求级的 mm_processor_kwargs 与 media_io_kwargs 现在默认被拒绝,除非服务端以 --trust-request-mm-kwargs 放行(#58830);tokenizer_mode="slow" 被移除(#58545);--enable-mamba-fine-grained-prefix-cache 更名为 --enable-mamba-shared-prefix-checkpoint(#57382);在线量化的 quantization="fp8" 改为指向 fp8_per_tensor 简写,Quark 的静默在线 MXFP4 量化被移除(#53585、#51800);AllSpark 的 INT8 W8A16 后端被删除(#58001)。默认值方面,XPU 图默认开启且 VLLM_XPU_ENABLE_XPU_GRAPH 被移除(#51600);--enforce-eager 现在会同时关闭 JIT kernel 预热(#58197);VLLM_BATCH_INVARIANT=1 改用无需 torch.compile 的可打断 CUDA graph(#57586),并禁用序列并行与异步 TP(#56377)。依赖上,transformers 在 requirements 中加上了上限(#59614)。

安全侧同样在收紧默认值:前缀缓存的额外键按来源打标,LoRA 名称与 cache_salt 不再可能相撞(#51899);LoRA 路径进入 block hash(#59335);陈旧的多模态接收缓存不能再覆盖新载荷(#57833)。发布资产还包括源码包,以及 CUDA 12.9/13.0、CPU、XPU 的 wheel。本文引用的功能与性能描述均来自 vLLM 的发布说明与官方文档。

CRIU 快照仍被标注为实验性功能,支持范围目前限于单张 NVIDIA GPU(TP1)、同一台机器、root 权限与不做认证的明文 HTTP 服务。

参考链接

More from this developing story

  • vLLM 发布 v0.31.0:新增 vllm preload 权重缓存守护进程与实验性 CRIU 快照重启Oct 5, 2026
  • vLLM 公布 DeepSeek-V4.1-Flash 三周优化成绩:低并发提速 1.9 倍,AgentX 吞吐增 5.3 倍Oct 8, 2026