MoE 的效率哲学:为什么稀疏能打败稠密
Dense 模型就像一本巨厚的百科全书——每回答一个问题都要从头翻到尾。MoE 像一个图书馆——有个聪明的管理员帮你只取最相关的两本书。这篇来理解为什么”按需取用”能打败”全部翻阅”。
核心效率论证:总参数 vs 活跃参数
让我们用 DeepSeek-V3 的数字来感受:
关键洞察:语言中的知识是高度模块化的。 处理 Python 代码不需要中文成语的权重,翻译法语不需要医学术语。Dense 模型把所有知识压进每一次计算——这是浪费。MoE 让不同 token 走不同路径,只调用相关的”知识模块”。
Expert 到底学了什么?
这是一个仍在争论的问题,但研究给出了有趣的答案:
不是“一个专精生物学,一个专精代码”这种高层领域分工。
也不是纯粹的”一个处理标点,一个处理名词”这种浅层词性分类。
真相在中间——expert 学到的是中间粒度的特征组合。比如某个 expert 可能对”包含数字的技术描述”特别擅长,另一个对”口语化的情感表达”更敏感。在多语言模型中,相关语言(法语和西班牙语)会共享一些 expert 激活模式——符合它们共有罗曼语根的直觉。
更好的比喻是大脑皮层的功能区:分工是训练中自发涌现的,边界模糊,但确实存在统计上显著的偏好。
Scaling 的不同规律
Dense 模型:参数翻倍 → 计算翻倍 → 质量按幂律提升。简单粗暴。
MoE 引入了新维度——expert 数量 E。关键发现:
增加 expert 数量的收益是对数递减的。 从 8 个到 16 个,收益显著。从 128 到 256,收益微乎其微。直觉:8 个 expert 时每个必须覆盖很广的领域,细分有价值。128 个时已经够细了,再细分(区分”法语诗歌”和”法语散文”的专门 expert)边际价值很低。
粒度存在最优点: 给定固定计算预算,expert 太大太少(8×7B)路由灵活性不足;expert 太小太多(2048 个 tiny)routing 噪声超过专业化收益。DeepSeek-V3 选了 256 个中等 expert 选 8——一个实践中的甜蜜点。
推理时的独特挑战
MoE 训练时效率优势明显,但推理时故事更复杂。
Prefill vs Decode 的尴尬
Prefill 阶段(处理输入 prompt):一次性处理大量 token,被分散路由到不同 expert → 负载相对均衡,Expert Parallelism 效率高。
Decode 阶段(逐 token 生成):每步只处理 1 个 token,这 1 个 token 只激活 2 个 expert → 其余 6 个 expert 的 GPU 完全空闲等待。
这就是 MoE decode 推理的核心低效:你需要把所有 expert 加载到 GPU 内存中(占空间),但每步只用极小一部分(低利用率)。
解决方案包括:expert offloading(不活跃的 expert 放到 CPU/SSD)、speculative expert loading(预测下一步需要哪些 expert 提前加载)、以及 Prefill-Decode 分离部署。
内存 vs 计算的矛盾
Mixtral 8×7B 有 47B 参数需要全部存储,但每次推理只用 ~13B。这意味着 GPU 内存利用率从”存储”角度看是低效的——70% 的显存存着”此刻用不到”的参数。
未来方向
Shared Expert(DeepSeek 的创新)
一些知识是所有 token 都需要的——基本语法、常见词义。没必要让每个 routed expert 冗余地都学一遍。
DeepSeek-V3 的方案:1 个共享 expert(所有 token 必经)+ 256 个路由 expert(选 8 个)。共享 expert 负责”公共知识”,路由 expert 专注各自领域。减少了冗余,提高了专业化。
Soft MoE(可微分路由)
传统 MoE 的 top-K 选择是离散的、不可微的——需要辅助 loss 来间接训练。Google 的 Soft MoE(2023)让每个 expert 接收所有 token 的加权组合,完全可微分,没有负载均衡问题。代价:失去严格稀疏性。
MoE for Attention
传统 MoE 只替换 FFN。新研究开始将 MoE 扩展到 attention 层——不是所有 token 都需要所有注意力模式。MoA(Mixture of Attention Heads)让每个 token 只选择一个 attention head 子集。
系列回顾
三篇文章走完了 MoE 的完整图景:
- 基本架构:Expert = FFN 副本,Router = 线性层 + softmax + top-k,实际数字
- 训练挑战:Expert Collapse、辅助损失、容量因子、三种不稳定性、Z-Loss、DeepSeek 的动态偏置、Expert Parallelism
- 效率哲学:为什么稀疏有效、expert 学了什么、scaling 规律、推理挑战、未来方向
核心认识:MoE 的根本洞察是”不是所有输入都需要所有参数”。 Dense 模型强制激活一切是计算上的浪费。MoE 通过条件计算,让模型”拥有很多知识”的同时”每次只思考一点点”——更接近人脑的工作方式。