困难量化量化KV CacheKIVI面试高频
KV Cache 量化中为什么 Key 比 Value 更难量化 / 更敏感?
5 0 0
参考答案
实证研究(如 KIVI)发现,对 KV Cache 做低比特量化时,**Key 比 Value 更敏感**,Key 掉点更明显,所以常用 K 高精度、V 低精度(如 K 4-bit/2-bit 更谨慎,V 可压更狠,或反过来按具体方案)。 **原因分析**: 1. **Key 参与 softmax 前的点积**:注意力分数 = Q·Kᵀ 经 softmax。softmax 对输入误差敏感——Key 的量化误差经过点积再进 softmax 的指数运算会被放大,尤其影响 top 注意力位置的相对排序,进而显著改变注意力分布。而 Value 只是在 softmax 之后被加权求和,误差是线性传播、相对温和。 2. **分布特征**:Key 在某些通道存在明显 outlier(channel-wise outlier),逐 token 量化难以覆盖;而 Value 分布相对均匀。KIVI 的做法是 **Key 按通道(per-channel)量化、Value 按 token(per-token)量化**,分别匹配各自的 outlier 模式。 **工程结论**: - KV 量化要区别对待 K 和 V,量化粒度和比特分配不同。 - KIVI:Key per-channel 2-bit、Value per-token 4-bit,几乎不掉点。 - 这也解释了为什么"一刀切"地把 K、V 都 per-token INT4 会掉点。
讨论区(0)
还没有评论,来做第一个发言的人吧