用途
MoE Training 用于训练混合专家(Mixture of Experts, MoE)模型,支持 DeepSpeed 或 HuggingFace 两种实现路径。资料说明其适用场景包括:在算力有限时训练更大模型(相比稠密模型约 5 倍成本降低)、在不按比例增加算力的前提下扩展模型容量、获得比稠密模型更高的单位算力性能、为不同领域/任务/语言专门化专家、通过稀疏激活降低推理延迟(如 Mixtral 中仅 13B/47B 参数被激活),以及实现 Mixtral 8x7B、DeepSeek-V3、Switch Transformers 等模型。
主要能力
技能覆盖 MoE 训练的核心环节:
- MoE 架构:由多个专家 FFN 网络(通常 8–128 个)、路由器/门控网络、Top-k 路由(k=1 或 2)和负载均衡组成。
- 路由机制:Top-1 路由(Switch Transformer)、Top-2 路由(Mixtral)、专家选择路由(Experts choose top-k tokens,可保证完美负载均衡)。
- 负载均衡:辅助损失(auxiliary loss)鼓励专家均匀使用;Router Z-Loss 提升稳定性。
- 专家并行:通过 DeepSpeed 配置将专家分布到多 GPU(如 128 个专家分布到 8 个 GPU)。
- 训练配置:提供 DeepSpeed MoE 配置示例与训练脚本命令行参数。
- 高级模式:Mixtral 8x7B 架构实现、PR-MoE(Pyramid-Residual-MoE)。
- 推理优化:稀疏推理,仅激活 top-k 专家以节省显存。
使用方式
安装方式(资料提供):
# DeepSpeed with MoE support
pip install deepspeed>=0.6.0
# Megatron-DeepSpeed for large-scale training
git clone https://github.com/microsoft/Megatron-DeepSpeed
cd Megatron-DeepSpeed
pip install -r requirements.txt
# Alternative: HuggingFace Transformers
pip install transformers accelerate
训练可通过 DeepSpeed 命令行执行,例如:
deepspeed pretrain_gpt_moe.py \
--num-layers 24 \
--hidden-size 1024 \
--num-attention-heads 16 \
--seq-length 2048 \
--max-position-embeddings 2048 \
--micro-batch-size 4 \
--global-batch-size 256 \
--train-iters 500000 \
--lr 0.0001 \
--min-lr 0.00001 \
--lr-decay-style cosine \
--num-experts 128 \
--moe-expert-parallel-size 4 \
--moe-loss-coeff 0.01 \
--moe-train-capacity-factor 1.25 \
--moe-eval-capacity-factor 2.0 \
--fp16 \
--deepspeed_config ds_config.json
资料还提供了基础 MoE 层、Mixtral 风格 MoE 块、负载均衡损失、Router Z-Loss、稀疏推理等 Python 代码示例,以及 DeepSpeed MoE 配置 JSON 示例。
适用场景
- 算力受限下训练大规模模型。
- 需要扩展模型容量但不想按比例增加算力。
- 需要为不同领域、任务或语言专门化专家。
- 需要降低推理延迟(稀疏激活)。
- 实现 Mixtral 8x7B、DeepSeek-V3、Switch Transformers 等 MoE 模型。
最佳实践(资料提供)
- 专家数量:小模型(1B–7B)用 8–16 个专家;中型(7B–30B)用 8–64 个;大型(30B+)用 64–256 个。Mixtral 8x7B 总参数 47B,激活参数 13B。
- 容量因子:训练用较低容量(如 1.25),评估用较高容量(如 2.0)。
- 学习率:MoE 模型需比稠密模型更低(如稠密 6e-4,MoE 1e-4),并延长衰减周期。
- 损失系数:辅助损失从 0.01 起,Router Z-Loss 从 0.001 起;负载不均衡时增大辅助损失,训练不稳定时增大 z-loss。
- 常见陷阱:避免使用与稠密模型相同的学习率、避免无负载均衡、避免小数据集使用过多专家。
限制
资料未提供关于收费、价格、平台支持范围、具体性能基准或效果保证的信息。实际训练效果取决于数据、算力与配置,资料未给出保证性结论。