多头注意力把 Q、K、V 投影到 h 个低维子空间(每个头维度 d_model/h),各自独立做注意力,再把 h 个输出拼接后线性变换。总计算量与单头相当,但表达能力更强。

优势在于:不同头可以学习不同类型的关系——有的头关注局部相邻词,有的头追踪句法依赖,有的头处理指代关系,相当于并行的多种注意力模式;单头的 softmax 只能输出一个混合权重分布,被迫在这些模式间折中。把表示空间切分后,每个子空间内的点积更聚焦,也间接起到正则作用。

易错点:以为多头是为了增大参数量——切分后每头参数减少,总量基本不变;头数不是越多越好,实践中发现部分头冗余可被剪掉(head pruning)。追问方向:MQA(多查询注意力,所有头共享 KV)和 GQA(分组查询)如何降低推理时 KV cache 开销?为什么 LLaMA、Qwen 等现代模型普遍采用 GQA?