三种 Norm 一张图读懂:LayerNorm、RMSNorm、AdaRMS

为什么需要归一化?

训练大模型时,每一层的激活值容易忽大忽小,梯度不稳定。
归一化(Normalization) 把每个 token 的 DDD 维向量 x\mathbf{x}x 拉到合适尺度,再让网络学习如何缩放、平移。

下面三个名字最常一起出现:

方法 一句话
LayerNorm(LN) 先减均值,再除以标准差
RMSNorm 不减均值,除以均方的平方根
AdaRMS 分母同 RMS,缩放/平移由条件 c\mathbf{c}c 决定

前提

对 单个 token 的向量 x∈RD\mathbf{x} \in \mathbb{R}^Dx∈RD,在 DDD 维 内部 做统计(不跨 token、不跨 batch)。
ε\varepsilonε 为极小常数(如 10−610^{-6}10−6),防止除零。


一、LayerNorm

先 中心化 (减均值),再按 标准差 缩放,最后用可学习参数 γ,β\boldsymbol{\gamma}, \boldsymbol{\beta}γ,β 做仿射变换。

μ=1D∑i=1Dxi,x^=x−μVar(x)+ε,y=γ⊙x^+β \mu = \frac{1}{D}\sum_{i=1}^{D} x_i, \qquad \hat{\mathbf{x}} = \frac{\mathbf{x} - \mu}{\sqrt{\mathrm{Var}(\mathbf{x}) + \varepsilon}}, \qquad \mathbf{y} = \boldsymbol{\gamma} \odot \hat{\mathbf{x}} + \boldsymbol{\beta} μ=D1i=1∑Dxi,x^=Var(x)+ε x−μ,y=γ⊙x^+β

  • 有减均值 x−μ\mathbf{x}-\mux−μ
  • 分母是 Var+ε\sqrt{\mathrm{Var}+\varepsilon}Var+ε (标准差),不是方差本身
  • 可学习参数约 2D2D2D 个(γ\boldsymbol{\gamma}γ 与 β\boldsymbol{\beta}β 各 DDD 维)

常见于 Transformer、ViT。


二、RMSNorm

不减均值 ,用各维平方的平均值 mmm 开根号作为尺度,把 x\mathbf{x}x 除过去,再可学习缩放。

m=1D∑i=1Dxi2,x^=xm+ε,y=(1+w)⊙x^ m = \frac{1}{D}\sum_{i=1}^{D} x_i^2, \qquad \hat{\mathbf{x}} = \frac{\mathbf{x}}{\sqrt{m + \varepsilon}}, \qquad \mathbf{y} = (1 + \mathbf{w}) \odot \hat{\mathbf{x}} m=D1i=1∑Dxi2,x^=m+ε x,y=(1+w)⊙x^

亦有实现写 y=w⊙x^\mathbf{y} = \mathbf{w} \odot \hat{\mathbf{x}}y=w⊙x^。

正确与错误写法:

正确: x^=xm+ε错误: x^=xm+ε \boxed{ \text{正确:}\ \hat{\mathbf{x}} = \frac{\mathbf{x}}{\sqrt{m + \varepsilon}} \qquad \text{错误:}\ \hat{\mathbf{x}} = \frac{\mathbf{x}}{m + \varepsilon} } 正确: x^=m+ε x错误: x^=m+εx

x⋅rsqrt(m+ε)\mathbf{x} \cdot \mathrm{rsqrt}(m+\varepsilon)x⋅rsqrt(m+ε) 与上式等价。

LLaMA、Gemma 等常用 RMSNorm,比 LayerNorm 少算一步均值,往往略快。


三、AdaRMS

去噪、流匹配等场景里,网络要在不同噪声水平 ttt 下表现不同。AdaRMS 在 每一层 用条件 c\mathbf{c}c(如时间步嵌入)调节归一化后的向量,思路类似扩散模型中的 AdaLN。

