KV Cache
KV Cache(键值缓存)是Transformer模型推理过程中的一种优化机制,用于缓存注意力计算中每个token对应的键(Key)和值(Value)向量。在自回归生成任务中,模型每步生成新token时无需重新计算历史token的键值对,而是直接复用缓存结果,从而显著降低重复计算量、提升推理效率。该机制以增加显存占用为代价换取计算速度的提升,是大语言模型部署优化的核心技术之一。
核心事实
时间轴 (近 90 天)
自回归解码阶段每生成一个新token都需读取完整KV Cache,使解码阶段几乎总是受限于内存带宽而非计算能力
Prompt Caching可将公共前缀的KV Cache持久化存储,成本可降至普通输入的10-20%
K8V4非对称量化将Key压缩到8位、Value压缩到4位,使128K上下文的KV Cache从16GB降到约6GB
KV缓存将已计算的Key-Value矩阵存储在显存中实现增量计算,代价是显存占用随序列长度线性增长
KV Cache将已计算的历史键值矩阵缓存在内存中,将自回归生成的复杂度从随序列长度平方增长降至线性
KV Cache占用的显存随序列长度线性增长
以LLaMA-3 70B(80层、64头、每头128维)为例,单个token的KV Cache约占2.6MB(FP16精度),32K上下文的KV Cache总量约达83GB
全部知识事实 (7)
以LLaMA-3 70B(80层、64头、每头128维)为例,单个token的KV Cache约占2.6MB(FP16精度),32K上下文的KV Cache总量约达83GB
80%已验证KV缓存将已计算的Key-Value矩阵存储在显存中实现增量计算,代价是显存占用随序列长度线性增长
75%已验证KV Cache占用的显存随序列长度线性增长
65%部分验证KV Cache将已计算的历史键值矩阵缓存在内存中,将自回归生成的复杂度从随序列长度平方增长降至线性
65%待验证自回归解码阶段每生成一个新token都需读取完整KV Cache,使解码阶段几乎总是受限于内存带宽而非计算能力
50%待验证Prompt Caching可将公共前缀的KV Cache持久化存储,成本可降至普通输入的10-20%
50%待验证K8V4非对称量化将Key压缩到8位、Value压缩到4位,使128K上下文的KV Cache从16GB降到约6GB
50%