全部词条
白话词典

KV缓存

也叫:KV Cache · 键值缓存 · 注意力缓存

KV 缓存保存各层既有 token 的 key 与 value,减少逐 token 生成中的重复计算,同时占用随上下文增长的内存。

他们说

复用自回归生成中已经计算的 key 和 value 状态

老白翻译

模型把前文算过的注意力状态暂时留着,生成下一个 token 时不用从头再算。

它到底是什么

KV 缓存保存模型各层已经为前文计算出的 key 和 value。自回归模型生成新 token 时,可以直接读取这些状态,只计算新增部分。

生活里的例子

一个对话服务回答长问题时,开头几百个 token 已经处理过。开启 KV 缓存后,模型继续生成时不必反复计算这段前文。

常见误解

  • 误解:开启缓存就不会再占显存。 序列越长,缓存通常越大,长上下文会压低可用并发。
  • 误解:KV 缓存等同于提示词缓存。 KV 缓存多用于一次生成内部,提示词缓存通常跨请求复用共同前缀。
  • 误解:缓存类型只有一种。 动态、静态、量化和卸载缓存分别偏向易用、编译、容量或显存转移。

普通人怎么用

部署模型时同时压测首 token 等待、生成速度、峰值显存和并发数,并用几组不同上下文长度观察缓存增长。

来源文章