MindSpeed LLM MoE大模型训练指南Qwen3-235B/DeepSeek-V3专家并行实战【免费下载链接】MindSpeed-LLM昇腾LLM分布式训练框架项目地址: https://gitcode.com/Ascend/MindSpeed-LLMMoEMixture of Experts混合专家是当前大模型的主流架构Qwen3-235B、DeepSeek-V3 这类模型拥有上百到数百个专家FFN参数动辄数百 B单靠张量并行根本无法训动。MindSpeed LLM是昇腾生态的大语言模型分布式训练框架内置完整的MoE 专家并行Expert Parallelism, EP能力配套 Qwen3-235B-A22B、DeepSeek-V3 671B 的官方预训练脚本从参数配置到通算重叠全部帮你调好本文带你快速上手。一、为什么 MoE 大模型必须用专家并行传统稠密模型靠TP张量并行 PP流水线并行就能切分但 MoE 的 FFN 部分是128/256 个专家每 token 只激活 8 个的结构专家参数是稀疏激活的沿张量切分无法降低单卡激活内存Token 需要经过路由Router被分发到持有对应专家的卡上天然适合每卡持有部分专家的专家并行切分。MindSpeed LLM 基于 Megatron 后端的 MoE 实现核心代码见 moe_layer.py、router.py在 Qwen3-235B 和 DeepSeek-V3 上给出了两类典型调参范式是理解 EP 配置的绝佳样本。二、Qwen3-235B-A22B16 节点专家并行配置官方脚本 pretrain_qwen3_235b_a22b_4k_A3_ptd.sh 采用16 节点 × 16 NPU 256 卡规模并行策略为TP1, PP4, EP32, VPP8。MoE 相关参数节选TP1 PP4 EP32 # 专家并行规模 VPP8 # 虚拟流水线 MBS1 GBS1024 MOE_ARGS --num-experts 128 \ --moe-router-topk 8 \ --moe-ffn-hidden-size 1536 \ --moe-router-load-balancing-type aux_loss \ --norm-topk-prob \ --moe-grouped-gemm \ --moe-token-dispatcher-type alltoall_seq \ --moe-aux-loss-coeff 0.001 \ --moe-permutation-async-comm \ --moe-alltoall-overlap-comm \ --moe-layer-freq -1 \ --first-k-dense-replace -1 \ Qwen3-235B 关键 MoE 参数解读参数值作用--num-experts128每层专家总数--moe-router-topk8每个 token 激活的专家数激活参数约 22B 的来源--expert-model-parallel-size32128 个专家按 32 卡切分每卡持 4 个专家--moe-token-dispatcher-typealltoall_seq基于 AllToAll 的 Token 分发天然兼容 TP 组合扩展 EP--moe-grouped-gemm开分组 GEMM把多个专家的小矩阵乘合并成大 GEMM大幅提升 NPU 利用率--moe-aux-loss-coeff0.001负载均衡辅助损失系数防止 token 全部涌向少数专家--moe-permutation-async-comm/--moe-alltoall-overlap-comm开重排与 AllToAll 通信异步化、与计算重叠隐藏通信耗时--first-k-dense-replace-1不做前几层稠密替换Qwen3 全层都是 MoE 注意 Qwen3 脚本中TP1配EP32MindSpeed LLM 提供了TP 扩展 EP特性tp_extend_ep.pyalltoall_seq分发器下可将 TP 切分的专家权重重组为 EP 布局在不引入张量并行通信开销的前提下放大专家并行规模——这是 MoE 训练区别于稠密模型的重要技巧。三、DeepSeek-V3 671B512 卡 EP DualPipe 实战pretrain_deepseek3_671b_4k_A3_ptd.sh 是仓库中最重量级的脚本32 节点 × 16 NPU 512 卡TP2, PP8, EP32并叠加了 MTP、MLA 等 DeepSeek 特色能力。其 MoE 配置与 Qwen3 有明显差异MOE_ARGS --moe-grouped-gemm \ --moe-permutation-async-comm \ --moe-token-dispatcher-type alltoall \ --first-k-dense-replace 3 \ # 前 3 层为稠密 FFN --moe-layer-freq 1 \ --moe-shared-expert-intermediate-size 2048 \ # 共享专家 --num-experts 256 \ --moe-router-topk 8 \ --moe-ffn-hidden-size 2048 \ --moe-router-num-groups 8 \ --moe-router-group-topk 4 \ --moe-router-score-function sigmoid \ --moe-router-enable-expert-bias \ # 路由专家偏置辅助负载均衡 --seq-aux \ DUALPIPE_ARGS --moe-fb-overlap \ --schedules-method dualpipev \ # DualPipe 流水线调度 两个模型的并行策略对比配置项Qwen3-235B-A22BDeepSeek-V3 671B卡数25616 节点51232 节点TP / PP / EP1 / 4 / 322 / 8 / 32专家数 / topk128 / 8256 / 8共享专家Token 分发器alltoall_seqalltoall负载均衡aux_loss系数 0.001sigmoid 路由 expert bias seq-aux流水线VPP8DualPipedualpipev MoE forward-backward overlap特色TP 扩展 EPMLA MTP YARN 长上下文从对比可以总结出两条调参经验EP 规模 每层专家数能整除的卡数。两模型都取 EP32Qwen3 每卡 4 个专家DeepSeek 每卡 8 个专家 共享专家单卡显存压力可控路由负载均衡方案要跟着模型走。Qwen3 用经典的 aux_lossDeepSeek-V3 则用 sigmoid 打分 专家偏置expert bias的无 aux 方案直接复现原模型的 Router 行为保证训练一致性。四、底层实现Token 分发与专家计算是怎么做的MindSpeed LLM 的 MoE 执行链路大致为路由打分 → TopK 选择 → Token 重排Permutation→ AllToAll 跨卡分发 → 各卡专家 Grouped GEMM 计算 → 反向分发 → 还原顺序。相关实现分布在moe_layer.pyMoE 层主逻辑分发与聚合router.py路由器支持 softmax/sigmoid 打分与 aux-lossmoe_router.py、shared_expert.pyMoE 路由与共享专家的特性增强tp_extend_ep.pyTP 权重重组为 EP 布局的补丁注册。通信开销是 MoE 训练的性能瓶颈脚本中--moe-permutation-async-comm重排异步通信与--moe-alltoall-overlap-commAllToAll 通算重叠两个开关就是为此设计DeepSeek 脚本进一步用--moe-fb-overlap让 MoE 层的前反向通信与流水线 bubble 重叠。五、训练日志与工程化建议训练拉起后日志每步输出 loss 与学习率格式参考快速入门文档 quick_start.md。新手实操清单 ✅先改四件事脚本顶部的CKPT_LOAD_DIRHF 权重、DATA_PATH、TOKENIZER_PATH、CKPT_SAVE_DIR并行度按卡数反推TP × PP × EP × DP 总卡数MoE 模型优先保 EP再配 PP/VPP权重可直接用 HF 格式加载--enable-hf2mg-convert --model-type-hf qwen3-moe会自动转换省去手动转换步骤显存不足先加重计算两脚本均使用--recompute-granularity full --recompute-method block --recompute-num-layers 8可按需调大--recompute-num-layers。更多 MoE 优化特性GMM 分组 GEMM、重排通信优化等可在特性总览 features/README.md 中查阅Qwen3-30B-A3B 的小规模脚本 pretrain_qwen3_30b_a3b_4K_ptd.sh 适合先用少量卡跑通全流程再升级到 235B 的大规模配置。总结MindSpeed LLM 把 MoE 专家并行做成了改脚本变量即可用的完整方案Qwen3-235B 与 DeepSeek-V3 两条脚本覆盖了 MoE 训练的两大主流范式核心抓手是EP 规模选择 Token 分发器 通算重叠开关配合 Grouped GEMM 释放 NPU 算力借助 TP 扩展 EP、DualPipe 等特性数百卡规模下的 MoE 预训练也能获得稳定的线性加速。掌握这两份脚本的配置逻辑你就能举一反三地适配更多 MoE 架构的模型训练。【免费下载链接】MindSpeed-LLM昇腾LLM分布式训练框架项目地址: https://gitcode.com/Ascend/MindSpeed-LLM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考