Skip to content

Layer Normalization 面试题

内容整理自学习笔记,仅供面试备考参考;不构成录用、培训或考试承诺。

1. Layer Normalization 的计算公式

Layer Norm 对每个样本的所有特征维度进行归一化。给定输入向量 x,其均值为 μ,方差为 σ²:

μ=1dixiσ2=1di(xiμ)2yi=γxiμσ2+ε+β

其中 γ 和 β 为可学习的缩放和平移参数,ε 为防止除零的小常数。

2. RMS Norm(均方根归一化)

2.1 计算公式

RMS Norm 简化了 Layer Norm,仅使用均方根进行缩放,去除了均值平移:

RMS(x)=1dixi2yi=γxiRMS(x)+β

2.2 相比 Layer Norm 的特点

  • 计算速度更快:省略了均值计算和均值平移步骤
  • 效果相当:性能基本持平,甚至在部分场景略有提升
  • 应用模型:LLaMA、LLaMA2 等都采用 RMS Norm 替代传统 Layer Norm

3. Deep Norm

3.1 核心思路

Deep Norm 包含两个关键操作:

  1. 上缩放残差连接(α > 1):在执行 Layer Norm 之前放大残差连接
  2. 下缩放模型参数(β < 1):在初始化阶段缩小模型参数

3.2 优点

缓解深层 Transformer 训练中的梯度爆炸问题,将模型更新量限制在常数范围,使深层模型训练更加稳定。

4. Layer Norm 在 LLM 中的不同位置

Layer Norm 的位置对模型训练稳定性和效果有显著影响:

Post-LN

  • 位置:残差连接之后(经典 Transformer)
  • 结构x = LN(x + Sublayer(x))
  • 缺点:深层网络中梯度范式逐渐增大,导致训练不稳定

Pre-LN

  • 位置:残差连接中,先 Norm 再计算
  • 结构x = x + Sublayer(LN(x))
  • 优点:深层网络中梯度范式近似相等,训练更稳定
  • 缺点:模型效果相比 Post-LN 略差

Sandwich-LN

  • 位置:在 Pre-LN 基础上额外插入一层 Layer Norm
  • 结构x = x + Sublayer(LN(x)); x = LN(x)
  • 优点:CogView 用来避免值爆炸问题
  • 缺点:可能导致训练不稳定甚至崩溃

5. 各模型的 Layer Norm 选型

模型Layer Norm 类型
LLaMA / LLaMA2Pre-LN + RMS Norm
GPT 系列Post-LN → Pre-LN(GPT-3 后)
BLOOMPre-LN(Embedding 层后额外加 LN,提升稳定性但可能损失性能)
ChatGLMPre-LN
T5Pre-LN