LayerNorm 与残差连接

如果只记住一句话:残差连接保证可训练性,归一化保证数值稳定与梯度尺度可控

残差连接(Residual Connection)

Transformer block 中的残差结构:

[ h \leftarrow h + f(h) ]

它让网络更容易优化(梯度可以沿着恒等路径传播),并显著缓解深层网络的退化问题。

工程上残差的直接收益:

  • 深层模型更稳定

  • 训练更不容易“突然崩掉”

  • 对学习率/初始化更鲁棒

LayerNorm(LN)

LayerNorm 对每个 token 的特征维做归一化(而不是对 batch 维):

[ \mathrm{LN}(x)=\gamma \odot \frac{x-\mu}{\sqrt{\sigma^2+\epsilon}}+\beta ]

其中 (\mu,\sigma^2) 在特征维上计算。

Pre-LN vs Post-LN

两种常见结构:

  • Post-LN(原始 Transformer):(h \leftarrow \mathrm{LN}(h + f(h)))

  • Pre-LN(现代 LLM 常用):(h \leftarrow h + f(\mathrm{LN}(h)))

实践经验:Pre-LN 通常更容易训练非常深的网络(梯度更稳定),因此在 LLM 中很常见。

RMSNorm

一些模型使用 RMSNorm 代替 LayerNorm(省掉均值项,计算更省):

[ \mathrm{RMSNorm}(x)=\gamma \odot \frac{x}{\sqrt{\mathrm{mean}(x^2)+\epsilon}} ]

工程细节:数值与性能

  • LN/RMSNorm 在推理中是高频算子,很多推理框架会做 fuse

  • 混合精度下 (\epsilon) 的选择会影响稳定性(尤其是很深的网络)

  • 残差路径的 dtype(fp16/bf16/fp32)与累加策略也会影响稳定性与精度