RMS 归一化(与 RMSNorm 相同):

x^=xmean(x2)+ε \hat{\mathbf{x}} = \frac{\mathbf{x}}{\sqrt{\mathrm{mean}(\mathbf{x}^2) + \varepsilon}} x^=mean(x2)+ε x

条件仿射:

s, t, g=f(c),y=x^⊙(1+s)+t \\mathbf{s},\\, \\mathbf{t},\\, \\mathbf{g} = f(\mathbf{c}), \qquad \mathbf{y} = \hat{\mathbf{x}} \odot (1 + \mathbf{s}) + \mathbf{t} s,t,g=f(c),y=x^⊙(1+s)+t

可选门控残差:

hout=hin+g⊙Sublayer(⋅) \mathbf{h}{\mathrm{out}} = \mathbf{h}{\mathrm{in}} + \mathbf{g} \odot \mathrm{Sublayer}(\cdot) hout=hin+g⊙Sublayer(⋅)

x^\hat{\mathbf{x}}x^ 的分母与 RMSNorm 相同;s,t\mathbf{s}, \mathbf{t}s,t 随 c\mathbf{c}c 变化,而非全局固定的 γ,β\boldsymbol{\gamma}, \boldsymbol{\beta}γ,β。


四、并排对照

LayerNorm:x^=x−μmean((x−μ)2)+ε,y=γ⊙x^+βRMSNorm:x^=xmean(x2)+ε,y=(1+w)⊙x^AdaRMS:x^=xmean(x2)+ε,y=x^⊙(1+s(c))+t(c) \begin{aligned} \textbf{LayerNorm:} \quad & \hat{\mathbf{x}} = \dfrac{\mathbf{x}-\mu}{\sqrt{\mathrm{mean}((\mathbf{x}-\mu)^2)+\varepsilon}}, \quad \mathbf{y} = \boldsymbol{\gamma}\odot\hat{\mathbf{x}}+\boldsymbol{\beta} \\0.6em \textbf{RMSNorm:} \quad & \hat{\mathbf{x}} = \dfrac{\mathbf{x}}{\sqrt{\mathrm{mean}(\mathbf{x}^2)+\varepsilon}}, \quad \mathbf{y} = (1+\mathbf{w})\odot\hat{\mathbf{x}} \\0.6em \textbf{AdaRMS:} \quad & \hat{\mathbf{x}} = \dfrac{\mathbf{x}}{\sqrt{\mathrm{mean}(\mathbf{x}^2)+\varepsilon}}, \quad \mathbf{y} = \hat{\mathbf{x}}\odot(1+\mathbf{s}(\mathbf{c}))+\mathbf{t}(\mathbf{c}) \end{aligned} LayerNorm:RMSNorm:AdaRMS:x^=mean((x−μ)2)+ε x−μ,y=γ⊙x^+βx^=mean(x2)+ε x,y=(1+w)⊙x^x^=mean(x2)+ε x,y=x^⊙(1+s(c))+t(c)

减均值? x^\hat{\mathbf{x}}x^ 分母 输出
LayerNorm ✓ Var+ε\sqrt{\mathrm{Var}+\varepsilon}Var+ε γ⊙x^+β\boldsymbol{\gamma}\odot\hat{\mathbf{x}}+\boldsymbol{\beta}γ⊙x^+β
RMSNorm ✗ mean(x2)+ε\sqrt{\mathrm{mean}(\mathbf{x}^2)+\varepsilon}mean(x2)+ε (1+w)⊙x^(1+\mathbf{w})\odot\hat{\mathbf{x}}(1+w)⊙x^
AdaRMS ✗ 同 RMS x^⊙(1+s)+t\hat{\mathbf{x}}\odot(1+\mathbf{s})+\mathbf{t}x^⊙(1+s)+t

五、数值例子

