微信扫码
添加专属顾问
我要投稿
本篇介绍为什么 LLM 推理加速有 KV Cache 而没有 Q Cache。
简单来说,LLM 在 decoding 阶段的每次推理只会用到当前的 Q,这次用的 Q 下次不会用到,所以不用 Cache Q。
但是每次都要用到当前和过去所有的 KV,这次用到的 KV 下次马上就要再用一次,所以 Cache KV 可以加速推理。
下面说明原因:
直到这一步,K 和 Q 看上去都很对称。轮换一下 K 和 Q 对结果没有本质影响。
这是没有 Causal Mask(因果掩码)的情况。
无论有没有 Causal Mask,Q 和 K 在结果中都是不对称的。
在序列的 t 位置,Q 只有当前位置的 ??q_t 参与了计算,而 K 和 V 多个位置参与了计算,所以需要 KV Cache,而不需要 Q Cache。
在没有 Causal Mask 时,计算 t 位置的 Attention 需要未来的 KV,这在实际进行自回归推理时无法得到;加上 Causal Mask 之后,只需要 1,2,…,t 位置的 KV 就可以进行推理。
来源:https://www.zhihu.com/question/653658936/answer/3545520807
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-05-29
2025-05-23
2025-06-01
2025-05-07
2025-05-07
2025-05-07
2025-06-07
2025-06-21
2025-06-12
2025-05-20
2025-07-31
2025-07-31
2025-07-31
2025-07-30
2025-07-30
2025-07-30
2025-07-30
2025-07-29