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)与累加策略也会影响稳定性与精度