• 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 实现方式为大型语言模型的研究和应用提供了新的思路。

    在这里插入图片描述

  • 相关阅读:
    智能家居系统
    springboot宠物领养系统-计算机毕设 附源码 44261
    《探索数据结构之美:如何高效实现哈希表》
    期权基本概念
    WampServer下载安装并结合cpolar内网穿透实现本地服务的公网访问
    数字化转型升级必备—数据思维与应用
    Oracle、MySQL使用区别
    React 高阶组件 和 受控组件
    数字孪生行业政策梳理--数字孪生能源领域相关政策(可下载)
    【iOS自动化测试】第二章:环境安装
  • 原文地址:https://blog.csdn.net/weixin_32759777/article/details/139418098