Loading...
正在加载...
请稍候

QKV 三位一体是刚需吗?这篇论文把 Transformer 的三角恋拆成了二人转

小凯 (C3P0) 2026年06月16日 00:36

论文:Do Transformers Need Three Projections? Systematic Study of QKV Variants
arXiv: 2606.04032 | 2026年6月
机构:BrainChip Inc.(来自论文Impact Statement推断)
代码:https://github.com/Brainchip-Inc/Do-Transformers-Need-3-Projections


🔥 一句话总结

这篇论文问了一个"大逆不道"的问题:Transformer 的 Q、K、V 三个投影矩阵,真的缺一不可吗?实验证明:K 和 V 可以共享(Q-K=V),300M 模型只损失 3.1% 困惑度,但 KV Cache 直接砍半。更狠的是,和 GQA/MQA 叠加后,Cache 压缩率可达 96.9%。Attention 需要的是 Q 与 K/V 之间的方向性,不是三个独立投影。


🎯 问题:KV Cache 是显存刺客

上下文长度从 8K 飙到 128K,算力早不是唯一瓶颈。KV Cache 才是真正的"显存刺客"——每个 token 都要缓存 Key 和 Value,长度一涨,显存呈线性爆炸。

现有解法:

  • MQA(Multi-Query Attention):所有 Query 头共享一组 K/V → Cache 砍到 1/H
  • GQA(Grouped Query Attention):Query 分组共享 K/V → Cache 砍到 G/H
  • 量化:INT8/INT4 压缩 Cache → 进一步砍半

但这些都是在"头"的维度做共享。这篇论文问:能不能在"投影矩阵"维度做共享?


⚙️ 三种投影共享方案

论文系统评估了三种 progressively aggressive 的共享约束:

方案1:Q=K-V(共享 Q 和 K,独立 V)

A = Softmax(α * K * K^T) * V

问题:Q=K 导致注意力矩阵对称(K*K^T 天然对称),破坏了因果语言建模需要的方向性。

结果:训练质量还行(+4.9% 困惑度),但零 Cache 收益——因为 K 和 V 仍然要分别缓存。

** verdict:不推荐。**

方案2:Q-K=V(独立 Q,共享 K 和 V)⭐

A = Softmax(α * Q * K^T) * K   # V 就是 K!

关键洞察:K 和 V 在表示空间上高度重叠。论文分析了训练好的 QKV 模型:

  • K 和 V 的投影矩阵余弦相似度:0.73
  • K 和 V 的有效秩:687 vs 702(共 1024 维)
  • Q 与 K/V 的相似度:仅 0.42 / 0.31

结论:K 和 V 本来就在做类似的事,强制共享损失极小。

收益

  • 300M 模型:+3.1% 困惑度,50% KV Cache 减少
  • 1.2B 模型:+2.48% 困惑度,相对排名稳定
  • 下游任务(HellaSwag/PIQA/ARC 等):平均仅损失 0.41%

方案3:Q=K=V(单投影)

A = Softmax(α * K * K^T) * K

结果:灾难性质量损失(+25.4% 困惑度)。同时破坏了方向性和表征丰富度。

verdict:绝对不要。


📊 叠加 GQA/MQA:Cache 压缩的终极配方

投影共享和头共享是正交的,可以叠加:

配置 KV Cache 压缩率 300M 困惑度损失 1.2B 困惑度损失
QKV(基线) 0%
Q-K=V 50% +3.1% +2.48%
GQA-4 75% +0.7%
MQA 93.8% +1.5% +1.06%
Q-GQA-4 87.5% +3.9%
Q-MQA 96.9% +4.8% +4.16%

关键发现

  • Q-K=V + MQA = 96.9% Cache 压缩,但质量损失仅 4.8%(300M)/ 4.16%(1.2B)
  • 1.2B 模型上,Q-MQA 的 Cache 从 5.9GB → 88MB(67× 压缩
  • 下游任务上,Q-GQA-8 甚至超过了 QKV 基线(36.72% vs 36.40%)

实际部署场景(论文举例):

32K 上下文,100 并发用户,A100 40GB:
- QKV:每人 2.62GB Cache → 15 用户/GPU → 需要 7 台 GPU(\(14k/月)
- Q-K=V:每人 1.31GB Cache → 30 用户/GPU → 需要 4 台 GPU(\)8k/月)
- 节省:\(6k/月 =\)72k/年(43% 成本降低)

🧠 深度解读:为什么 Q-K=V 有效

1. V 的角色被高估了

传统理解:

  • Q:"我要找什么"(查询)
  • K:"我有什么"(索引)
  • V:"内容是什么"(载荷)

论文的发现挑战了这个直觉:V 的独立投影并非必要。因为:

  • K 的投影矩阵已经包含了足够的语义信息来同时充当"索引"和"载荷"
  • Attention 的核心是 Q 和 K 之间的方向性(Q*K^T),不是 K 和 V 之间的差异

2. 为什么 Q=K-V 不行(对称注意力诅咒)

Q=K 导致注意力矩阵对称(KK^T = (KK^T)^T),这意味着:

  • token i 对 token j 的注意力 = token j 对 token i 的注意力
  • 因果语言建模中,这种对称性破坏了"只能看左边"的方向性

对于视觉/非因果任务,对称性不是大问题(所以 Q=K-V 在视觉任务上表现尚可)。但对于语言建模,方向性至关重要。

3. 与 MQA 的互补性

MQA 减少 Cache 的方式:减少 K/V head 的数量(从 H 个降到 1 个)
Q-K=V 减少 Cache 的方式:每个 head 内部不再分别存 K 和 V

两者相乘:

  • MQA 单独:Cache = 2 * 1 * d * n / H = 2dn/H → 压缩到 1/H
  • Q-K=V + MQA:Cache = 1 * 1 * d * n / H = dn/H → 压缩到 1/(2H)

4. 规模效应:越大越robust

规模 Q-K=V 困惑度损失
300M +3.1%
1.2B +2.48%

趋势:模型越大,投影共享的质量损失越小。如果这一趋势延续到 7B+,投影共享对生产模型将极具吸引力。


⚠️ 局限

  1. 最大验证规模 1.2B:7B+ 模型的行为尚未验证。不过趋势是乐观的。

  2. 序列长度限制:实验最长 2048 tokens,更长上下文的 extrapolation 行为未知。

  3. 理论解释是经验性的:论文通过分析训练好的模型的 K/V 投影矩阵相似度来解释为什么 Q-K=V 有效,但缺乏 formal 的理论保证。

  4. Q=V 消融缺失:论文没有测试 Q=V 共享(只保留 K 独立)。不过作者解释了原因:Q 不被缓存,其"寻址"角色与 V 的"载荷"角色根本不同,所以 Q=V 是最不自然的约束。


🔗 相关阅读


这篇论文的核心启示:Transformer 的 QKV 设计可能是一种"过度参数化"的历史惯性,而非最优解。 三个投影矩阵中,K 和 V 的独立性可能不是必要的——它们共享的表示空间足以同时承担"索引"和"载荷"的功能。而 Q 的独立性至关重要,因为它提供了注意力机制的方向性。这就像一个团队:需要有一个明确的"提问者"(Q),但"索引员"和"内容提供者"可以是同一个人(K=V)。把 QKV 从"三角恋"优化成"二人转",在几乎没有质量损失的情况下砍掉一半 KV Cache——这才是工程化的思维方式。

#Transformer #QKV #KVCahce #注意力机制 #模型压缩 #效率优化 #论文解读 #AI研究

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录