MQA
MQA(Multi-Query Attention,多查询注意力)是一种注意力机制优化技术,所有查询头共享同一组KV头,相比GQA缓存开销更小,但模型质量损失相对较大,是GQA的更极端变体
核心事实
时间轴 (近 90 天)
GQA和MQA在长上下文、大batch的高并发推理场景中节省最显著,但在短序列或小批量场景压缩收益减弱,且需承担表达力下降的风险。
MHA、GQA和MQA的核心差异在于键值头的共享方式:MHA每个查询头有独立键值头,GQA一组查询头共享一组键值头,MQA所有查询头共享一组键值头。
该架构使用单一共享 KV 头(num_key_value_heads=1,即 MQA 形态),head_dim 为 512 以补偿表达力。
MQA(多查询注意力)让所有头共享一组 KV,相比 GQA,GQA 在质量和效率间取得更好平衡。
压缩KV共享策略与Multi-Query Attention(MQA)和Grouped-Query Attention(GQA)精神一脉相承,但共享粒度更粗
MQA(多查询注意力)中所有查询头共享同一组KV,缓存更小但质量损失相对更大
GQA可将推理时KV Cache显存降低至MHA的1/4,同时保留比MQA更强的建模能力
MQA将所有Query头共享同一组KV,GQA将若干Query头分为一组共享一组KV,是MHA与MQA的折中方案
Flash模型通常采用GQA或MQA技术将KV Cache压缩4-8倍,从而在相同硬件上支持更高并发
GQA(分组查询注意力)是介于多头注意力(MHA)和多查询注意力(MQA)之间的注意力机制,通过将多个 Query 头分组共享 Key-Value 投影来减少 KV Cache 显存占用
还有 2 条时间轴事件
全部知识事实 (14)
GQA(Grouped-Query Attention)和MQA(Multi-Query Attention)是MLA之前业界通过共享Key/Value头来缓解KV缓存问题的方案
75%已验证GQA(分组查询注意力)是介于多头注意力(MHA)和多查询注意力(MQA)之间的注意力机制,通过将多个 Query 头分组共享 Key-Value 投影来减少 KV Cache 显存占用
65%已验证Flash Attention通过分块计算减少显存访问次数,MQA和GQA通过共享键值头降低计算开销
65%待验证Flash系列模型通常采用更小的参数规模、多查询注意力(MQA)或分组查询注意力(GQA)等高效注意力机制,以及模型蒸馏技术
70%待验证GQA和MQA在长上下文、大batch的高并发推理场景中节省最显著,但在短序列或小批量场景压缩收益减弱,且需承担表达力下降的风险。
50%待验证MHA、GQA和MQA的核心差异在于键值头的共享方式:MHA每个查询头有独立键值头,GQA一组查询头共享一组键值头,MQA所有查询头共享一组键值头。
50%待验证该架构使用单一共享 KV 头(num_key_value_heads=1,即 MQA 形态),head_dim 为 512 以补偿表达力。
50%待验证MQA(多查询注意力)让所有头共享一组 KV,相比 GQA,GQA 在质量和效率间取得更好平衡。
50%待验证压缩KV共享策略与Multi-Query Attention(MQA)和Grouped-Query Attention(GQA)精神一脉相承,但共享粒度更粗
50%待验证MQA(多查询注意力)中所有查询头共享同一组KV,缓存更小但质量损失相对更大
50%待验证GQA可将推理时KV Cache显存降低至MHA的1/4,同时保留比MQA更强的建模能力
50%待验证MQA将所有Query头共享同一组KV,GQA将若干Query头分为一组共享一组KV,是MHA与MQA的折中方案
50%待验证Flash模型通常采用GQA或MQA技术将KV Cache压缩4-8倍,从而在相同硬件上支持更高并发
50%待验证GQA 通过让多个 Query 头共享同一组 Key-Value 头,在保持模型表达力的同时降低了 KV Cache 的显存占用
50%