本次查询:Prefix Caching
中文解释:前缀缓存
常见场景:大模型推理优化
一句话解释
Prefix Caching(前缀缓存)是指在LLM推理过程中,将多次请求共用的输入前缀(如系统提示词、对话历史)对应的Key-Value缓存(KV Cache)存储下来,后续相同前缀的请求可以直接复用,无需重新计算整个前缀的注意力矩阵。
为什么会被关注
随着大模型在对话、代码生成等场景的广泛应用,推理效率和成本成为关键瓶颈。Prefix Caching能大幅减少重复的前缀计算量,将首Token生成延迟降低50%以上,同时提升GPU利用率。vLLM、TGI等主流推理框架已原生支持该技术,开发者无需修改模型即可获得加速效果。
核心逻辑
核心思想是利用请求中相同的前缀部分:当多个请求共享相同的初始token序列(如系统指令),它们的KV Cache在前缀部分完全一致。系统首次计算后将前缀的KV cache存入哈希表,后续请求通过哈希匹配直接复用,仅需计算新增加的token。这避免了重复的Prefill阶段,显著减少计算和显存带宽开销。
常见场景
多轮对话中,每轮请求都包含之前的对话历史,使用Prefix Caching可避免反复重算历史部分的KV cache。Agent应用中固定系统提示词、用户身份描述等长前缀也能显著受益。此外,批处理相同指令的文本生成(如批量翻译相同前缀的句子)也可利用前缀缓存加速整体吞吐。
容易混淆的点
Prefix Caching不同于普通的KV Cache(其缓存整个序列的K和V矩阵)。前缀缓存仅缓存公共前缀,而普通KV Cache是每个请求独立的。另外,它也与页面缓存(Page Cache)或提示词缓存(Prompt Cache)不同——后者可能缓存完整提示的生成结果,而非中间注意力状态。
