MoE,即大语言模型中的混合专家模型*,核心思想是对于每个输入,并不激活整个庞大的模型,而是通过一个"路由"机制,选择少数几个"专家"子网络进行处理,从而在保持模型总参数量巨大的前提下,大幅降低计算成本。
这里尝试对MoE进行形式化探索,所用示例参考自网络资料。
1. MOE
1.1 MoE核心概念
输入: ,通常是一个词或令牌的嵌入向量。
专家总数: 个专家。每个专家
本身是一个前馈神经网络,其参数为
。
通常,每个专家具有相同的结构(例如,与标准Transformer中的FFN层相同:两个线性层和一个非线性激活)。
门控网络: ,是一个将输入映射到专家权重向量的函数。
激活的专家数: (一个远小于
的超参数,通常为1、2或4)。这是每次前向传播时实际参与计算的专家数量。
1.2 前向传播
对于一个输入x,MoE层(通常替代标准Transformer中的FFN层)的输出计算如下:
步骤1:路由计算**
计算门控权重:
其中:
G(x)通常是一个简单的线性层:,
。
- 保留G(x)中最大的k个值。
- 将其余
个值设置为
。
仅对这
个非负无穷的值进行计算,确保它们的和为1。
最终,是一个稀疏向量,只有k个非零值,其余为0。
步骤2:专家计算
假设被选中的k个专家的索引集合为。
并行计算这些专家的输出:
步骤3:加权求和
将专家输出按门控权重加权求和,得到最终输出:
其中是
中对应专家
的权重。
在整个前向过程中,只有k个专家被激活并需要计算,而其他E-k个专家处于"休眠"状态。这使得总计算量(FLOPs)与k成正比,而不是E。
3. 训练技术
单纯的上述形式会带来严重的训练不稳定性。
以下是核心的解决方案:
3.1 负载均衡损失
为了防止门控网络总是将流量导向少数几个热门专家,需要引入辅助损失来鼓励均匀路由。
常用的是重要性损失和负载损失。
1)重要性损失:
鼓励每个专家在一批数据中获得的权重总和相近。
其中:
是专家i在一批数据中被选中的频率。
是专家i在一批数据中获得的门控权重总和。
是一个超参数。
2)负载均衡损失
负载均衡损失更常用,见于Switch Transformer、GShard
它直接考虑每个专家的**期望负载**,并最小化其方差。
这个辅助损失会被加到模型的主损失(如语言建模损失)上:
其中是辅助损失的系数。
3.2 路由策略与稳定性
随机路由:在训练初期加入噪声,促进探索。
容量因子:为每个专家设置一个处理令牌数的上限("容量")。超过容量的令牌会被丢弃或溢出到下一个最合适的专家。这保证了计算的可预测性,是生产系统中的必备项。
专家并行:在分布式训练中,将不同专家放在不同的设备上。门控网络的路由决策本质上是一个
All-to-All通信操作,这是MoE训练的核心通信开销。
4. MoE集成
4.1 Transformer集成
MoE层通常**直接替代Transformer解码器中的前馈网络层**。
一个标准的 MoE-Transformer Block可以描述为:
-
自注意力层。
-
MoE层(替代FFN)。
-
残差连接和层归一化应用于每个子层。
对于一个有L层的模型,可以只在其中一部分层(例如,每隔一层或最后几层)使用MoE,其余层使用标准的稠密FFN。
4.2 MoE总结
一个大语言模型MoE层可以最简洁地定义为:
其成功部署依赖于:
- 一个高效的稀疏门控函数G(x) 。
- 一个强制的负载均衡约束
。
- 一个支持大规模条件计算和专家并行的分布式系统。
这种架构使模型规模突破了传统稠密模型的硬件限制,成为当前构建万亿参数级别大语言模型的主流技术路径之一(如Mixtral 8x7B, DeepSeek-V3, Grok-1等)。
以下是对MoE的优势和挑战的总结。
| 方面 | 优势(形式化) | 挑战(形式化) |
|---|---|---|
| 计算效率 | 计算成本 : O(k⋅d_ffn) 参数量 : O(E⋅d_ffn) k≪E,实现了条件计算。 | 内存占用:需要将所有 E个专家的参数加载到内存(或不同设备),尽管每次只用 k 个。 |
| 模型容量 | 总参数 ↑(例如,万亿级),但推理成本可控。 | 训练不稳定:需要精细设计的负载均衡损失 Laux 和超参数调优。 |
| 泛化能力 | 专家可能形成功能分化(如语法、事实、推理等),提升模型质量。 | 过拟合:由于每个样本只接触少量参数,可能在小型任务上过拟合。需要正则化。 |
| 系统 | 理论上的计算效率高。 | 通信瓶颈 :分布式训练中,All-to-All通信开销巨大。 推理延迟波动:不同输入激活的专家不同,导致延迟不一致。 |
reference
从LLM角度学习和了解MoE架构
https://blog.csdn.net/liliang199/article/details/152614783
Switch Transformers: Scaling to Trillion Parameter Models
https://arxiv.org/pdf/2101.03961
MoE(Mixture-of-Experts)大模型架构的优势是什么?为什么?