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

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

RMS(均方根归一化)

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

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-27 07:34:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-27 07:34:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-27 07:34:03       82 阅读
  4. Python语言-面向对象

    2024-04-27 07:34:03       91 阅读

热门阅读

  1. Spark 为什么比 Hive 快

    2024-04-27 07:34:03       36 阅读
  2. C#面:ASP.NET 与 ASP 相比,主要有哪些进步

    2024-04-27 07:34:03       37 阅读
  3. 怎么理解Fiber,Fiber解决了什么问题

    2024-04-27 07:34:03       34 阅读
  4. 【2024.04.27_晴】

    2024-04-27 07:34:03       31 阅读
  5. R语言 数据框的长、宽格式转换

    2024-04-27 07:34:03       82 阅读
  6. 应用回归分析,R语音,逐步回归法,第5章

    2024-04-27 07:34:03       87 阅读
  7. 从npm到yarn,再到pnpm

    2024-04-27 07:34:03       36 阅读
  8. docker部署前端项目(四)

    2024-04-27 07:34:03       32 阅读
  9. NPM简介

    2024-04-27 07:34:03       33 阅读
  10. Mac运行npm run serve报错opensslErrorStack

    2024-04-27 07:34:03       32 阅读
  11. B站秒杀项目学习心得

    2024-04-27 07:34:03       36 阅读
  12. Elasticsearch简介及安装

    2024-04-27 07:34:03       28 阅读