Yuan 2.0-M32 是一个基于 Yuan 2.0 架构的双语混合专家 (MoE) 语言模型,旨在以更少的参数和计算量实现更高的准确率

主要创新点

  • 注意力路由器 (Attention Router): 提出了一种新的路由器网络,考虑了专家之间的相关性,从而提高了模型的准确率。
  • 高效计算: 使用 MoE 架构,40B 总参数中仅有 3.7B 激活参数,训练计算消耗仅为同规模密集模型的 9.25%,推理成本与 3.7B 参数的密集模型相当。
  • 性能优异: 在代码生成、数学解题、科学知识和推理等多个领域展现出与 Llama3-70B 等大型模型相当甚至更优的性能。
    模型结构
  • 基于 Yuan 2.0 架构,将每一层的密集前馈网络替换为 MoE 组件。
  • 每个 MoE 层包含一组独立的专家(FFN),注意力路由器负责将输入 token 分配给相关的专家。
  • 注意力路由器通过计算专家之间的相关性,选择最相关的专家参与计算,从而提高模型准确率。
    训练与评估
  • 使用 2000B 双语数据集从头开始训练。
  • 在代码生成、数学解题、科学知识和推理等多个基准测试中取得了优异的成绩。
  • 与其他 MoE 模型和密集模型相比,Yuan 2.0-M32 在准确率、参数效率和计算效率方面都展现出显著优势。
    开源与贡献
  • Yuan 2.0-M32 的模型和源代码已在 GitHub 上开源,为 LLM 和 AI 产业发展做出贡献。
    总而言之,Yuan 2.0-M32 是一个高效且性能优异的 MoE 语言模型,为大型语言模型的研究和应用提供了新的思路

根据 Yuan 2.0-M32 论文中的描述,我们可以总结出传统 MoE 模型的几个关键特点
1. 专家路由网络

  • 独立专家特征向量: 每个专家都有一个独立的特征向量,用于计算 token 与专家之间的相关性。
  • 计算相关性: 通过计算 token 与每个专家特征向量之间的点积,得到 token 与专家之间的概率分布。
  • 选择专家: 选择概率最高的专家参与计算,通常会选择多个专家,例如 top-K。
    2. 忽略专家相关性
  • 传统 MoE 模型中的专家是独立的,没有考虑专家之间的相关性。
  • 专家的选择仅仅基于 token 与专家自身的相关性,没有考虑专家之间的协作关系。
    3. 路由策略
  • 常见的路由策略包括:
    • softmax 路由: 计算概率分布后,选择概率最高的专家。
    • Noisy Top-K 路由: 引入噪声,平衡专家利用率。
    • Expert Choice 路由: 实现最优负载均衡。
      4. 计算效率
  • 传统 MoE 模型虽然可以扩展到更大的规模,但计算效率相对较低。
  • 随着 expert 数量的增加,计算量会显著增加。
    5. 性能
  • 传统 MoE 模型在准确率方面取得了不错的成绩,但仍有提升空间。
  • 论文中提到,Yuan 2.0-M32 通过引入 Attention Router,在传统 MoE 的基础上进行了改进,取得了更高的准确率。

根据论文内容,我们可以总结出 Yuan 2.0-M32 中 MoE 的具体实现方式如下:
1. 专家层结构

  • 每个 MoE 层由 32 个独立的专家(FFN)组成,每个专家负责处理特定的信息。
  • 专家层取代了 Yuan 2.0 中每个层的密集前馈网络。
    2. 注意力路由器
  • 注意力路由器负责将输入 token 分配给最相关的专家。
  • 路由器使用注意力机制计算 token 与专家之间的相关性,并选择相关性最高的专家参与计算。
  • 与传统 MoE 模型不同,注意力路由器考虑了专家之间的相关性,从而提高了模型准确率。
    3. 计算流程
  1. 计算注意力得分
    • 输入 token 经过线性变换得到 Q、K、V 向量。
    • 计算 Q 与 K 的点积,并进行 softmax 操作得到注意力得分 P。
    • P 表示 token 与每个专家的相关性,值越高表示相关性越强。
  2. 选择专家
    • 选择 P 中值最高的两个专家(M=2),将其激活并进行计算。
    • 论文中也进行了实验,发现使用 16 个专家和 32 个专家可以进一步提升模型准确率。
  3. 专家计算
    • 激活的专家对 token 进行处理,得到各自的输出。
    • 将所有激活专家的输出进行加权求和,得到 MoE 层的最终输出。
      4. 训练过程
  • 与 Yuan 2.0 类似,使用数据并行和流水线并行进行训练。
  • 没有使用张量并行和优化器并行。
  • 训练过程中,每个专家的参数都会更新,而未被激活的专家则不会参与计算,从而降低训练成本。
    5. 推理过程
  • 与训练过程类似,使用注意力路由器选择相关性最高的专家进行计算。
  • MoE 层的输出作为下一层的输入,最终得到模型的预测结果。
    总结
    Yuan 2.0-M32 中的 MoE 通过注意力路由器实现了高效的专家选择,并考虑了专家之间的相关性,从而在保证模型准确率的同时,降低了计算成本。这种 MoE 实现方式为大型语言模型的研究和应用提供了新的思路。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/23751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python_ 爬楼梯

假设小明爬楼梯,要爬10层,每次他爬1层或者2层。爬完10层他有几种爬法。 第一层1种,1 第二层2种,2 第三层3种 111 12 21 第四层5种 1111 112 121 211 22 …

大模型创新企业集结!百度智能云千帆AI加速器Demo Day启动

