【Datawhale2607】llm-algo-leetcode task02 基础算子


文章目录

  • 前言
  • 一、RMSNorm
    • [1.1 归一化技术的演进史](#1.1 归一化技术的演进史)
    • [1.2 RMSNorm 数学公式](#1.2 RMSNorm 数学公式)
  • 总结

前言


一、RMSNorm

1.1 归一化技术的演进史

  • 归一化的核心目的只有一个:让数据分布稳定,防止梯度消失或爆炸。
技术 核心逻辑 痛点 (为什么大模型不用它)
BatchNorm 在 Batch 维度上计算均值和方差。 强依赖 Batch Size。大模型训练时,受限于显存,Batch Size 通常很小 (如 1 或 2),导致统计量极不准确,训练崩溃。
LayerNorm 在 特征维度 (Hidden Dim) 上计算均值和方差。公式: y = x − μ σ 2 + ϵ ⊙ γ + β y = \frac{x - \mu}{\sqrt{\sigma^2 + \epsilon}} \odot \gamma + \beta y=σ2+ϵ x−μ⊙γ+β 计算均值 μ \mu μ 和方差 σ 2 \sigma^2 σ2 需要额外的计算开销和同步操作。在千亿参数模型中,这成为了不可忽视的瓶颈。
RMSNorm (当前霸主) 假设均值已经接近 0 ,直接去掉减去均值的步骤,只用均方根 (RMS) 缩放。公式: y = x RMS ( x ) ⊙ γ y = \frac{x}{\text{RMS}(x)} \odot \gamma y=RMS(x)x⊙γ 几乎没有缺点。LLaMA、Gemma、Qwen 等现代大模型实测表明:去掉均值计算,效果几乎无损,但速度显著提升

1.2 RMSNorm 数学公式

  • 给定输入 x ∈ R d x \in \mathbb{R}^d x∈Rd,在实践中,形状通常是 [batch, seq_len, hidden_dim],然后在最后一个维度 hidden_dim 上做归一化。

Step 1: 计算均方根 (RMS)

RMS ( x ) = 1 d ∑ i = 1 d x i 2 + ϵ \text{RMS}(x) = \sqrt{ \frac{1}{d} \sum_{i=1}^{d} x_i^2 + \epsilon } RMS(x)=d1i=1∑dxi2+ϵ

  • 注: ϵ \epsilon ϵ 是防止分母为 0 的平滑项。 ,可以是 1e-6

Step 2: 归一化并缩放 (Scale)

y = x RMS ( x ) ⊙ γ y = \frac{x}{\text{RMS}(x)} \odot \gamma y=RMS(x)x⊙γ

  • *注: γ \gamma γ (即 weight) 是形状为 [hidden_dim] 的可学习参数。
  • 注:RMSNorm 没有偏置项 Bias!

总结

相关推荐
IT大白鼠12 分钟前
DeepSeek Harness 详解开源插件化 AI Agent 运行时:架构、模式、安装与生态
人工智能·架构·开源
YYYing.25 分钟前
【Agent系列 (二) 】大语言模型基础
人工智能·语言模型·自然语言处理·agent
xsd2024111843 分钟前
步态识别算法全解析:从剪影提取到跨视角身份识别的技术拆解
人工智能
外收内放1 小时前
Python基础语法练习题(57-58)
开发语言·python
朝朝辞暮i1 小时前
VLA 系统学习第 3 课:从一次机器人示范,到真正送进神经网络的 Batch
人工智能·python·深度学习·神经网络·vla
Joy T1 小时前
Spring AI 接入已有 Java 项目的三种架构设计
java·人工智能·springai·ai入门·chatclient·ai service·ai能力接入
m4Rk_1 小时前
【论文阅读】Agent 记忆机制(94):MemGen——在推理过程中动态生成并织入潜在记忆
论文阅读·人工智能·学习·开源·github
IT_陈寒1 小时前
Redis卡顿的锅,这次真不是大key的错
前端·人工智能·后端
小鹿的周先生2 小时前
第11章-Structured-Output
开发语言·人工智能·python
175******631732 小时前
灰片调色适合什么素材
人工智能