vLLM 跨实例图像缓存串号漏洞及修复
vLLM 在多服务器共享外部 KV 缓存时存在跨实例图像缓存串号问题:当 prefix cache 与图像处理缓存均关闭时,每台服务器的图像标签从 1 开始计数,不同图像在共享缓存中撞上同一 key,第二台服务器会命中并返回另一张图像的缓存数据,且表现为正常缓存命中、不报错。修复方式是让每台服务器在图像标签中加入自己的随机部分,使跨服务器标签不再相同,相关 PR 为 #67461。
Hao AI Lab· @haoailab · X·2026-11-14 03:13· 35 分钟前AI 评分48
AI 导读
vLLM 在多服务器共享外部 KV 缓存时存在跨实例图像缓存串号问题:当 prefix cache 与图像处理缓存均关闭时,每台服务器的图像标签从 1 开始计数,导致不同图像在共享缓存中撞上同一 key,第二台服务器会命中并返回另一张图像的缓存数据,且表现为正常缓存命中、不报错。修复方式是让每台服务器在图像标签中加入自己的随机部分,使跨服务器标签不再相同,相关 PR 为 #67461。
正文 · 原文
(6/7) 跨实例串号:关于一张图像的问题,却用另一张图像的缓存数据来回答。
这破坏了基于内容的缓存:两张不同的图像绝不能共享同一个缓存 key。
通常,vLLM 通过内容哈希来标识每张图像。但当 prefix cache 和图像处理缓存都关闭时,它在每台服务器上都使用从 1 开始的计数器。由于该标签仍会进入外部缓存存储的 key,两台共享该存储的 vLLM 服务器会给不同的图像分配相同的 key。因此,当第二台服务器被问及自己的图像时,它能在该 key 下找到第一台服务器的缓存数据,并用那张图像来回答,表现为正常的缓存命中且不报错。
在两台共享外部 KV 缓存存储的服务器上,第二台用另一张图像的缓存数据作出了回答。更改图像标签即可修复:每台服务器加入自己的随机部分,使跨服务器的标签不再相同。
PR:github.com/vllm-project/vllm/…
来源:Hao AI Lab · x.com
来源:RadarAI · aihot.news