QK-Norm 技术的全面介绍 | AI生成和翻译

Home 2026.01

Question: 请提供关于 QK-Norm 的全面介绍。

Answer:

什么是 QK-Norm?

QK-Norm (Query-Key Normalization) 是一种应用于 Transformer 模型(特别是 LLMs)Attention 机制中 Query (Q) 和 Key (K) 向量的 Normalization 技术。引入该技术是为了通过防止 Q 和 K 向量的 Norm 过度增长来提高训练稳定性。如果 Q 和 K 的 Norm 过大,会导致极大的 Attention Logits,从而使 Softmax 输出饱和(产生接近 One-hot 的 Attention 分布),并引发后续的训练不稳定或不收敛(Divergence)。

与应用于整个输入的标准 LayerNorm 或 RMSNorm 不同,QK-Norm 特别是在计算点积之前对 Q 和 K 进行 Normalization。这使得 Attention Scores 更接近 Cosine Similarities,从而限制了 Logits 的范围并降低了对数值波动的敏感性。

背景与动机

在标准的 Scaled Dot-product Attention 中:

\[ \text{Attention}(Q, K, V) = \softmax\left(\frac{Q K^T}{\sqrt{d_k}}\right) V \]

其中 \(d_k\) 是 Head Dimension。如果没有适当的控制,Q 和 K 的 Norm 在训练过程中可能会呈指数级增长,特别是在 Multimodal 模型(例如混合文本和图像)或使用高 Learning Rate 时。这会导致 Attention Logits \(Q K^T\) 的数值变得非常大,从而导致:

QK-Norm 通过沿 Head Dimension 对 Q 和 K 向量进行 Normalization(通常使用 RMSNorm 或 L2 Normalization)来解决这个问题,通常后面还会接一个可学习的 Scaling Parameter 以保持模型的表达能力。

QK-Norm 的工作原理

修改后的 Attention 计算步骤如下:

  1. 照常计算 Q 和 K。
  2. 对两者分别应用 Normalization:
    • \( Q’ = \rms_norm(Q) \)(或 L2 Norm:\( Q’ = Q / |Q|_2 \))
    • \( K’ = \rms_norm(K) \)
  3. (可选)乘以一个可学习的 Scalar \(\alpha\)(或每个 Head 独立的 Scalars)以恢复 Scaling 的灵活性。
  4. 计算点积:\( Q’ (K’)^T \)(由于 Norm 已被限制,\(\sqrt{d_k}\) 的缩放可能会被调整或移除)。

这确保了点积是有界的(例如,对于单位向量,范围在 [-1, 1] 之间),在防止 Logit 任意爆炸的同时,通过 Scaling Parameter 维持了模型产生尖锐或平滑 Attention 分布的能力。

常见的变体包括:

优势

历史与应用

随着模型规模的增长以及对多样化模态或长上下文的整合,它已成为训练大规模 Transformers 的标准工具。

局限性与替代方案

总的来说,QK-Norm 是一个简单但强大的改进,为现代 LLMs 的可靠缩放(Scaling)做出了显著贡献。

参考文献:


Back

x-ai/grok-4.1-fast

Donate