标准多头注意力(MHA)中,每个查询头都拥有独立的键、值头,缓存的键值头数与查询头数相同。分组查询注意力(GQA,由 Ainslie 等人于 2023 年提出)让多个查询头组成一组、共享同一组键、值头,从而显著减少需要缓存的键值头数量。
若查询头数为 H、每组包含 g 个查询头,则键值头数降为 H/g,KV 缓存体积相应缩减约 g 倍。以 LLaMA-2 70B 为例,其采用 8 组 GQA(64 个查询头共享为 8 个键值头),相较 MHA 将 KV 缓存缩小约 8 倍,而模型质量损失极小(标准基准上约为 0.2 个百分点)。
由于 GQA 在缓存体积与表达能力之间取得良好平衡,Llama-3 系列等大量生产级模型已普遍采用 GQA 作为默认注意力架构,从源头降低 KV 缓存的显存压力。