8.1 MoE:万亿参数,百亿账单
一个诱人的问题
4.4 节的 Scaling Laws 说:参数越多,模型越强。但稠密模型有个死规矩——每个 token 都要动用全部参数。参数翻十倍,每个 token 的计算量也翻十倍,训练和推理的账单一起爆炸。
有没有办法让参数无限涨、计算量却不涨?
有。回想 3.5 节拆过的参数账本:Transformer 块里的前馈网络占了参数的大头。MoE 的主意就打在它头上——
把每层那一个前馈网络,换成一群「专家」(每个专家就是一个前馈网络)加一个「路由器」;每个 token 进来,路由器现场挑其中两位来处理,其余专家原地休息。
亲手当一次路由器看看:
多点几个 token,注意两件事:不同 token 会被派给不同的专家组合;无论派给谁,每次干活的都只有 2 位。底部的账本就是 MoE 的全部魔法:8 位专家各 7B、共享部分 3B,参数总量 59B——但每个 token 只激活 17B。知识容量按 59B 算,算力账单按 17B 付。
收益与代价
收益很直白:在几乎不增加计算量的前提下,把「脑容量」扩大几倍——语料里那些互不相干的知识(Python 语法、唐诗格律、法律条文)可以分散存进不同专家,不必挤在同一套参数里打架。
代价也很实在:
- 显存不打折:计算可以只用 2 位专家,但显存必须装下全部 8 位——MoE 省算力,不省显存(回想 4.5 节的显存账本,这又是一道要切分的难题)。
- 路由会偏心:训练中路由器容易「用熟不用生」——热门专家挤爆、冷门专家躺平退化。所以要额外加一个负载均衡损失,逼它雨露均沾(细节见深入层)。
从边缘到主流
MoE 思想很老(1991 年就有),但在大模型时代的走红路线很清晰:2023 年 Mixtral 8×7B 开源,公开验证了「MoE 能打」;2024 年 DeepSeek-V3 做到 671B 总参数、每 token 只激活 37B——比本节实验的账本夸张得多;坊间长期传闻 GPT-4 也是 MoE 架构(传闻,未获官方证实)。到 2025 年,旗舰级开源模型已有大半采用 MoE。
实验里的「路由」是用固定规则模拟的,真实路由器是一个训练出来的小网络。更重要的误区是「专家」这个词本身:真实 MoE 的专家分工是训练涌现的,研究者检查后发现它们大多按 token 的表层特征(标点、数字、语种)分流,而不是按「Python 专家」「唐诗专家」这样 的人类概念分工——别被名字骗了。
- MoE 把前馈网络换成「专家群 + 路由器」,每个 token 只激活 top-2 专家。
- 参数容量与计算成本解耦:知识按总参数算,账单按激活参数付。
- 显存不打折(全部专家都得在卡上),路由要靠负载均衡损失防止偏心。
- 专家分工是训练涌现的,大多不对应人类可读的概念。
延伸阅读
- Mixtral of Experts (2024)——公开、可复现的 MoE 里程碑,论文很好读。
- DeepSeek-V3 技术报告 (2024)——细粒度专家 + 共享专家的工业级实践。
- 下一节 8.2 长上下文:另一条军备竞赛——让模型一次读几本书。