詳細解釋
MQA(Multi-Query Attention)是多查詢注意力,所有Query頭共享單一KV頭,最大化減少KV Cache。
與標準MHA的對比:
- MHA:每個Q頭有對應K、V頭
- MQA:所有Q頭共享1個K、1個V頭
- 記憶體:從3×H降到H+2
- 極致壓縮
優勢:
- 記憶體最小:KV Cache最小
- 推理最快:加載KV最少
- 簡單:實現簡單
局限:
- 品質:通常比MHA和GQA差
- 表達能力:KV頭難以服務多樣查詢
- 長序列時尤其明顯
與分組查詢注意力的對比:
- MQA:極端壓縮,效果犧牲大
- GQA:平衡,推薦使用中間方案
- 但MQA在極度資源受限仍有用
應用:
- 早期快速推理嘗試
- 現在多被GQA取代
- 但概念重要,啟發GQA
是注意力記憶體優化的極端方案。