vLLM 0.31.0 是一次以推理性能为主的发布,围绕 DeepSeek-V4.1-Flash 做了一批底层优化。挑几个对实际部署有影响的讲。
FlashMLA 与 NVFP4 压缩 KV cache
这一项把 KV 缓存用 NVFP4 压缩,并作为 SM100 架构的默认配置。KV cache 是长上下文推理的显存大头,压缩它直接决定单卡能撑多少并发、能撑多长的上下文。
代价是精度损失。用之前要在你的任务上验证:长文档问答、代码补全、多轮对话对 KV 精度的敏感度不一样。
SWA 有界重放
滑动窗口注意力的 KV 被排除在前缀缓存之外。这个改动的背景是:滑动窗口层的 KV 复用规则跟全局注意力层不同,混进前缀缓存会导致错误的命中。
如果你的服务依赖前缀缓存来省计算,升级后要重新测命中率,可能跟上一版不一样。
Mega-Gate:把 gate GEMM 和专家选择融合
MoE 模型里门控网络和专家选择本来是分开的计算,融合之后省掉一次中间结果的写回和读取。对专家数多的模型,这个优化收益明显。
vllm preload 守护进程
新增一个 preload CLI 守护进程,用于快速重启引擎。这个改动看着不起眼,但对生产环境很实用——大模型加载动辄几分钟,有守护进程预热之后,重启从分钟级变成秒级,滚动升级和故障恢复的压力小很多。
CRIU 快照(实验性)
支持 vllm snapshot create/restore,目前只针对 TP1 引擎。原理是把进程状态冻结成镜像,恢复时直接载入。做弹性伸缩的团队可以关注,但标记为实验性,别直接上生产。
投机解码与 logits 处理器
Draft-model 投机解码和自定义 logits 处理器现在跑在 Model Runner V2 上。如果你之前写过自定义 logits 处理器,升级后要确认兼容性。
升级前的检查清单
先看你的硬件是不是 SM100 架构,NVFP4 默认只对它生效。
再测一遍前缀缓存命中率,SWA 的改动会影响它。
然后跑一遍你的标准压测,重点看 p99 延迟而不是平均吞吐——批处理优化的收益往往集中在吞吐上,单请求延迟未必改善。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。