🍋🍋AI学习🍋🍋
🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞
一、Decoder-only原始架构
在MoE中,decoder-only就是改造的前馈神经网络层。
二、MoE图解
三、前向传播过程
以Top-k (k=1 或 2)为例:
1、计算路由权重
2、选择专家
取权重最大的 k 个专家,得到索引集合 S(x)。
3、专家前向
对选中的每个专家 e:
4、加权合并
五、MoE的优势
1、参数量大,计算量可控
(1)普通 Transformer:每次前向传播都要用到所有参数,想增加容量就必须增加计算量。
(2)MoE:可以把参数拆分成 N 个“专家”,每个 token 只激活Top-k个专家(常见 k=1 或 2)。
(3)计算量 ≈ k/N × 总参数量,总参数可以做到数百亿甚至上万亿,而实际每步计算只相当于几十亿。
2、表达能力更强
不同专家可以学习不同的子任务/语义模式(例如语法、数学、代码、图像描述等)。
通过 gating 机制,每个 token 动态选择专家 →条件计算 (conditional computation), 类似于“如果输入属于某类特征,就让某些专家专门处理”
3、训练与扩展灵活
易于扩展:只需增加专家数量即可增加模型容量,而计算成本几乎不变。
模块化训练:专家可以并行分布到不同 GPU/节点,方便大规模分布式训练。
局部更新:理论上可以只更新某些专家以实现增量学习或领域适配。
4、更好的多样性与鲁棒性
由于专家学习到不同的特征空间,模型在面对分布外数据时往往更有鲁棒性。
对长尾任务更友好:稀有任务可能被特定专家捕获,而不会被主流任务“淹没”。
六、常见变体
Switch Transformer:Top-1 路由,最简单高效。
GShard:Top-2 路由 + 负载均衡 loss。
Mixtral、DeepSeek-MoE:更大规模专家、改进 gating、共享路由策略。
Shared MoE / Residual MoE:增加共享专家或残差,稳定训练。
七、总结
MoE 的前馈网络内部仍然是“升维→激活→降维”的 FFN, 区别在于:
不止一个 FFN,而是多个专家并存,由门控网络为每个 token 动态选择少数专家执行, 这样可以在保持计算成本可控的同时显著扩大模型容量与表示能力。