首页/AI/大模型部署与运维速查/专家并行:MoE 的额外切法

专家并行:MoE 的额外切法

MoE 模型可用专家并行把不同专家分布到不同卡:降低单卡权重驻留,与 TP 组合使用;vLLM 提供 expert parallel 开关,支持范围以版本文档为准。

专家并行解决 MoE 的什么问题

混合专家模型(MoE)的每层有多组专家网络,单次前向只激活其中少数几组。这意味着权重总量很大但单步计算量相对小,显存里要装下全部专家,算力却只用到一部分。专家并行把不同专家分布到不同卡上,降低单卡的权重驻留,和按层切分的张量并行组合使用。代价是路由带来的跨卡通信,网络要求与纯张量并行不同。

基本信息

适用模型具备专家结构的混合专家模型
并行维度与张量并行组合,不是替代关系
启用方式推理引擎提供的专家并行开关,参数名以版本文档为准
通信特征专家路由产生多对多的跨卡流量
前置条件卡间互联带宽足够,且模型结构确实包含专家层

典型使用场景

  • 单卡装不下全部专家:模型权重总量超过单卡容量,需要把专家分散到多卡
  • 提高硬件利用率:激活专家少时,分布到多卡可减少单卡闲置
  • 大并发服务:专家分片后更容易扩展总吞吐
  • 混合并行规划:在小规模集群上组合张量与专家并行,兼顾显存与通信
  • 成本评估:对比纯张量并行方案,判断哪种切分方式的单位成本更低

启用示意

启用示意
vllm serve <moe 模型路径> \
  --tensor-parallel-size 8 \
  --enable-expert-parallel          # 参数名与支持矩阵以版本文档为准

# 启动后核对:日志中确认专家分布生效,而非仅忽略该参数
grep -iE 'expert|parallel' <服务日志> | head

# 压测对比:同一模型分别用纯张量并行与组合并行跑,记录吞吐与延迟

切分方式对比

方式切分对象主要代价
张量并行每层权重矩阵每步都有通信,对带宽要求高
专家并行不同专家的归属路由导致的多对多通信
张量加专家两者组合两种通信叠加,调度更复杂
单卡承载不切分显存不足或利用率低
路由带来多对多的跨卡流量:网络评估要把这部分与张量并行的通信一起算,只看单卡的带宽指标会低估实际需求。
专家负载不均衡是常见现象:请求内容集中时少数专家被反复调用,可能出现单卡繁忙而其他卡空闲,压测要覆盖不同输入类型。

易错点

  • 对非 MoE 模型开启:没有专家可切分,行为与预期不符,先确认模型结构
  • 只按总权重估算显存:专家分片后每卡还要留出路由与缓存开销,实际占用高于简单均分结果
  • 忽略负载不均衡:某些输入长期命中同一批专家,扩容后依然出现单卡瓶颈
  • 把专家并行当张量并行的替代:两者解决的对象不同,缺少张量并行时单层权重的显存压力仍在

数据来源与参考

  • vLLM 官方文档:MoE 与并行(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