新一轮技术革命风暴席卷而来,为创业带来源源不断的创新动力。过去一年,在金融、制造、交通、政务等领域,大模型正从理论到落地应用,逐步改变着行业的运作模式,成为推动行业创新和转型的关键力量。 针对生态伙伴、创业…

IDEA破解后的配置

以下所有操作都要求进入全局setting而不是某一个项目的setting 进入全局Setting File→close project 进入欢迎页面 低版本 然后点击Setting 关闭自动更新 不关闭有可能会破解失败 Appearance & Behavior->System Settings->Updates下取消Automatically chec…

Vite+Vant4中Toast轻提示等组件无法展示的问题

Vant4官方文档 在开发过程中,发现vant4部分组件展示不出,例如Toast轻提示,在使用showFailToast()方法的时候,只是弹出个小白框,并没有提示信息,查阅资料之后得出其解决方案如下: 在vite.config…

debian系统apt 国内安装源

debian系统apt 国内安装源: 国内阿里镜像源: deb http://mirrors.aliyun.com/debian stable main non-free contrib deb-src http://mirrors.aliyun.com/debian stable main non-free contrib 打开源文件位置:/etc/apt/sources.list,原来的内…

240520Scala笔记

240520Scala笔记 第 7 章 集合 7.1 集合1 数组Array 集合(Test01_ImmutableArray): package chapter07 ​ object Test01_ImmutableArray {def main(args: Array[String]): Unit {// 1. 创建数组val arr: Array[Int] new Array[Int](5)// 另一种创建方式val arr2 Array(…

eNSP学习——RIP路由协议的汇总

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、配置RIPv1协议 3、配置RIPv2自动汇总 4、配置RIPv2手动汇总 需要eNSP各种配置命令的点击链接自取:华为eNSP各种设备配置命令大全PDF版_ensp配置命令大全…

蓝桥杯物联网竞赛 比赛总结

CUBEMX配置建议: 对于CUBEMX配置来说stm32l071kbu6的引脚不算太多,功能模块相对的也不多,所以我建议直接熟练到能将所有模块烂熟于心,不用看原理图就能熟练配置下来,因为国赛看原理图去配置太花费时间 我建议学习的时…

小程序 UI 风格,赏心悦目

小程序 UI 风格,赏心悦目

数组知识点

基本概念 数组是存储一组相同类型数据的集合。 数组分为一维、多维、交错数组。 一般情况,一维数组就简称为数组。 数组的申明 变量类型[] 数组名; 只是申明了一个数组,但是并没有开房。 int[] arr1; 变量类型[] 数组名 new 变量类型[数组的长度…

英语阅读文章

0104 NASA 的月球基地 NASA Advance Lunar Construction Technology for Moon Missions Maker Faire Rome, Published Dec. 14, 2022 One step closer to the first-ever construction on the Moon NASA – National Aeronautics and Space Administration has granted ICON …

【云原生】Kubernetes----RBAC用户资源权限

目录 引言 一、Kubernetes安全机制概述 二、认证机制 (一)认证方式 1.HTTPS证书认证 1.1 证书颁发 1.2 config文件 1.3 认证类型 1.4 Service Account 1.4.1 作用 1.4.2 包含内容 1.4.3 与Secret的关系 2.Bearer Tokens 3.基本认证 三、鉴…

Java Web学习笔记17——Vue快速入门

什么是Vue? Vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。 官网:https://v…

俯视角2D_玩家角色架构

玩家控制 玩家角色蓝图的精灵旋转和摄像机旋转角 1.因为是俯视角的游戏,因此相机和角色的精灵图需要调整为-90 ## 玩家输入 增强输入的映射 为玩家控制器引用增强输入的映射 在游戏模式中应用该玩家控制器 在玩家蓝图中应用输入映射并编写移动逻辑,(需要注意的是…

python-小游戏-弹球对决

python-小游戏-弹球对决 需要安装pygame 代码—game-Pong.py import pygame import random# Initialize pygame pygame.init()# Set up the screen WIDTH 600 HEIGHT 400 BALL_RADIUS 20 PAD_WIDTH 10 PAD_HEIGHT 80 WHITE (255, 255, 255) PURPLE (128, 0, 128) RED…

策略模式的理解和运用

在之前的小游戏项目中,处理websocket长连接请求的时候,需要根据传递数据包的不同类型,进行不同的处理。为了实现这个场景,比较简单的方法就是使用if-else或者switch-case语句,根据条件进行判断。但是这导致了项目代码复…

AI驱动下,需要重新审视比亚迪在电子制造领域的“新神话”?

自4月22日创下新低后,比亚迪电子(00285.HK)之后趋势走强,截至6月5日收盘,比亚迪电子股价一度突破年内最高价位37.35港元/股,最终收盘36.75港元/股。 区间29个交易日涨超55%,远远优于…

C++ 用数组模拟队列

在C中,使用数组模拟队列通常涉及到两个主要的操作:入队(enqueue)和出队(dequeue)。由于数组是一个固定大小的数据结构,当使用数组模拟队列时,需要手动管理队列的头部和尾部位置。以下…

OneDrive空间清理及文件历史版本查询

点击OneDrive图标 点击“在线查看” 点击“设置” 点击“OneDrive设置” 点击“其他设置” 点击“存储标准” 点击“文档” 选择需要操作的文件,点击“历史版本记录” 需要清理空间,可删除历史版本,需要使用历史版本,可还原历史版…

数据报表统计实现

目录 一:背景 二:实现过程 一:背景 最近需要开发一个数据统计的功能,主要是按照各种维度统计客户的数据,一般是按照日期来展示数量和变化情况。下面我们来梳理下实现的过程。 二:实现过程 1&#xff1a…