Norm 和模型初始化


Why BN 的两种解释

https://kexue.fm/archives/6992

  1. 减少的 Internal Covariate Shift,从而稳定乃至加速了训练
  2. 通过规范化输入,来降低梯度的 L 常数,让 loss 曲面更平滑,加速收敛
    1. L 约束,本质是抗干扰性,扰动不敏感

      image.png

    2. 梯度下降的公式

      image.png

    3. c. 带入之后,得到结论:要么减小 η,要么减小 L

      image.png


从上面的推导,可以发现,训练稳定性有两个核心因素:

LLM 中的 Norm

  1. Pre-Norm / Post-Norm / DeepNorm

    Pre-Norm 是 $x=x+F(Norm(x))$,Post-Norm 是 $x=Norm(x+F(x))$ Deep-Norm 是 $x=Norm(\alpha \cdot x+ \beta \cdot F(x))$,可以去调残差的比例

    1. 原版 BERT 用的是 Post-Norm,后来 GPT 时代都改成了 Pre-Norm 了。Pre/Post-Norm 都是在 hidden 维度上做的,不涉及分 head

    2. Post-Norm 层数很深时梯度反传不回去了

      1. 导致训练初期,后面的层就在糟糕的表征上猛学。所以一般只能用小学习率和大 warmup 让前面的层也先慢慢学好,一开大学习率就不稳定。同时可以用一些初始化方法,缩小前几层的方差(从而增大梯度),见图中 Post-LN-init

      https://arxiv.org/pdf/2203.00555

      https://arxiv.org/pdf/2203.00555

    3. Pre-Norm 残差提供了梯度的 “绿色通道”,但会导致方差按层累计增大

      1. 方差过大后,$F(LN(x))的方差<<\sigma^2(x)$,导致较深的层趋近于 Identity 映射,网络更新几乎都走残差了。这也是为什么特别深的 Pre-LN 模型把后面的层删去后,影响很小的原因。
      2. 所以 Pre-LN 需要人为来扩大前几层的方差,从而抑制前几层的梯度。e.g. 图中 Scaled-Embed 就是把 embedding 的输出给 scale up。知乎 zhihu -模型初始化如何影响训练稳定性?

      https://arxiv.org/pdf/2312.16903

      https://arxiv.org/pdf/2312.16903

    4. 不管 Pre-Norm 还是 Post-Norm,本质是配平浅层和深层的方差/梯度,确保数值稳定

      1. 检查方法:逐层打印 gradien Norm,把趋势图画出来

        Mix-FN:https://arxiv.org/pdf/2412.13795v1

        Mix-FN:https://arxiv.org/pdf/2412.13795v1

  2. 标准注意力 vs. QK-Norm

    1. 为什么标准注意力机制 $QK^T$ 要除以$\sqrt{d}$ ?

      https://kexue.fm/archives/8620#NTK参数化

      https://kexue.fm/archives/8620#NTK参数化

    2. Learnable QK-norm

      1. $softmax(g.\hat Q \hat K^T)V$,其中 $\hat Q$,$\hat K$ 是归一化之后的 tensor,$g$ 是缩放因子
      2. QK-norm 是分 head 做的,而不是 hidden size 上统一做的
  3. Pangu-Ultra 中的 Sandwich Norm + Tiny Init

    1. 保留残差,Post-LN 进一步抑制 Attention FFN 的输出方差
    2. Tiny Init 降低整体方差

    https://arxiv.org/pdf/2504.07866

    https://arxiv.org/pdf/2504.07866

  4. Layer-Norm 和 RMS Norm 区别

    RMS 更快,并且去掉了减去 center 这一步。实验证明几乎影响不大(并且去掉了可能产生的 bias)

Seed Paper

Hyper-connections

https://arxiv.org/abs/2409.19606 , Defa Zhu, Hongzhi Huang, Zihao Huang et al.