Transformer 是否需要三个投影?QKV 变体分析

关键要点:投影共享降低内存开销

Transformer 可以在显著降低内存需求的同时保持性能,只需共享权重投影。具体而言,共享 Key 和 Value 投影 (K=V) 在结合 Multi-Query Attention (MQA) 时可将 KV cache 大幅削减——最高可达 96.9%,且模型困惑度仅出现轻微下降。这表明标准的三投影(Query、Key、Value)架构在许多任务中可能过于复杂。

对 QKV 变体的系统评估

研究者评估了注意力机制中权重投影的三种主要约束,以确定是否真的需要全部三种投影:

  • 共享键-值 (K=V): 键和值的投影相同。
  • 共享查询-键 (Q=K): 查询和键的投影相同,导致注意力映射对称。
  • 单一投影 (Q=K=V): 三个投影使用相同的权重。

为缓解 Q=K 和 Q=K=V 引起的对称性问题,研究使用了 2D 位置编码在注意力机制中引入不对称性。

跨领域性能

实验在合成任务、视觉任务(MNIST、CIFAR、TinyImageNet 与异常检测)以及语言建模上进行。结果表明,投影共享的 Transformer 与标准 QKV Transformer 的表现相当,甚至在某些情况下更佳。

语言建模结果

在使用 300M 与 1.2B 参数模型、在 10B 令牌上训练的语言建模测试中,K=V 变体展示了显著的效率提升:

  • KV 缓存减少: K=V 投影共享实现了 KV cache 50% 的降低。
  • 困惑度影响: 该降低仅导致困惑度下降 3.1%(最小)。

与头部共享的协同效应 (GQA/MQA)

投影共享可与现有的头部共享技术(如 Grouped-Query Attention (GQA) 与 Multi-Query Attention (MQA))互补。将这些方法结合可实现适用于边缘部署的极大内存节省:

  • K=V + GQA-4: KV cache 降低 87.5%。
  • K=V + MQA: KV cache 降低 96.9%。

理论洞察:为何 K=V 有效

研究得出结论,K=V 能保持质量是因为键和值通常占据相似的表征空间。此外,由于注意力通常在低秩 regime 下工作,标准 QKV 公式中的冗余往往未被充分利用。相反,Q=K 变体往往失效,因为它破坏了注意力机制的关键方向性。

社区批评与技术讨论

虽然这些结果对设备端推理具有吸引力,但机器学习社区对研究的普适性与方法论提出了若干质疑:

训练规模与过度训练

一位批评者指出,1.2B 参数模型仅在 10B 令牌上进行训练,远低于 Chinchilla 最优计算预算。人们担心,对注意力的简化在训练不足的情形下可能表现良好,但在现代大语言模型(数万亿令牌)所需的“过度训练”阶段可能失效,此时标准注意力的完整表达能力变得更为关键。

数学符号

部分读者指出论文中的符号不够清晰,尤其是使用 "Q‑K=V" 来表示共享键‑值投影 (K=V),而非数学上的减法运算。

归纳偏置与架构

从业者的讨论表明,标准 QKV 公式之所以被广泛采用,并不一定因为它是最优的数学方案,而是因为它在 GPU 上计算效率高,并提供了一个安全、易于理解的扩展基线。

Sources