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

发布于:2024-06-04 ⋅ 阅读:(152) ⋅ 点赞:(0)

主要创新点

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

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到