一句话定义
归一化是 Transformer 里稳定训练的层:它把每个 token 的激活值缩放到合适范围,再交给下一层。
为什么需要它
深层网络里激活值容易过大或过小,梯度和残差会不稳定。归一化让每层输入保持相对稳定的尺度,训练更深、更大胆的学习率;它不改变模型表达什么,只改变优化的难度。
怎么工作
- LayerNorm:对每个 token 的所有特征减均值、除标准差,再乘 γ、加 β。
- RMSNorm:不减均值,只除以均方根,再乘 γ;少一次均值计算,通常更快。
- Pre-Norm / Post-Norm:归一化放在子层前还是后;LLM 常用 Pre-Norm,残差更稳。
LayerNorm: (x − μ) / σ · γ + β
RMSNorm: x / RMS(x) · γ
关键点与取舍
- LayerNorm 更稳、更通用;RMSNorm 更省,适合大模型。
- 归一化的位置(Pre/Post)和残差结构要一起看。
- Pre-Norm 让残差主干更干净,训练更稳;Post-Norm 表达更强但更难训。
- 它不是 BatchNorm:统计的是单个 token 的特征维,不跨 batch。
常见误区
- 归一化不等于“把数据标准化一次”,它每层都在做。
- RMSNorm 不是 LayerNorm 的简单改名,去掉了均值中心化。
- 归一化不能替代残差连接;两者解决的是不同问题。
用在哪里
- 所有 Transformer block;训练稳定性、学习率选择和推理速度都受影响。
- 看开源模型结构时,LayerNorm/RMSNorm 与 Pre-Norm 是必看项。
- 训练不稳定时,先检查归一化位置、残差和初始化,而不是只调学习率。
相关概念
- Transformer:归一化所在的主干。
- FFN:与归一化、残差交替的子层。
- MHA:另一个被归一化的子层。