当前位置: 首页 > news >正文

MoE (Mixture of Experts)

记录moe的重要内容

todo

参考

博客:A Visual Guide to Mixture of Experts (MoE)

混合专家模型 (MoE)

显著优势:能够在远少于稠密模型所需的计算资源下进行有效的预训练。这意味着在相同的计算预算条件下,可以显著扩大模型或数据集的规模。特别是在预训练阶段,与稠密模型相比,混合专家模型通常能够更快地达到相同的质量水平。

MoE 的两个核心组成部分

专家(Experts)和 路由器(Router)

  • 专家 :每个“专家”本质上也是一个前馈神经网络(FFNN)。
  • 路由器或门控网络(Gate Network) :负责决定每个 token(词元)应该被送到哪些专家那里去处理。
专家(Experts)
  1. 稠密层
    也就是传统Transformer中的 前馈神经网络(FFNN, Feedforward Neural Network)
    作用:利用注意力机制生成的上下文信息,并进一步转换这些信息,从而捕捉数据中更复杂的关联关系。
  2. 稀疏层
    稀疏模型(sparse models) 只激活部分参数
  3. 专家们学到了什么?
    专家们更倾向于关注语法结构,而不是具体的领域知识。它们好像会用于处理某些特定类型的token。
路由(Routers)
作用

根据每个 token 的输入内容,输出一组概率值,并据此选择最匹配的专家。

MoE层

路由器 + 一组专家(FFNN被选中的一小部分)= 构成了一个 MoE 层(MoE Layer)

两种类型:稀疏MoE、稠密MoE
有什么不同?
对一组 token,Dense MoE 会将每个 token 分发给所有专家,而 Sparse MoE 只会分发给其中少数几个。
稀疏MoE的优势:有效降低推理成本,非常适合llm

专家选择的过程
步骤内容
1️⃣Router 线性层输出 gating logits
2️⃣Softmax 得到专家概率
3️⃣选择 top-k 专家
4️⃣将 token 分发给这些专家计算
5️⃣聚合结果(加权求和)
6️⃣使用负载均衡 loss 维持专家使用均匀

具体计算示例:

假设:

  • 有 3 个专家 ( E_1, E_2, E_3 )
  • 每个输入维度是 4
  • Router 是一个线性层 Wr∈R4×3W_r \in \mathbb{R}^{4 \times 3}WrR4×3
  • 使用 Top-2 gating。
Step 1. Router 输出 gating logits

输入 token:x = [0.5, -1.0, 0.3, 0.8]
Router 参数(简化):
Wr=[0.10.3−0.2−0.40.20.10.5−0.30.40.20.00.1]W_r = \begin{bmatrix} 0.1 & 0.3 & -0.2 \ -0.4 & 0.2 & 0.1 \ 0.5 & -0.3 & 0.4 \ 0.2 & 0.0 & 0.1 \end{bmatrix}Wr=[0.10.30.2 0.40.20.1 0.50.30.4 0.20.00.1]
计算 logits:
l=xWr=[0.5∗0.1+(−1)∗(−0.4)+0.3∗0.5+0.8∗0.2,...]=[0.63,−0.01,0.28]l = x W_r = [0.5*0.1 + (-1)*(-0.4) + 0.3*0.5 + 0.8*0.2, \ ...] = [0.63, -0.01, 0.28]l=xWr=[0.50.1+(1)(0.4)+0.30.5+0.80.2, ...]=[0.63,0.01,0.28]
经过 softmax:
g=softmax([0.63,−0.01,0.28])=[0.44,0.21,0.35]g = \text{softmax}([0.63, -0.01, 0.28]) = [0.44, 0.21, 0.35]g=softmax([0.63,0.01,0.28])=[0.44,0.21,0.35]

Step 2. Top-k 选择

Top-2 gating → 选择 expert 1 和 3。
对应权重归一化为:
gtop2=[0.56,0.44](重新归一化)g_{top2} = [0.56, 0.44] \quad (\text{重新归一化})gtop2=[0.56,0.44](重新归一化)

Step 3. 前向计算

y=0.56⋅E1(x)+0.44⋅E3(x)y = 0.56 \cdot E_1(x) + 0.44 \cdot E_3(x)y=0.56E1(x)+0.44E3(x)
只调用这两个专家的前馈网络。
其他专家(如 E₂)不会被激活,节省计算。

路由的挑战

引入可训练的高斯噪声,以防止模型总是选中同一批专家
output = input * router weights + gaussian noise

路由的挑战:某些专家学得更快,导致路由器总是选它们。会导致选择的专家不均匀,一些专家几乎不会被训练到。
解决方案负载均衡,目的是让每个专家在训练和推理中都能被公平地使用,避免某在某几个专家上过拟合。

KeepTopK 策略

第一步:计算每个专家的 重要性分数
第二步:计算 变异系数
第三步:优化目标 = 降低 CV

指标变异系数(Coefficient of Variation, CV)分析:

  • 如果 CV 很高,说明某些专家总被选中,而其他专家几乎没被用;
  • 如果 CV 很低,说明所有专家被使用得差不多,这正是想要的“负载均衡”状态。
专家容量

模型中的不平衡,不仅体现在被选中的专家不平均,也体现在发送给专家的 token 分布不均。

switch transformer 简化 MoE
http://www.dtcms.com/a/553781.html

相关文章:

  • 福建省城乡建设厅网站wordpress演示地址转换短网址
  • 实验:服务端建立nfs服务 客户端挂载该服务
  • 大数据分析与应用实验报告(黑龙江大学)
  • 网站整体结构企业邮箱如何查询
  • GRUB配置文件解析与启动流程详解
  • 静态 IP 深度用户体验手记:Cliproxy 稳定性与便捷性实测
  • 基于Springboot + vue3实现的药材中药资源共享平台
  • 杭州的设计网站建设企业网站建设原则是
  • Configuration Key
  • sns社交网站源码上海有限公司有哪些
  • 基于React的开源框架Next.js、UmiJS、Ant Design Pro
  • KVM在centos上离线安装
  • gateway配置自定义转发
  • 【洛谷】枚举专题-普通枚举 经典题解之铺地毯、回文日期、扫雷
  • GPU机器-显卡占用
  • 网站关键词抓取id wordpress
  • 学校网站 建设措施西地那非片能延时多久每次吃多少
  • Adobe Lightroom Classic 2026 v15.0 更新详解:AI加持下的全新摄影工作流
  • 蚂蚁S19j XP 117T矿机技术分析:适合BTC与BCH挖矿的高效选择
  • 单元测试、集成测试和系统测试的联系和区别是什么?
  • 做旅行社的都是在哪网站拿票办一个网站要多少钱
  • 青岛网站推广方案查看网站是否做百度推广
  • IDEA多实例项目启动模拟负载均衡
  • maven进阶了解
  • Android 嵌入h5顶部状态栏空白
  • 网页制作可以用手机吗江门网站排名优化
  • 营销型网站核心要素有哪些网站建设费税率是多少钱
  • IDEA的安装与设置
  • Fuzzing 工具来一波
  • 10.31