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

归一化:RMSNorm朴素

RMSNorm朴素.h

// RMSNorm朴素.h —— RMSNorm(均方根归一化)朴素标量实现声明// 用途:每个 transformer/DeltaNet 块的输入归一化,是层堆叠稳定训练与推理的基础#pragmaonce// 引入基础类型(浮点/size_t 别名)#include"公共/基础定义.h"// RMSNorm朴素:对一维向量做均方根归一化,再乘可学习缩放权重// 公式:$$ \hat{x}_i = \frac{x_i}{\sqrt{\frac{1}{d}\sum_{j=1}^{d} x_j^2 + \epsilon}} \cdot \gamma_i $$// 纯文本:x̂_i = x_i / sqrt( (1/d)·Σx_j² + ε ) · γ_i// 含义:先算全部元素的平方均值(除以维度 d),开方得「均方根」,每个元素除以它再乘 γ_i。// γ 是模型权重(attn_norm.weight 等,维度 = 隐藏维);ε 是防除零小量,// 实测 qwen35moe 的 rms_eps = 1e-6。// 参数:输入 = 待归一化向量起点;权重 = 缩放 γ(维度 = 维度);输出 = 结果起点;// 维度 = 向量长度(= 权重长度);epsilon = 防除零常数// 说明:输出可等于 输入(就地),但调用方传独立缓冲即可;朴素实现用 double 累加平方和voidRMSNorm朴素(constfloat*输入,constfloat*权重,float*输出,size_t 维度,floatepsilon);

RMSNorm朴素.cpp

// RMSNorm朴素.cpp —— RMSNorm(均方根归一化)朴素标量实现// 用途:先求均方根,再逐元素除乘缩放权重#include"内核/归一化/RMSNorm朴素.h"// 引入标准头:平方根 sqrt#include<cmath>// RMSNorm朴素:均方根归一化 + 可学习缩放// 公式:x̂_i = x_i / sqrt( (1/d)·Σx_j² + ε ) · γ_i// 实现两步:① 求均方根(double 累加平方和防精度损失);② 逐元素 除均方根 × γvoidRMSNorm朴素(constfloat*输入,constfloat*权重,float*输出,size_t 维度,floatepsilon){// 第一步:累加平方和。用 double 累加,避免大量 float 累加累积舍入误差double平方和=0.0;for(size_t i=0;i<维度;++i){平方和+=static_cast<double>(输入[i])*输入[i];}// 均方根 = sqrt( 平方和/维度 + ε )constdouble均方根=std::sqrt(平方和/static_cast<double>(维度)+static_cast<double>(epsilon));// 第二步:每个元素除以均方根、乘缩放权重 γ,全程用 double 中间量保证精度for(size_t i=0;i<维度;++i){输出[i]=static_cast<浮点>(static_cast<double>(输入[i])/均方根*static_cast<double>(权重[i]));}}
http://www.jsqmd.com/news/1356975/

相关文章:

  • 二十瓦的灰度:为什么我们反对批量复制意识与创造数字生命
  • css弹性布局,以及html总结
  • 二叉搜索树(BST)原理与高效实现指南
  • 企业远程协助安全管控方案解析与实践
  • 微服务架构性能调优实战指南
  • 深入解析Mach-O文件中的__LINKEDIT段
  • Oracle表空间监控SQL脚本与扩容方案
  • 基于MCP协议构建简历查询API:让AI精准读取非结构化文档
  • 二叉树数据结构:核心概念、遍历方式与工程实践
  • SpringBoot2+Vue3全栈旅游网站开发实践
  • SSM框架构建宠物饲料电商平台的技术实践
  • Python+Django构建社区物资互助平台实战
  • 2026年嘉兴比较好的庭院花园设计施工厂家**单 - 品牌排行榜
  • word转图片在线用哪几款?2026实测盘点7款PDF格式转换工具
  • Vue3通用容器布局设计器实现与优化
  • 深蓝词库转换:如何打破50+种输入法格式的壁垒?
  • 【计算机网络 | 第五章】运输层
  • 产品经理的 Claude Code 技能包实战(四):给原型自动加标注,开发不再问交互
  • 专业四线轨道灯生产商,名声咋样?看这3点!
  • 位图与矢量图互转换工具汇总,设计师实用工具清单
  • 又炸了!继OpenAI、Anthropic之后,中国AI Kimi K3 也在安全测试中成功“越狱“——但它只想着作弊查答案
  • KCC认证全解析:流程、材料与优化策略
  • 若依框架+Vue 3实战:深度定制与Vibe Coding高效开发心法
  • 47.8K Star!Rust重写Python代码治理,速度提升100倍,Flake8/Black终结者
  • 2026年8月佛山珍珠棉包装盒内衬/珍珠棉内衬公司推荐精选_佛山市鑫达顺包装有限公司 - 品牌宣传支持者
  • 全球云计算产业发展态势-市场:云计算规模保持稳步增长,产业格局日趋明晰
  • Vue3树形选择组件的终极指南:高效处理层级数据的完整教程 [特殊字符]
  • 快速排序算法原理与Java实现详解
  • HarmonyOS 7.0 / API 26 跨设备接续实战:页面快照、任务状态和异常回滚如何设计
  • Supabase与Qcoder全栈开发实战:快速构建现代Web应用