跳到主内容
快讯直播
AI智模界
AI 词典

RMSNorm:省掉减均值的归一化,为什么更快更稳

RMSNorm(Root Mean Square Normalization,均方根归一化)是一种只按"整体幅度"缩放、不做减均值处理的归一化方法,可以理解为 AI 词典:LayerNorm">LayerNorm 的简化版。

它到底做了什么

先看 LayerNorm(Layer Normalization)对一个 token 的向量 x(长度 d)做的两步:

1. 中心化:每个元素减去这一向量的均值 μ;

2. 缩放:再除以标准差 σ,然后乘可学习参数 γ、加偏置 β。

RMSNorm 只保留第二步,而且分母换成了均方根:

```

RMS(x) = sqrt( (1/d) × Σ x_i² )

输出 = x / RMS(x) × γ

```

没有减均值,通常也没有 β。

打个比方:把归一化想成调音。LayerNorm 是先把直流偏置(整条曲线往上飘的那部分)拉回零,再把音量统一;RMSNorm 直接跳过"拉回零",只看这段信号的整体能量有多大,然后按这个能量缩放。少拧一个旋钮,出来的效果往往差不了多少。

和相邻概念的区别

BatchNormLayerNormRMSNorm
统计范围一个 batch 内同一特征单个样本的特征维同 LayerNorm
减均值
分母标准差标准差均方根
可学习参数γ、βγ、β通常只有 γ
训练/推理行为不一致(用滑动统计量)一致一致
常见场景卷积网络Transformer大模型

快在哪

  • 归约次数减半。算标准差要先求均值、再求方差,是两次归约(reduction);算均方根只要一次平方均值。在 GPU 上,归约意味着线程间的同步和通信,恰恰是归一化 kernel 里最贵的部分。
  • 元素级操作更少。少了减均值这一步和随之而来的广播中间量。推理时归一化层通常是访存受限(memory-bound),少读少写就是实打实的提速。
  • 反向传播更简单。需要缓存的中间结果变少,显存和计算图都更轻。
  • 参数少一半。没有 β,权重文件里省下的虽是小头,但积少成多。

稳在哪

  • 只要输入不全为零(有 eps 兜底),RMS 就不会是 0,除法安全。
  • 不减均值,就不会把"整体偏大或偏小"这类可能有意义的信息抹掉。
  • 计算路径短、数值范围更可控,混合精度训练时更不容易踩坑。
  • 和 LayerNorm 一样,训练与推理行为一致,不像 BatchNorm 那样依赖 batch 统计量。

对从业者和普通人的意义

对做模型的人:把 LayerNorm 换成 RMSNorm 往往精度持平,换来的是训练吞吐和显存上的收益,这也是许多开源大模型直接把它当默认配置的原因。自己写 kernel 时,可以把它当成"半份 LayerNorm"来理解。

对普通职场人:它是一颗不起眼的小螺丝钉,但正是这类简化,让大模型训得更快、跑得更便宜。

具体某个模型是否使用 RMSNorm、eps 取值多少,以官方页面或开源实现为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。