游乐游手机版
首页/AI热点日报/热点详情

LLM推理为何要使用KV Cache

类型:热点整理2026-06-23
LLM推理加速深度解析:为何只使用KV Cache,而不用Q Cache? 这个问题其实非常直观——在LLM的自回归解码(decoding)阶段,每一次推理仅依赖当前的Q向量,用完即弃,后续步骤不会再重复使用它。但K和V则截然不同:当前步骤用到的K和V,后续推理中依然需要反复调用,并且还要将新生成t

LLM推理加速深度解析:为何只使用KV Cache,而不用Q Cache?

阿里大模型面试原题:LLM推理为什么用KV Cache

这个问题其实非常直观——在LLM的自回归解码(decoding)阶段,每一次推理仅依赖当前的Q向量,用完即弃,后续步骤不会再重复使用它。但K和V则截然不同:当前步骤用到的K和V,后续推理中依然需要反复调用,并且还要将新生成token对应的KV追加进去。因此,缓存KV能够大幅削减重复计算量,而缓存Q则完全没有实际意义。

道理虽如此,但面试官往往会进一步追问:“Attention公式中Q和K在形式上如此对称,为什么只缓存K而不缓存Q?” 那么,我们就从公式底层把这个问题彻底讲清楚。

从矩阵运算角度理解对称性如何被打破

首先将Attention中的Q、K、V写成矩阵分块形式。Q与K的转置做矩阵乘法时,表面上看K和Q可以互换,对称性非常完美。然而,当V介入后,这种对称性便不复存在。

忽略缩放系数,将第i行的softmax结果简记为s_i,则Attention的输出就是每个位置的softmax权重与对应V的加权和:

在没有Causal Mask(因果掩码)的情况下,上述操作天然对称——交换Q和K,结果形式保持不变。但一旦引入Causal Mask,局面就彻底不同。

启用Causal Mask时,当前token只能关注自己及之前的位置,无法看到未来信息。此时Attention计算变为:

写出通项公式:

  • 无Causal Mask:每个位置的输出依赖于所有位置的Q、K、V。
  • 有Causal Mask:第t个位置的输出仅依赖于位置1到t的K、V,以及当前位置的Q。

关键差异就在此处:在序列的第t个位置,只有当前这个 q_t 参与了计算,而K和V却有t个位置(1到t)全部参与。因此,我们需要缓存历史上所有位置的K和V,但完全无需缓存历史的Q——因为它们在后续计算中早已失效。

值得一提的是,如果没有Causal Mask,计算第t个位置的Attention还需要用到未来位置的KV,这在自回归推理中根本无法提前获取。而加上Causal Mask之后,仅需1,2,…,t位置的KV,推理才能顺利执行。这也正是KV Cache不仅是一种性能优化手段,更是自回归解码得以高效运转的核心基础。

来源:https://www.53ai.com/news/LargeLanguageModel/2024083039674.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。