热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai资讯 >阿里大模型面试原题:LLM推理为什么用KV Cache

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

来源:互联网 更新时间:2026-08-25 14:33

LLM推理加速:为什么只有KV Cache,没有Q Cache?

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

这个问题其实很直观——LLM在自回归解码(decoding)阶段,每一次推理只用到当前的Q,这次用完了,下次就不会再用它了。但K和V不一样,当前这一步用到的K和V,下一步还得再重复用,而且还得把新生成的token的KV也加进去。所以缓存KV就能省去大量重复计算,而缓存Q则毫无意义。

道理说完了,但面试官往往会追问一句:“Attention公式里Q和K长得那么对称,凭什么只Cache K不Cache 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只能看到自己和之前的token,不能看到未来。这时候Attention计算变成:

写出通项公式:

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

关键差异就在这里:在序列的第t个位置,Q只有当前这个 q_t 参与了计算,而K和V却有t个位置(1到t)都参与。所以,我们需要缓存历史所有位置的K和V,但完全不需要缓存历史Q——它们早就没用过了。

值得一提的是,如果没有Causal Mask,计算第t个位置的Attention还需要用到未来位置的KV,这在自回归推理中根本不可能提前得到。加上Causal Mask之后,只需要1,2,…,t位置的KV,推理才能顺利进行。这也解释了为什么KV Cache不仅是一种优化,更是自回归解码能够高效运行的基础。

关于宇宙的好的网名有哪些
关于宇宙的好的网名有哪些

类型:角色扮演

大小:1

语言:简体中文

平台:互联网

游戏下载

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc