詳細解釋
GQA(Grouped-Query Attention)是分組查詢注意力,多個Query頭共享相同的Key/Value頭,減少KV Cache記憶體。
標準MHA(Multi-Head Attention):
- Q、K、V都有H個頭
- 記憶體:3×H個頭的緩存
GQA:
- Q有H個頭
- K、V有H/G個頭(G個Q頭共享1個KV頭)
- 記憶體:H + 2×(H/G)個頭
- 通常G=4或8
優勢:
- 記憶體省:KV Cache減少G倍
- 速度:推理更快,尤其長序列
- 效果:通常無損或輕微損失
與多查詢注意力的對比:
- MQA:極端,所有Q頭共享1個KV頭
- GQA:平衡,中間方案
- GQA效果通常比MQA好
應用模型:
- Llama 2 70B:使用GQA
- 大部分新大模型採用
- 長上下文模型的標配
是注意力記憶體優化的標準方法。