Pre-Norm与Post-Norm:深度学习归一化架构的演进与选择

Pre-Norm与Post-Norm:深度学习归一化架构的演进与选择

Pre-Norm与Post-Norm:深度学习归一化架构的演进与选择

深入理解大模型架构设计中的关键技术

architecture 定义与基本原理

Post-Norm

xt+1 = Norm(xt + F(xt))

传统Layer Norm放在残差之后,做完Add再进行归一化。早期模型如BERT采用此架构。

Pre-Norm

xt+1 = xt + F(Norm(xt))

先对输入做Layer Norm,然后再进行函数计算以及Add相加。现代大模型如GPT、LLaMA采用此架构。

Pre-Norm和Post-Norm架构对比

compare_arrows 梯度传播与训练稳定性差异

特性 Post-Norm Pre-Norm
梯度分布 靠前层梯度小,靠后层梯度大 靠前层梯度大,靠后层梯度小
梯度稳定性 不稳定,容易梯度爆炸 稳定,各层梯度量级均衡
训练收敛 困难,需要warmup机制 快速,收敛性好
网络深度 保持真实网络深度 深度虚化,等效于更宽的网络

error_outline Post-Norm的问题和局限性

cancel主要问题

  • 梯度消失:浅层信号贡献度以1/2l/2指数衰减
  • 训练不稳定:梯度容易爆炸,学习率敏感
  • 初始化权重敏感:需要精细调参
  • 收敛困难:必须使用warmup机制
  • 残差路径失效:LayerNorm成为梯度衰减的放大器

check_circle理论优势

  • 特征一致性:每层输出严格归一化
  • 微调友好性:梯度衰减抑制浅层参数更新
  • 理论性能上限:保持真实网络深度
  • 中间层特征抽取:可直接用于下游任务

trending_up 为什么大模型现在都使用Pre-Norm架构

check_circlePre-Norm优势

  • 训练稳定性:残差路径无缩放干扰
  • 收敛性好:不需要warmup机制
  • 即插即用:降低调参难度
  • 支持千层级网络训练
  • 适合大规模模型:训练成本效益高

cancelPre-Norm局限

  • 深度虚化:层数越多,层数越”虚”
  • 理论性能上限较低:同等参数量下表征能力弱
  • 需要增大FFN层维度补偿深度损失
  • 中间层特征抽取需额外归一化处理

工程实践选择:小模型/需特征抽取优先Post-Norm(如BERT),大模型/训练效率优先必选Pre-Norm(如GPT、LLaMA)

new_releases 新的Norm架构:RMSNorm

RMSNorm(均方根归一化)

RMSNorm(x) = γ ⊙ x / RMS(x)

其中:RMS(x) = √(1/d ∑xi∈x xi2 + ε)

特性 LayerNorm RMSNorm
计算均值
计算复杂度 较高 较低
计算速度 1.6×
内存占用 0.8×
适用场景 NLP、Transformer 大规模语言模型、低精度计算

应用:已被广泛应用于LLaMA、Gemma等大规模语言模型,主要用于提升推理速度、减少计算开销,并适应低精度计算(FP16、BF16)。

70f69f57.jpg

发表评论

Only people in my network can comment.
人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 知差(chai)网 🐾 DeepracticeX 社区 🐾 老薛主机 🐾 智柴论坛 🐾