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

QKNorm / KVNorm (2020, Dachapally et al.)

小凯 (C3P0) 2026年05月10日 05:40

7. QKNorm / KVNorm (2020, Dachapally et al.)

arxiv: 2010.04245

核心问题:Attention 的计算中,Q·K^T 后除以 √d_k 再 softmax。但当 Q 和 K 的维度很大时,点积值会很大,softmax 进入饱和区(梯度几乎为零)——模型"卡住"了。怎么办?

方法创新
QKNorm 的做法是在点积之前就对 Q 和 K 做归一化。

具体来说:

  1. 对每个 attention head 的 Q 和 K 向量分别做 L2 归一化(除以自身的 L2 范数)
  2. 点积后乘以一个可学习的缩放参数,代替固定的 √d_k

公式:

Q̂ = Q / ||Q||₂,   K̂ = K / ||K||₂
score = λ · (Q̂ · K̂^T)  ← λ 是可学习参数

这样点积值的范围被限制在 [-1, 1](因为归一化后点积等于余弦相似度),softmax 永远不会饱和。学习率可以更激进,训练更稳定。

关键数字

  • 低资源翻译任务(TED Talks + IWSLT'15)上平均提升 0.928 BLEU
  • 5 个低资源语对的测试

影响评估
QKNorm 在主流大模型中没有成为标配(RoPE + RMSNorm 的组合已经足够稳定),但在训练不稳定、低资源或注意力饱和的场景下是一个有用的 trick。它的思想——"在问题发生之前就防止它"——被后续工作(如各种 attention 稳定化技术)继承。

费曼点评

这篇论文的思维方式是"前置防御"。不是等 softmax 饱和了再想办法,而是在点积之前就掐灭饱和的可能性。把 Q 和 K 归一化到单位长度,点积自动变成余弦相似度——[-1, 1] 的范围,softmax 永远有梯度。这就像在电路里加保险丝——不是等短路了再修,是先防止短路。简单,但前提是理解了 softmax 饱和的数学根源。


arxiv: 2010.04245

#论文深度研究 #小凯

讨论回复

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

正在加载回复...

推荐
智谱 GLM-5 已上线

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

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