🏠 总目录📚 本教程 专题 D · MoE:怎样扩容 ← →
📑 本页目录(点开跳转)

专题 D · MoE:怎样把模型做大而不每次全开

⏱ 10 分钟 | 可选专题


🎯 一句话

MoE(混合专家)把一个很大的 FFN 换成很多“专家”FFN。每个 token 不必经过全部专家,只由路由器挑少数几个处理:总容量可以很大,单次计算却不用等比例变贵。

一个 token路由器选 top-2专家 1 ✓专家 2专家 3专家 4专家 5 ✓专家 6
绿色是本次被选中的专家。虚线说明其余专家仍存在,但这个 token 不经过它们。

它真正省了什么,又没省什么

MoE 省的是一次前向计算:每个 token 只激活少数专家。它不一定省显存,因为所有专家的参数仍要放得下;多卡时还会有 token 在设备间搬运的通信成本。

所以看到“总参数 200B、激活参数 20B”时,读法是:每次计算大约只用 20B 的路径,但部署并不等于只需存 20B 的权重。

为什么常替换 FFN,不替换注意力

FFN 本来就是每个 token 独立计算的部分,最适合让不同 token 去不同专家。注意力需要 token 彼此看见,强行拆开会破坏它最重要的交流功能,也更难实现。

一个必须知道的代价:别让专家闲着或挤爆

路由器如果总把 token 送给同一两个专家,其他专家学不到东西,热门专家还会拥堵。这叫负载不均衡。训练 MoE 必须额外鼓励路由更均匀;因此它不是“白捡的大模型”。

✅ 检查点

点开核对

MoE 让路由器每次选少数 FFN 专家,所以一次计算更省;但所有专家仍要存下,且必须避免流量都挤到同几位专家。

🔗 想再深一层,去哪一套

去哪 为什么
AI 基础设施 14 · 并行策略怎么组合 ⭐ 「别让专家闲着或挤爆」在集群上的正题:MoE 要加专家并行,走的是 All2All 而不是 AllReduce,最头疼的正是负载不均
AI 基础设施 09 · 显存优化全家桶 「所有柜台仍得在场」意味着显存照吃 —— 那一章是省显存的完整清单
专题 B · SwiGLU:筛选信息 两个专题动的是同一层:SwiGLU 改 FFN 内部,MoE 改「一次启用几个 FFN」

🛑 可以停在这里

如果你只是使用模型,知道“MoE 容量大但每次只开一部分”即可。top-k、辅助损失、共享专家属于训练与系统专题。

⚡ 走神救援

MoE 像一组专家柜台:每个 token 只被分配到少数柜台,因此一次处理不必启用整组人;但所有柜台仍得在场,也得避免只挤爆几个柜台。

👉 06-推理优化.md

打卡记录保存在你的浏览器里,首页能看到总进度