当前位置: 首页 > article >正文

【LLM】Layer Norm 和 RMS Norm 的区别?

Layer Normalization(Layer Norm)RMS Normalization(RMS Norm) 是深度学习中两种常用的归一化技术,它们的目的是通过规范化输入数据来加速训练并提高模型的稳定性。尽管它们的目标相似,但在实现方式和效果上有一些关键区别。以下是它们的详细对比:


1. Layer Normalization (Layer Norm)

(1)定义

Layer Norm 对每个样本在特征维度上进行归一化,计算均值和方差,并对输入进行缩放和平移。

(2)公式

对于输入 x ∈ R d x \in \mathbb{R}^{d} xRd ( d 是特征维度),Layer Norm 的计算如下:

μ = 1 d ∑ i = 1 d x i (均值) \mu = \frac{1}{d} \sum_{i=1}^{d} x_i \tag{均值} μ=d1i=1dxi(均值)
σ 2 = 1 d ∑ i = 1 d ( x i − μ ) 2 (方差) \sigma^2 = \frac{1}{d} \sum_{i=1}^{d} (x_i - \mu)^2 \tag{方差} σ2=d1i=1d(xiμ)2(方差)
x ^ i = x i − μ σ 2 + ϵ (归一化) \hat{x}_i = \frac{x_i - \mu}{\sqrt{\sigma^2 + \epsilon}} \tag{归一化} x^i=σ2+ϵ xiμ(归一化)
y i = γ i x ^ i + β i (缩放和平移) y_i = \gamma_i \hat{x}_i + \beta_i \tag{缩放和平移} yi=γix^i+βi(缩放和平移)

其中:

  • ϵ \epsilon ϵ 是一个小常数,用于数值稳定性。
  • γ \gamma γ β \beta β 是可学习的参数,分别用于缩放和平移。
(3)特点
  • 对特征维度归一化:Layer Norm 对每个样本的特征维度进行归一化,适用于变长序列(如 NLP 任务)。
  • 适用于 RNN 和 Transformer:Layer Norm 在 RNN 和 Transformer 中表现良好,尤其是在处理序列数据时。
  • 引入可学习参数:通过 γ \gamma γ β \beta β ,Layer Norm 可以保留模型的表达能力。

2. RMS Normalization (RMS Norm)

(1)定义

RMS Norm 是一种简化版的归一化方法,仅对输入进行缩放,而不计算均值。它通过均方根(Root Mean Square)来规范化输入。

(2)公式

对于输入 x ∈ R d x \in \mathbb{R}^{d} xRd ,RMS Norm 的计算如下:

RMS ( x ) = 1 d ∑ i = 1 d x i 2 (均方根) \text{RMS}(x) = \sqrt{\frac{1}{d} \sum_{i=1}^{d} x_i^2} \tag{均方根} RMS(x)=d1i=1dxi2 (均方根)
x ^ i = x i RMS ( x ) + ϵ (归一化) \hat{x}_i = \frac{x_i}{\text{RMS}(x) + \epsilon} \tag{归一化} x^i=RMS(x)+ϵxi(归一化)
y i = γ i x ^ i (缩放) y_i = \gamma_i \hat{x}_i \tag{缩放} yi=γix^i(缩放)

其中:

  • ϵ \epsilon ϵ 是一个小常数,用于数值稳定性。
  • γ \gamma γ 是可学习的缩放参数。
(3)特点
  • 不计算均值:RMS Norm 仅通过均方根进行归一化,简化了计算。
  • 无平移参数:RMS Norm 没有类似 Layer Norm 中的 β \beta β 参数,因此计算更简单。
  • 计算效率更高:由于减少了计算步骤,RMS Norm 的计算开销比 Layer Norm 更低。

3. 区别对比

特性Layer NormRMS Norm
归一化方式对特征维度计算均值和方差仅对特征维度计算均方根(RMS)
是否计算均值
是否引入平移参数是(通过 β \beta β
计算复杂度较高(需要计算均值和方差)较低(仅计算均方根)
适用场景广泛用于 NLP 和序列模型(如 Transformer)适用于对计算效率要求较高的场景
表达能力更强(引入了可学习的平移参数)较弱(无平移参数)

4. 选择依据

  • Layer Norm 更适合需要较强表达能力的任务(如 NLP),尤其是在 Transformer 等模型中表现优异。
  • RMS Norm 更适合对计算效率要求较高的场景,尤其是在大规模模型或资源受限的环境中。

5. 总结

  • Layer Norm 通过计算均值和方差对输入进行归一化,并引入可学习的缩放和平移参数,表达能力更强,但计算复杂度较高。
  • RMS Norm 通过均方根对输入进行归一化,计算更简单,但表达能力较弱。

选择哪种归一化方法取决于具体任务的需求和计算资源的限制。


http://www.kler.cn/a/531353.html

相关文章:

  • 基于Spring Security 6的OAuth2 系列之七 - 授权服务器--自定义数据库客户端信息
  • 99,[7] buuctf web [羊城杯2020]easyphp
  • MySQL锁详解
  • Vuex状态管理
  • 基于Spring Security 6的OAuth2 系列之八 - 授权服务器--Spring Authrization Server的基本原理
  • Vue3 表单:全面解析与最佳实践
  • C#常用744单词
  • Baklib推动数字化内容管理解决方案助力企业数字化转型
  • 深度学习-98-大语言模型LLM之基于langchain的代理create_react_agent工具
  • 二叉树--链式存储
  • 无用知识研究:std::initializer_list的秘密
  • 模型蒸馏(ChatGPT文档)
  • npm知识
  • Smart contract -- 钱包合约
  • 代码随想录算法训练营Day51 | 101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
  • 【Docker项目实战】使用Docker部署MinIO对象存储(详细教程)
  • 17.3.5 添加水印
  • Linux环境下的Java项目部署技巧:项目部署
  • 评估分类模型性能:ROC曲线和AUC值
  • 麦芯 (MachCore) 应用开发教程 6:一台设备中多台电脑主从机的设置
  • PentesterLab 24周学习计划
  • 【游戏设计原理】97 - 空间感知
  • 【翻译】OpenAI Deep Research (2025年2月2日OpenAI发布)
  • Spring中@Conditional注解详解:条件装配的终极指南
  • 8、面向对象:类、封装、构造方法
  • pandas中的关系型连接操作