
KV Cache 通过缓存并复用历史 Token 在注意力层中计算出的 Key 和 Value 状态,将自回归生成中注意力计算的复杂度从 O(n²) 降至 O(n),从而显著降低显存带宽压力和计算开销 。一、核心原理:避免重复计算在 Transformer 的自回归解码(Decode)阶段,模型逐个生成 Token。对于当前新生成的 Token,其 Query (Q_t) 需要与之前所有历史 Token 的 Key (K_{1:t}) 和 Value (V_{1:t}) 进行计算以得到注意力输出。如果没有缓存,每次生成新 Token 都需要为所有历史 Token 重新计算一遍K和V,导致计算量随序列长度平方增长。KV Cache 的核心思想是:在生成第t个 Token 时,将第1至t-1个 Token 已计算好的K和V张量缓存起来。当计算第t个 Token 的注意力时,只需计算当前 Token 的Q_t,K_t,V_t,并从缓存中读取历史的K_{1:t-1}和V_{1:t-1}进行拼接,然后执行注意力计算 。计算复杂度对比: