跳转到内容

输入关键词开始搜索

    RMSNorm

    概念更新 2026-07-19置信度 high#概念#基础#长青#架构#归一化

    LayerNorm 的简化变体,仅使用均方根(RMS)统计量做归一化,去除了均值中心化步骤,计算更快且效果相当,已成为大模型的事实标准。

    RMSNorm 将输入向量的每个元素除以该向量的均方根(RMS),然后乘以可学习的缩放参数 γ\gamma

    RMSNorm(x)=xRMS(x)γ,RMS(x)=mean(x2)\operatorname{RMSNorm}(x)=\frac{x}{\operatorname{RMS}(x)}\odot\gamma,\qquad \operatorname{RMS}(x)=\sqrt{\operatorname{mean}(x^2)}

    与 LayerNorm 的关键区别:不做均值中心化(不减去 mean),仅做缩放。去除了 (x - μ) 步骤,减少一次归约计算。

    1. 计算效率:比 LayerNorm 少一次归约操作(不用算均值),在大模型中累积节省显著
    2. 效果不降:实验表明 RMSNorm 效果与 LayerNorm 相当甚至略优
    3. 事实标准:LLaMA 系列率先采用,之后几乎所有的开源大模型(DeepSeek、Qwen、Mixtral 等)都使用 RMSNorm
    4. 训练稳定性:控制激活向量的整体尺度;但它不保证均值为 0,也不把方差严格标准化为 1。实践中与 Pre-Norm 残差结构搭配仍可稳定训练。

    xRd,RMS(x)=1dixi2,xi=xiRMS(x)γix\in\mathbb{R}^d,\qquad \operatorname{RMS}(x)=\sqrt{\frac{1}{d}\sum_i x_i^2},\qquad x_i'=\frac{x_i}{\operatorname{RMS}(x)}\gamma_i

    LayerNorm vs RMSNorm 对比:

    LayerNorm(x)=xμσγ+β两个统计量 μ,σ;两个参数 γ,βRMSNorm(x)=xRMS(x)γ一个统计量 RMS;一个参数 γ\begin{aligned} \operatorname{LayerNorm}(x) &= \frac{x-\mu}{\sigma}\odot\gamma+\beta && \text{两个统计量 }\mu,\sigma\text{;两个参数 }\gamma,\beta \[2pt] \operatorname{RMSNorm}(x) &= \frac{x}{\operatorname{RMS}(x)}\odot\gamma && \text{一个统计量 RMS;一个参数 }\gamma \end{aligned}

    方法 提出年份 归一化方式 状态
    BatchNorm 2015 批次维度 CV 主流,NLP 不适用
    LayerNorm 2016 特征维度,μ+σ\mu+\sigma NLP 经典方案
    RMSNorm 2019 特征维度,仅 RMS LLM 事实标准
    QK-Norm / KV-Norm 2020 Attention 内部 Q/K/V 部分模型采用
    DeepNorm 2022 残差后归一化 极深模型(1000层)
    位置 说明 采用情况
    Post-Norm 残差连接之后 原始 Transformer
    Pre-Norm 残差连接之前 LLM 主流,训练更稳定
    Sandwich Norm Pre + Post 混用 部分模型探索
    • “RMSNorm 是 LayerNorm 的简化版所以效果差” — 效果相当,且计算更快
    • “RMSNorm 不中心化会导致训练不稳定” — 实践证明 Pre-Norm + RMSNorm 组合训练非常稳定