多查询注意力
也叫:Multi-Query Attention · MQA · 多查询共享KV注意力
多查询注意力保留多个 Query 头,共用单组 Key 和 Value,以减少增量解码的 KV 缓存与带宽需求。
他们说
让多个查询头共用一套 Key 和 Value
老白翻译
保留多个问问题的头,只存一份可供大家查找的KV 记录。
它到底是什么
多查询注意力是多头注意力的一种变体。每个头仍有自己的 Query 投影,所有头共用单组 Key 和 Value,因而删去 KV 缓存里的头维度。
生活里的例子
几个人各自带着不同问题查同一份资料。问法没合并,资料却无需为每个人复印一套。
常见误解
- 误解:MQA 把所有注意力头都变成一个头。 Query 头仍然有多个,共享的是 Key 和 Value。
- 误解:缓存减少几倍,生成就会等比加速。 还要看算子、硬件、批量和调度。
- 误解:MQA 不影响质量。 原论文只证明损失很小,业务任务仍要重测。
普通人怎么用
对比模型时,查清它用 MHA、GQA 还是 MQA,再用同一长度、批量和任务测显存、速度与质量。