TL;DR
- 稠密模型(Dense) 对每个词元激活全部参数。简单、可预测,但计算和内存呈线性扩展。
- 混合专家模型(MoE) 对每个词元仅激活部分参数。以更低的活跃计算量实现巨大的总参数量,但伴随内存、通信和训练稳定性的权衡。
- 经验法则:一个 8 路稀疏模型的推理成本,约等于总参数量一半的稠密模型——既不是它的活跃参数量,也不是完整总参数量。
- 如何选择:小批量、内存受限的服务和纯推理任务选稠密模型;大批量、计算受限的工作负载和知识密集型应用选 MoE。
每个基础设施团队都在面临的问题
如果你在 2026 年构建 AI 基础设施,你很可能和我一样,盯着采购电子表格问过同一个问题:我们应该部署稠密模型还是 MoE?
答案不在模型卡片里。它在你的工作负载里。稠密模型和 MoE 架构解决的是同一个问题——预测下一个词元——但它们对瓶颈位置的假设截然不同。理解这些假设,才是区分一个优雅扩展的系统与一个被自身参数量压垮的系统关键所在。
让我们拆解这些架构的实际工作原理、成本藏在哪里,以及前沿实验室如何驾驭这些权衡。
稠密模型如何工作
在标准的稠密 Transformer 中——比如 Llama、GPT-3 或 Qwen2.5——每一层都包含一个前馈网络(FFN)。当一个词元经过该层时,FFN 中的每一个权重都会被读取、相乘和更新。没有条件逻辑。如果模型有 700 亿参数,全部 700 亿参数都会参与每一次前向传播。
计算是残酷但简单的:
Compute(FLOPs) ∝ Total Parameters
Memory(VRAM) ∝ Total Parameters
这种线性关系让稠密模型具有可预测性。70 亿参数的模型可以塞入一块 GPU。700 亿参数的模型需要八块。你付费获得的容量就是你实际使用的容量。没有隐藏的路由开销,没有全对全通信瓶颈,也没有因门控初始化不当导致半数专家退化为死重。
但这种线性也是陷阱。如果你想要 10 倍的知识容量,你需要 10 倍的每词元计算量。天下没有免费的午餐——除非改变架构。
混合专家模型如何改变等式
MoE 层用一组独立的“专家”网络和一个小型路由器(门控网络)取代了单一 FFN。对于每个词元,路由器计算每个专家的分数,选出 Top-K,只有这 K 个专家处理该词元。其余休眠。
MoE 层的解剖结构
以 Mixtral 8x7B 作为经典范例。在每一层 Transformer 中,标准 FFN 被替换为:
- 8 个专家网络,每个都是独立的 SwiGLU FFN
- 一个线性路由器,将词元的隐藏状态投影为 8 个分数
- Top-2 掩码,在 Softmax 前将其余分数置零
- 两个被选中专家输出的加权和
该模型总共存储 467 亿参数。但每个词元仅有约 130 亿参数被激活。计算成本大致相当于一个 130 亿参数的稠密模型。然而内存成本却是 470 亿参数模型的水平——因为所有专家都必须驻留在显存中,等待被调用。
这解耦了总容量和活跃计算量。它相当于养着一个专家库作为顾问团,但只为实际咨询的两个人付账。
路由机制详解
以下是门控如何为每个词元做决策:
router_logits = x · W_g # x ∈ R^4096, W_g ∈ R^(4096×8)
masked = TopK(router_logits, k=2) # 硬掩码:恰好 2 个专家存活
g = Softmax(masked) # 归一化权重和为 1
output = Σ_{i ∈ TopK} g_i · Expert_i(x)
Softmax 之前的硬掩码是关键。如果先 Softmax,每个专家都会分到一些权重,你就会失去计算节省。通过先掩码到负无穷,你强制实现真正的稀疏性:恰好两个专家激活,其余在 FLOPs 上成本为零。
现实世界中的架构:前沿实验室如何构建 MoE
MoE 不是单一设计。它是一个设计家族,而领先的实验室在实现方式上已显著分化。
| 模型 | 总参数量 | 活跃参数量 | 专家数 | 活跃 (Top-K) | 共享专家 |
|---|---|---|---|---|---|
| Mixtral 8x7B | 47B | 13B | 8 | 2 | 否 |
| Mixtral 8x22B | 141B | 39B | 8 | 2 | 否 |
| DeepSeek-V3 | 671B | 37B | 256 + 1 | 8 | 是 |
| Qwen3-235B | 235B | 22B | 128 + 1 | 8 | 是 |
| GPT-4(推测) | ~1.76T | ~220-440B | 8 | 2 | 否 |
DeepSeekMoE:当前最先进技术
DeepSeek 的架构可以说是公开文档中最复杂的 MoE 设计。它在标准 MoE 之上引入了两项关键创新:
细粒度专家切分:DeepSeek-V3 没有使用 8 个大型专家,而是使用 256 个小专家。每个专家很小,但组合空间爆炸式增长。从 256 个中激活 8 个,有 C(256,8) ≈ 43 亿种可能组合——相比之下 Mixtral 的 C(8,2) = 28 种。这让路由器能够为每个词元定位更精准的知识。
共享专家隔离:有一个专家始终处于激活状态,不受路由影响。它吸收通用知识——语法、句法、基本事实——从而让 256 个路由专家可以专注于互不重叠的细分领域。没有这一步,每个专家都会冗余地学习相同的“简单”知识。
结果如何?DeepSeek-V3 仅用 6710 亿总参数中的 370 亿活跃参数就达到了前沿性能——稀疏度约 5.5%。DeepSeek-V4-Pro 更进一步:1.6T 总参数,490 亿活跃参数,稀疏度约 3.1%。
训练稳定性问题
MoE 不会自己训练自己。路由器是连续优化景观中的一个离散开关,如果没有干预,反馈回路会让几乎所有词元坍缩到一两个“明星”专家身上,而其余专家萎缩。
经典解决方案是辅助负载均衡损失:
loss_bal = α · N · Σ_i (f_i · P_i)
其中 f_i 是实际发送给专家 i 的词元比例,P_i 是专家 i 的平均路由概率。这会惩罚不平衡。DeepSeek 后来用无辅助损失的负载均衡取代了它:为每个专家设置动态偏置项,将路由器推向欠载专家,同时不干扰任务梯度。这本质上是一种原始-对偶优化,也是 DeepSeek 能在极端规模下稳定训练的原因之一。
推理经济学:神话破灭之处
大多数比较在这里出错。人们说“Mixtral 8x7B 有 130 亿活跃参数,所以它跑得像个 130 亿的模型。”并不是。他们又说“它有 470 亿参数,所以它成本像个 470 亿的模型。”也不是。
真相取决于所处阶段,且数学是微妙的。
稠密等效公式
Epoch AI 提出了一种将 MoE 推理成本映射到稠密等效大小的启发式方法:
Dense Equivalent ≈ Total Params / (Experts^0.44 / Active_Experts^0.63)
应用此公式:
- Mixtral 8x22B(141B 总参数,8 个专家,2 个活跃)→ 在快速短上下文解码中表现得像 ~900 亿参数的稠密模型
- GPT-4(~1.76T 总参数,8 个专家,2 个活跃)→ 混合推理成本更接近 ~9500 亿参数的稠密等效模型
预填充 vs. 解码:两个不同的世界
预填充和大批量(批量大小 32+):工作负载受计算限制。MoE 大放异彩。你在做矩阵乘法,而 MoE 做得更少,因为大多数专家处于空闲状态。DeepSeek-V3 的 370 亿活跃参数在这里真的起作用。
快速解码和小批量(批量大小 1-4):工作负载受内存带宽限制。GPU 花更多时间读取权重而非计算。MoE 的 FLOPs 优势消失了,因为所有参数仍须驻留在内存中并被读取。路由器增加开销。GPU 之间为汇聚专家输出的全对全通信增加延迟。在此阶段,拥有相同活跃参数数量的稠密模型通常更便宜。
内存是隐性税
稠密 700 亿 FP16:~140 GB 显存。 Mixtral 8x7B(470 亿总参数,130 亿活跃):~94 GB 显存。
你节省了计算,但节省的内存没有活跃参数量暗示的那么多。全部 470 亿参数必须驻留。如果你在边缘设备或单 GPU 上部署,MoE 的内存占用是真实约束。
优缺点:系统视角
稠密模型
优势:
- 可预测的成本。每个词元成本相同。没有路由意外,没有专家崩溃。
- 相同活跃质量下更低的内存占用。130 亿参数的稠密模型可以部署在 470 亿参数 MoE 塞不下的地方。
- 更好的推理能力。在相同总参数量下,稠密模型在数学、逻辑和代码基准上优于 MoE。推理能力随活跃宽度扩展,而非总参数量。
- 更简单的训练和微调。没有负载均衡损失,没有路由器抖动,没有微调期间的“专家漂移”风险。
劣势:
- 线性计算扩展。翻倍知识量需要翻倍活跃 FLOPs。
- 低效的记忆力。要匹配 MoE 的世界知识容量,稠密模型必须按比例扩展活跃大小,计算浪费。
- 多语义神经元。稠密模型中的单个神经元经常编码多个无关特征,可解释性更难。
混合专家模型
优势:
- 巨大的参数扩展而不成比例增加计算。DeepSeek-V3 以约 370 亿活跃参数的成本访问 6710 亿参数。
- 卓越的 memorization 和知识检索。MoE 在相同训练成本下主宰 trivia、自然问题和多语言基准。
- 潜在的可解释性。新兴证据表明专家会组织成连贯的、专业化的表征——“单语义性”——而非稠密网络的混乱多语义性。
- 更高的训练效率。根据联合扩展定律,配置良好的 MoE 可以通过在更多词元上训练,超越相同内存占用下的稠密模型。
劣势:
- 相同总大小下推理能力较差。除非活跃参数量具有竞争力,否则 MoE 在数学和逻辑上落后于稠密模型。
- 训练不稳定性。稀疏梯度、路由器崩溃和负载均衡是持续的工程挑战。
- 更高的内存和通信开销。所有参数必须驻留。多 GPU 全对全通信可能消耗约 32% 的墙钟训练时间。
- 微调脆弱性。领域自适应期间的路由器漂移如果不加管控会降低性能。
何时选择什么
如果你要为你的技术栈做这个决策,以下是我的决策框架:
| 因素 | 选择稠密 | 选择 MoE |
|---|---|---|
| 显存约束 | 单 GPU 或边缘部署 | 多 GPU 集群,内存充裕 |
| 批量大小 / 吞吐量 | 小批量、交互式服务(内存受限) | 大批量、服务端服务(计算受限) |
| 任务类型 | 数学、代码、逻辑——重推理 | trivia、多语言、检索——重知识 |
| 从头训练 | 直接、稳定 | 需要路由和负载均衡方面的专业知识 |
| 模型规模 | 活跃参数 ~70 亿以下 | 数百亿以上,稀疏度才见效 |
| 微调稳定性 | 可预测、鲁棒 | 需要防止路由器漂移的护栏 |
最重要的洞察:MoE 并非 universally 更便宜。 它在每词元 FLOPs 上更便宜,但 FLOPs 不是你唯一支付的账单。内存带宽、GPU 间通信和工程复杂性都随总参数量扩展。如果你的服务堆栈受内存限制——大多数实时 API 都是如此——那么拥有竞争性活跃参数数量的稠密模型通常在总体拥有成本上胜出。
中间道路:稠密训练,稀疏推理
2024-2025 年最有趣的发展之一是 DS-MoE 范式:训练时所有专家激活(稠密式梯度流向每个专家),推理时切换到稀疏 Top-K。这给了训练期间稠密质量梯度——没有稀疏梯度问题——同时保留了服务时的 MoE 计算节省。以这种方式训练的模型在相同总参数量下匹配稠密性能,推理速度比稠密或标准稀疏 MoE 快 1.5–1.9 倍。
类似地,升级回收(Upcycling)——将预训练稠密检查点转换为 MoE,通过将其 FFN 权重拆分为专家分片——已成为一条实用的迁移路径。NVIDIA 的 Nemotron-4 150 亿参数模型升级回收为 MoE 后,在相同词元预算下超越了持续稠密训练(MMLU 67.6% vs 65.3%)。如果你已经有一个信任的稠密模型,升级回收可能是比从头训练 MoE 更低风险的选择。
底线
稠密 vs. MoE 的争论不是宗教战争。它是工程权衡,正确答案取决于你被哪种资源限制。
如果你受计算限制——在超大规模训练或大批量服务——MoE 是诱人的。它让你以实际支付的 FLOPs 许多倍的成本获得知识容量。
如果你受内存限制或对延迟敏感——边缘部署、小批量 API 或单 GPU 推理——稠密模型仍然更简单、更可预测、通常更具成本效益。
前沿实验室并非二选一。他们将 MoE 用作万亿参数系统的脚手架,同时用稠密子模块精炼关键推理路径。下一代模型很可能是混合体——不是纯稀疏,也不是纯稠密,而是能在两者之间智能路由的架构。
作为系统架构师,你的工作是知道你的瓶颈在哪里。因为在 AI 基础设施中,你选择的架构不仅仅是模型决策。它是资本配置决策。
参考文献
- Mixtral of Experts — Mistral AI
- Epoch AI — MoE vs Dense Models in Inference
- DeepSeekMoE: Towards Ultimate Expert Specialization
- DeepSeek-V3 Technical Report
- Switch Transformers: Scaling to Trillion Parameter Models
- Dense Training, Sparse Inference (DS-MoE)
- Upcycling Large Language Models into Mixture of Experts
- Joint MoE Scaling Laws
- MoE Architecture Comparison: GPT, Claude, DeepSeek, Qwen