BatchNorm 在 batch 维度上做归一化:对同一特征通道,用 batch 内所有样本的均值方差标准化;LayerNorm 在特征维度上做归一化:对单个样本的所有特征求均值方差,与 batch 内其他样本无关。
区别带来的后果:BatchNorm 依赖 batch 统计量,训练和推理行为不同(推理用滑动平均统计量),batch 小时估计噪声大,也不适合长度可变的序列。LayerNorm 对每个样本独立计算,训练推理一致,天然适配 NLP 中变长序列,且自注意力的输出分布在 token 间差异大,按特征归一化更合理,所以 Transformer 全部采用 LayerNorm(现代 LLM 多用其简化版 RMSNorm)。
易错点:BatchNorm 的效果不只是平滑优化面,还隐含轻微正则作用;Transformer 中还有 Pre-LN 与 Post-LN 之争,Pre-LN 训练更稳定,是大模型的主流选择。追问方向:RMSNorm 省掉了什么、为什么可行?