同一份文档换个系统提示就得重算:分段复用把缓存命中率从3.3%抬到63.9%
导语
同一份检索文档跟在不同的系统提示或时间戳后面时,前缀缓存无法复用它的键值状态,而按段独立判断的分段复用能在30 GB缓存下把token级命中率从3.3%提到63.9%,并降低首token延迟。
正文
大模型推理服务里的键值缓存复用不再要求整段提示逐字相同。系统把输入按分隔符切成段,每段单独查缓存,命中就跳过预填充,未命中才计算并存入。 此前主流服务引擎只优化精确前缀匹配,同一份文档跟在不同的系统提示、对话历史或动态元数据之后时,缓存无法复用,只能重新计算。 在2500条按Zipf分布抽样的RAG式请求上,20%的请求共享固定前缀,30 GB缓存下分段复用命中率63.9%,前缀缓存只有3.3%;前缀缓存即便把缓存扩到1 TB也只到17.9%。
复用缓存时,系统把每段已存的键保持未旋转形式,按它在新提示中的当前位置重新施加旋转位置编码,只做位置对齐,不重算与前面前缀的注意力。 已有位置无关缓存研究主要关注位置错配下如何保住输出质量,这套测试台关注的是精确前缀匹配失败时能多出多少复用机会。 测试台建在vLLM v0.20.0上,用GPT-OSS-120B在单张NVIDIA H200上服务、缓存放在NVMe SSD,扩展代码不到900行Python;质量评估用LongBench Pro和LongBench的七个数据集,分数取三次运行平均。
接下来
这套测试台面向在vLLM上开发与评估分段键值缓存复用的研究人员和推理服务工程师,覆盖缓存生成、提示构造、淘汰与运行时监控,并在单文档问答与摘要上保持输出质量。作者把大规模部署的评估留作后续工作,并指出把分段复用与已有位置无关缓存技术比较或结合仍是重要方向。
作者说明实现只做了简单的位置校正,既没有与更复杂的位置无关缓存技术结合,也没有直接比较;实验只用了一个大模型,结果未必推广到其他架构、规模或训练设置。跨文档推理上朴素复用仍有明显退化,即使用参考答案筛出相关文档也只能部分恢复。附录中的容量外推依赖每字节文档对应15 KB缓存、20%复用概率等假设,作者声明这些数值只用于说明量级,不代表具体生产负载。
