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,一经查实,立即删除!

相关文章

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

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

IDEA破解后的配置

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

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,原来的内…

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

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

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

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

小程序 UI 风格,赏心悦目

小程序 UI 风格,赏心悦目

【云原生】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%,远远优于…

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

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

数据报表统计实现

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

Postgresql中json和jsonb类型区别

在我们的业务开发中,可能会因为特殊【历史,偷懒,防止表连接】经常会有JSON或者JSONArray类的数据存储到某列中,这个时候再PG数据库中有两种数据格式可以直接一对多或者一对一的映射对象。所以我们也可能会经常用到这类格式数据&am…

港中文斯坦福提出SD加速模型PCM,一步即可生成图像和视频,可直接与SD1.5,SDXL,AnimateLCM结合!

又有新的SD加速模型可以用了,PCM解决了原来LCM模型的各种问题。并且对 AnimateLCM 也做了优化,用PCM直接生成动画也可以保证质量了。 PCM从这三个角度说明了LCM的设计空间是有限的并很好地解决了这些限制。 PCM主要改善了三个LCM原有的问题:…

LeetCode 热题 100 第56.合并区间

思路&#xff1a; class Solution {public int[][] merge(int[][] intervals) {if(intervals.length < 1) return intervals;List<int[]> res new ArrayList<>();Arrays.sort(intervals, (o1,o2) -> o1[0] - o2[0]);for(int[] interval : intervals){if(res…

UML交互图-序列图

概述 序列图又称为时序图、活动序列图&#xff0c;它是一种详细表示对象之间及对象与参与者实例之间交互的图,它由一组协作的对象(或参与者实例)及它们之间可发送的消息组成&#xff0c;它强调消息之间的时间顺序。 序列图主要用于按照交互发生的一系列顺序&#xff0c;显示对…

【Java】static 修饰变量

static 一种java内置关键字&#xff0c;静态关键字&#xff0c;可以修饰成员变量、成员方法。 static 成员变量 1.static 成员变量2.类变量图解3.类变量的访问4.类变量的内存原理5.类变量的应用 1.static 成员变量 成员变量按照有无static修饰&#xff0c;可以分为 类变量…

体验SmartEDA:颠覆传统,设计流程更流畅,超越Multisim与Proteus!

在电子设计自动化&#xff08;EDA&#xff09;领域&#xff0c;传统软件如Multisim和Proteus一直是工程师们的得力助手。然而&#xff0c;随着科技的飞速发展和用户需求的不断升级&#xff0c;一个全新的EDA平台——SmartEDA正崭露头角&#xff0c;凭借其更为流畅的设计流程&am…