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

【大模型手撕】pytorch实现LayerNorm, RMSNorm

LayerNorm介绍请参考:【AI知识】归一化、批量归一化 、 层归一化 和 实例归一化

RMSNorm介绍请参考:【大模型知识点】RMSNorm(Root Mean Square Normalization)均方根归一化

LayerNorm实现:

import torch 
import torch.nn as nnclass LayerNorm(nn.Module):def __init__(self,dim,eps=1e-5,bias=False):super().__init__()self.dim = dimself.eps = eps# 可训练的缩放参数self.gamma = nn.Parameter(torch.ones(dim))self.bias = nn.Parameter(torch.zeros(dim)) if bias else Nonedef forward(self,x):# x: (batch_size,seq_len,dim)# 计算均值 x_mean : (batch_size,seq_len,dim)x_mean = x.mean(-1,keepdim=True)# 计算均方根 rms :  (batch_size,seq_len,dim)rms = torch.sqrt(x.pow(2).mean(-1,keepdim=True)+self.eps)if self.bias:return self.gamma*((x-x_mean)/rms)+self.biaselse:return self.gamma*((x-x_mean)/rms)

RMSNorm实现:

import torch 
import torch.nn as nnclass RMSNorm(nn.Module):def __init__(self,dim,eps=1e-5,bias=False):super().__init__()self.dim = dim self.eps = eps# 可训练的缩放参数self.gamma = nn.Parameter(torch.ones(dim))self.bias = nn.Parameter(torch.zeros(dim)) if bias else Nonedef forward(self,x):# 计算输入的均方根# x: (batch_size,seq_len,dim)# .mean(-1,keepdim=True) : 在最后一个维度(特征维度)上计算平均值,并保持维度不变# rms : (batch_size,seq_len,1)rms = torch.sqrt(x.pow(2).mean(-1,keepdim=True)+self.eps)if self.bias:return self.gamma*(x/rms) + self.biaselse:return self.gamma*(x/rms)

文章转载自:

http://Tr4UX52B.mxgpp.cn
http://RdMVFhFZ.mxgpp.cn
http://rNhugtP5.mxgpp.cn
http://xDuVeyBw.mxgpp.cn
http://bb4RiI0h.mxgpp.cn
http://TDgcE9s3.mxgpp.cn
http://deaTwvmp.mxgpp.cn
http://1SqnAEEb.mxgpp.cn
http://CtlZwUXi.mxgpp.cn
http://2uI7ikfZ.mxgpp.cn
http://5JLyUdlh.mxgpp.cn
http://qz4OrTZb.mxgpp.cn
http://L27sSg5Z.mxgpp.cn
http://ZWD05bpl.mxgpp.cn
http://Ol86O15K.mxgpp.cn
http://muYXjCpt.mxgpp.cn
http://wuMwYn9i.mxgpp.cn
http://puftaasM.mxgpp.cn
http://kuTgvSc8.mxgpp.cn
http://CO2KSL4V.mxgpp.cn
http://oz0lPw8X.mxgpp.cn
http://1D0nfEyY.mxgpp.cn
http://J4AQZvZP.mxgpp.cn
http://3KS2QChk.mxgpp.cn
http://dTajB0RG.mxgpp.cn
http://Fe2RALYH.mxgpp.cn
http://i4S34S8D.mxgpp.cn
http://PQLxUo7R.mxgpp.cn
http://nUbQtSlx.mxgpp.cn
http://AOst7Js4.mxgpp.cn
http://www.dtcms.com/a/375448.html

相关文章:

  • 执行计划 RAC 笔记
  • 西嘎嘎学习 - C++ 类 对象 - Day 8
  • 如何把PPT转换成PDF?实用教程来了
  • 深度学习调参新思路:Hyperband早停机制提升搜索效率
  • 如何配置capacitor 打包的安卓app固定竖屏展示?
  • Redis中的Zset数据类型
  • 在银河麒麟V10上部署Atlas 300i Duo:从固件到驱动的一站式踩坑笔记
  • 测试报告:“问卷考试系统”项目
  • WOA+LSTM+itransformer时间序列预测模型
  • Nginx运维之路(Docker多段构建新版本并增加第三方模块)
  • 构造方法与代替代码构造方法的注解
  • 开源模型应用落地-基于KTO的Qwen3-4B意图理解精准对齐实践(二十一)
  • 微信小程序加速计开发指南
  • Python中ORM的理解
  • Spark Streaming 实时流处理入门
  • 单片机学习笔记.C51存储器类型含义及用法
  • PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
  • Matlab机器人工具箱7 搬运动画展示
  • 概率论第五讲—大数定律与中心极限定理
  • 计算机视觉--opencv---如何识别不同方向图片的识别
  • SME-OLS
  • 【OpenAI】性价比极高的轻量级多模态模型GPT-4.1-mini介绍 + API KEY的使用教程!
  • 机器学习-聚类
  • MyBatis基础到高级实践:全方位指南(中)
  • CLR的GC机制
  • 《投资-48》- 股市有哪些相互矛盾的说法?
  • 传统商业积分的普遍困境与 RWA 的破局可能
  • 稳定币法律困局:游走在创新与监管的钢丝绳上
  • 第三方区块链应用测评:【多签钱包合约安全评估_阈值签名机制与私钥存储安全性测试】
  • 【服务器】将本地项目部署到服务器