外观
Layer Normalization 面试题
内容整理自学习笔记,仅供面试备考参考;不构成录用、培训或考试承诺。
1. Layer Normalization 的计算公式
Layer Norm 对每个样本的所有特征维度进行归一化。给定输入向量 x,其均值为 μ,方差为 σ²:
其中 γ 和 β 为可学习的缩放和平移参数,ε 为防止除零的小常数。
2. RMS Norm(均方根归一化)
2.1 计算公式
RMS Norm 简化了 Layer Norm,仅使用均方根进行缩放,去除了均值平移:
2.2 相比 Layer Norm 的特点
- 计算速度更快:省略了均值计算和均值平移步骤
- 效果相当:性能基本持平,甚至在部分场景略有提升
- 应用模型:LLaMA、LLaMA2 等都采用 RMS Norm 替代传统 Layer Norm
3. Deep Norm
3.1 核心思路
Deep Norm 包含两个关键操作:
- 上缩放残差连接(α > 1):在执行 Layer Norm 之前放大残差连接
- 下缩放模型参数(β < 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 / LLaMA2 | Pre-LN + RMS Norm |
| GPT 系列 | Post-LN → Pre-LN(GPT-3 后) |
| BLOOM | Pre-LN(Embedding 层后额外加 LN,提升稳定性但可能损失性能) |
| ChatGLM | Pre-LN |
| T5 | Pre-LN |