MoE 发展史概述

27 天前(已编辑)
/
3
摘要
https://github.com/chenzomi12/AISystem

阅读此文章之前,你可能需要首先阅读以下的文章才能更好的理解上下文。

MoE 发展史概述

学习: https://github.com/chenzomi12/AISystem

没想到最早在90年代就提出了 核心思想:

  1. 设计多个独立(Experts)网络模块,处理数据中不同的子集
  2. 由门控网络选择模块

2017年,最早使用MoE思想结合LSTM设计了当时最大的模型 (确实能和GRU、LSTM联系)当时还是 RNN 时代,将MoE用在了双层RNN上 核心思想:

  1. 通过路由只激活少数的 Experts,(首次提出稀疏MoE)实现成本与规模分离
  2. Top_k Gate,选择前k个Experts
  3. 负载均衡,通过辅助lost函数实现

2020 年,GShard, Google 将MoE与transformer结合 核心思想:

  1. 提出 MoE+transformer,替换传统了FFN层
  2. 引入了随机路由与Experts容量概念,优化分布式训练与负载均衡(transformer和RNN在负责均衡上存在区别)
  3. 提出GShard架构 (支持更多参数的分布式框架),应该并行通讯相关

2021.1 Switch transformers 核心思想:

  1. 简化路由机制(Gate),只选择一个Experts
  2. 大模型 scaling 与 蒸馏 的探索

2021.12 GLaM 核心思想:

  1. 稀疏激活机制。每个input动态选择2个Experts激活计算
  2. 实现条件计算,根据输入动态调整计算路径
  3. 更多的Experts,并实现跨设备扩展(多experts展示了多任务与多语言优势)

2022.2 ST-MoE 核心思想:

  1. 引入梯度裁剪、噪声注入、路由限制,缓解MoE训练不稳定问题
  2. 优化微调策略,提高MoE微调、迁移学习的能力。适配下游任务 (对后续微调可以尝试微调策略入手)

2024.1 DeepSeek MoE 核心思想:

  1. experts共享机制。多了一个共享专家参与计算,而不是experts间信息合并融合
  2. MLA缓存(以存代算)

同一层设计更多的FFN模块,通过Gate选择模型与Input计算

  • 为什么是在 FFN 上,而不是 selfattention,或者都使用

  • Gate 对 专家 不只是简单的选择(只是其中一种策略),还有其他选择策略

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...