vLLM 修复混合模型前缀缓存全零块 bug
vLLM 混合模型前缀缓存全零块 bug 修复
vLLM 修复了混合模型开启细粒度前缀匹配时的一个静默错误:缓存块在尚未写入时就被标记为可复用,导致同一步内第二个请求过早复制到全零块并从零继续,错误块还会留在缓存中供后续请求复用,而响应看起来一切正常。在 GB200 上修复前 32 次试验中复制源全为零,修复后为 0 次。小修复将复制源未写入的请求推迟到下一个调度步,PR 见 vllm-project/vllm#67451。
Hao AI Lab· @haoailab · X·2026-11-14 03:13· 30 分钟前AI 评分42
AI 导读
vLLM 在混合模型开启细粒度前缀匹配时,会在缓存块尚未写入就标记为可复用,导致同一步内第二个请求过早复制到全零块并从零继续,错误块还会留在缓存中被后续请求复用,而响应看起来一切正常。在 GB200 上修复前 32 次试验中复制源全为零,修复后为 0 次。小修复将复制源未写入的请求推迟到下一个调度步,PR 见 vllm-project/vllm#67451。
正文 · 原文
(2/7) 静默的错误输出:混合模型可能从一个全零缓存块继续,然后将其缓存。
这破坏了前缀缓存:缓存命中必须让请求得到与它自行计算相同的结果。
在开启细粒度前缀匹配的混合模型上,vLLM 在规划缓存块时就将其标记为可复用,而此时该块尚未实际写入。因此,当同一步中的第二个请求复用该块时,它会过早复制,得到全零。第二个请求随后从这些零继续。由于坏块留在缓存中,后续请求也可能取到它,而每个响应看起来仍然正常。
在 GB200 上,修复前 32 次试验中复制源全为零,修复后为 0 次。一个小修复将复制源尚未写入的请求推迟到下一个调度步,等源被填充后再处理。
PR:github.com/vllm-project/vllm/…
来源:Hao AI Lab · x.com
来源:RadarAI · aihot.news