現代大型語言模型架構內部

分組查詢注意力(grouped-query attention,GQA)

當模型生成文字時,它必須記住每個過去詞元的鍵與值,這個儲存區叫做 KV 快取;在長序列生成中,撐爆記憶體又拖慢速度的是這個快取,而不是運算本身。標準的多頭注意力讓每個查詢頭各自擁有自己的鍵頭與值頭,儲存起來很昂貴。GQA 讓多個查詢頭共用同一對鍵/值來縮減開銷。可以想像八位讀者一起查閱同樣兩張參考卡,而不是各持八份私有副本。

它是完整多頭注意力與「只共用一個鍵/值頭」這個極端之間的折衷。你選一個分組數,例如把 32 個查詢頭分成 8 組、每組 4 個,每組只保留一個鍵/值頭。每個詞元所需的快取與記憶體頻寬會依分組倍率下降,而這正是推論時的主要瓶頸,品質卻幾乎與完整注意力一致。這種平衡正是 GQA 如今成為大型開放模型標準注意力佈局的原因。

又称
GQA