MHA、MQA和GQA基本概念與區別
1. 多頭注意力(MHA)
多頭注意力(Multi-Head Attention,MHA)通過多個獨立的注意力頭同時處理信息,每個頭有各自的鍵(Key)、查詢(Query)和值(Value)。這種機制允許模型并行關注不同的子空間上下文信息,捕捉復雜的交互關系。然而,MHA存在一個明顯問題:計算和內存開銷巨大,尤其在長序列任務中,鍵值緩存(KV-cache)顯著增加,限制了模型在實際推理階段的可擴展性。
2. 多查詢注意力(MQA)
MQA(Multi-Query Attention)提出的解決方案是將所有查詢頭共享同一組鍵值對,極大地減少KV緩存大小。這種共享機制提高了推理時的效率和速度,但因缺少獨立鍵值,可能在精細化任務或復雜場景下出現性能下降。
3. 分組查詢注意力(GQA)
GQA(Grouped Query Attention)則折中于MHA與MQA之間,提出將查詢頭分為若干組,每組共享一套鍵