探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(五)RMS 均方根归一化

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(五)RMS 均方根归一化

RMS(均方根归一化)

均方根归一化(RMSNorm)是一种相对新颖的归一化技术,由 Biao Zhu、Rico Sennrich 在 2019 年提出。与 BN 和 LN 不同,RMSNorm 基于激活本身的均方根对激活进行归一化,而不是使用小批量或层统计数据。这种方法可确保无论小批量大小或特征数量如何,激活的缩放都是一致的。此外,RMSNorm 引入了可学习的尺度参数,提供与批量归一化类似的适应性。

像层归一化一样, 也有一个可学习的参数gamma(左侧公式中的g ),它乘以归一化值。

python 复制代码
class RMSNorm(nn.Module):
    def __init__(self, dim: int, eps: float = 1e-5):
        super().__init__()
        self.eps = eps
        # The gamma parameter
        self.weight = nn.Parameter(torch.ones(dim))

    def _norm(self, x: torch.Tensor):
        # (B, seq_len, dim) -> (B, seq_len, 1)
        return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps)

    def forward(self, x: torch.Tensor):
        # dim : (B, seq_len, dim) -> (B, seq_len, dim)
        return self.weight * self._norm(x.float()).type_as(x)

系列博客

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(一)
https://duanzhihua.blog.csdn.net/article/details/138208650

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(二)
https://duanzhihua.blog.csdn.net/article/details/138212328

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(三)KV缓存
https://duanzhihua.blog.csdn.net/article/details/138213306

探索和构建 LLaMA 3 架构:深入探讨组件、编码和推理技术(四)分组多查询注意力
https://duanzhihua.blog.csdn.net/article/details/138216050

相关推荐
AAI机器之心2 个月前
LIama 3+Mamba联手,推理速度提升1.6倍
人工智能·chatgpt·大模型·llm·llama·mamba·llama3
逐梦苍穹3 个月前
速通LLaMA3:《The Llama 3 Herd of Models》全文解读
人工智能·论文·llama·llama3
花花少年4 个月前
快速体验LLaMA-Factory 私有化部署和高效微调Llama3模型(曙光超算互联网平台异构加速卡DCU)
llama-factory·llama3·scnet·dcu·国产异构加速卡
一个处女座的程序猿5 个月前
LLMs之llama3-from-scratch:llama3-from-scratch(从头开始利用pytorch来实现并解读LLaMA-3模型的每层代码)的简介、核心思路梳理
大语言模型·llama3
段智华6 个月前
Llama模型家族之Stanford NLP ReFT源代码探索 (四)Pyvene论文学习
transformer·llama3·reft
段智华6 个月前
Llama模型家族之Stanford NLP ReFT源代码探索 (一)数据预干预
llama3·reft
段智华6 个月前
Llama模型家族之拒绝抽样(Rejection Sampling)(五)蒙特卡罗算法在拒绝抽样中:均匀分布与样本接受标准
llama3·reject sample
段智华6 个月前
Llama模型家族之拒绝抽样(Rejection Sampling)(九) 强化学习之Rejection Sampling
llama3·reject sample
段智华6 个月前
Llama模型家族之Stanford NLP ReFT源代码探索 (二)Intervention Layers层
llama3·reft
段智华6 个月前
Llama模型家族之使用 ReFT技术对 Llama-3 进行微调(三)为 ReFT 微调准备模型及数据集
llama3·reft