完整题目
请比较Layer Normalization与RMS Normalization在计算方式、数值稳定性、训练动态和内存开销方面的差异,并结合当前主流大模型(如LLaMA系列)的实践,分析为何RMSNorm被更广泛采用。
本文目录
计算定义
对单个 token 的 hidden vector x∈R^d:
- LayerNorm:
y=((x-mean(x))/sqrt(mean((x-mean(x))²)+eps))*gamma+beta - RMSNorm:
y=(x/sqrt(mean(x²)+eps))*gamma
LayerNorm 具有 re-centering 和 re-scaling invariance;RMSNorm 舍弃中心化,只保留重缩放相关性质。RMS 也可能为零,因此同样需要 eps。RMSNorm 会把输入整体 RMS 归一到由 gamma 控制的尺度,并非保留原始幅度。
工程差异
RMSNorm 少计算均值、减法和通常的 beta,理论操作更少;但端到端速度和显存收益取决于融合 kernel、shape、硬件以及它在全模型中的占比,不能承诺固定百分比。两者通常都逐 token、沿 hidden dimension 归一化,不依赖 batch 统计。
训练与选型
RMSNorm 不要求输入预先近似零均值,也不能笼统称为对异常值更鲁棒或数值必然更稳定。LLaMA 等模型采用 pre-normalization 的 RMSNorm,说明它是经过大规模实践验证的架构选择,但不证明它与 RoPE、SwiGLU 天然绑定或对所有任务最优。选型应在相同初始化、学习率、精度和 kernel 下比较 loss、梯度范数、吞吐和最终任务质量。