设 x=1,2,3,4⊤\mathbf{x} = 1,2,3,4^\topx=1,2,3,4⊤:

  • LayerNorm :μ=2.5\mu=2.5μ=2.5,x^\hat{\mathbf{x}}x^ 大致正负对称
  • RMSNorm :m=7.5m=7.5m=7.5,x^=x/7.5\hat{\mathbf{x}} = \mathbf{x}/\sqrt{7.5}x^=x/7.5 ,分量同向拉伸

二者 x^\hat{\mathbf{x}}x^ 不同------不仅是否减均值不同,分母用的统计量也不同。RMSNorm 并不是「不减均值的 LayerNorm」。


六、选用建议

  • 经典结构、生态成熟 → LayerNorm
  • 大语言模型、略省计算 → RMSNorm
  • 强条件生成(时间步、类别等),希望每层注入条件 → AdaRMS(或 AdaLN)

小结

LN:x^=x−μVar(x)+ε,  y=γ⊙x^+β \textbf{LN:}\quad \hat{\mathbf{x}}=\frac{\mathbf{x}-\mu}{\sqrt{\mathrm{Var}(\mathbf{x})+\varepsilon}},\; \mathbf{y}=\boldsymbol{\gamma}\odot\hat{\mathbf{x}}+\boldsymbol{\beta} LN:x^=Var(x)+ε x−μ,y=γ⊙x^+β

RMS:x^=xmean(x2)+ε,  y=(1+w)⊙x^ \textbf{RMS:}\quad \hat{\mathbf{x}}=\frac{\mathbf{x}}{\sqrt{\mathrm{mean}(\mathbf{x}^2)+\varepsilon}},\; \mathbf{y}=(1+\mathbf{w})\odot\hat{\mathbf{x}} RMS:x^=mean(x2)+ε x,y=(1+w)⊙x^

AdaRMS:x^=xmean(x2)+ε,  y=x^⊙(1+s(c))+t(c) \textbf{AdaRMS:}\quad \hat{\mathbf{x}}=\frac{\mathbf{x}}{\sqrt{\mathrm{mean}(\mathbf{x}^2)+\varepsilon}},\; \mathbf{y}=\hat{\mathbf{x}}\odot(1+\mathbf{s}(\mathbf{c}))+\mathbf{t}(\mathbf{c}) AdaRMS:x^=mean(x2)+ε x,y=x^⊙(1+s(c))+t(c)

相关推荐
DeepAgent21 小时前
AI Agent 工程实践(49):一次真实优化——从 Agent v1 到 v2
开发语言·人工智能·agent
小蒋观天下21 小时前
两轮车检测AI摄像头——2026-2030年未来市场规模、增长逻辑与行业天花板
大数据·人工智能·安全·计算机视觉·ai大模型
美狐美颜sdk21 小时前
直播APP接入美颜SDK后出现卡顿怎么办?从性能瓶颈寻找解决方案
android·人工智能·音视频·美颜sdk·直播美颜sdk
m0_5873830021 小时前
深圳24小时自助健身房解决方案实战:从系统架构到部署指南
java·人工智能·spring boot·spring·系统架构·需求分析
罗西的思考21 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(5)--- GRPO
人工智能·算法·机器学习
美狐美颜SDK开放平台1 天前
直播APP开发实战:从摄像头调用到视频美颜sdk集成
android·人工智能·计算机视觉·音视频·直播美颜sdk
镜象科技1 天前
抑郁情绪数字化干预:从“隐蔽的信号“到“看得见的路径“
人工智能
素男1 天前
对上的,和没对上的——两篇之间那条链
人工智能·agent·self-becoming·ai长期记忆·ai自我介绍
niuTaylor1 天前
飞腾 FT-2000/4 Ubuntu 内存卡 / NVMe SSD 系统制作完整指南
linux·服务器·人工智能·驱动开发·单片机
流浪0011 天前
大模型技术全景(十二):人工介入 HITL、HOTL 与 HOOTL
llm·hitl·人工介入·hotl·hootl