MoE 混合专家

为什么 DeepSeek 有 671B 参数却跑得飞快?

MoE 稀疏激活 路由机制
阅读时间约 10 分钟
Chapter 01

Dense vs Sparse — 两种架构

传统的大语言模型是 Dense(稠密) 架构——每个 token 经过模型时,所有参数都参与计算。比如 Llama 70B,每次推理都要激活全部 700 亿参数。参数越多,计算越慢。

MoE(Mixture of Experts,混合专家)采用 Sparse(稀疏) 架构——模型虽然拥有海量参数,但每个 token 只激活其中一小部分。比如 DeepSeek V3 有 6710 亿参数,但每次推理只激活约 370 亿,仅占总量的 5.5%

// 互动演示:Dense vs MoE 神经元激活

观察两种架构在处理一个 token 时的神经元激活差异:

Dense 70B
100%
全部激活 · 速度较慢
MoE 671B
5.5%
稀疏激活 · 速度飞快

Dense 模型像全科医院——每个科室都要会诊。MoE 像专科转诊——只找相关专家。

Chapter 02

路由机制 — 谁来决定问哪个专家?

MoE 的核心是 Router(路由器),也叫 Gating Network(门控网络)。它是一个轻量级的小网络,作用是:给每个 token 打分,决定该 token 应该被分配给哪些专家处理。

最常见的路由策略是 Top-K 路由:路由器为所有专家计算得分,然后选择得分最高的 K 个专家(通常 K=2)。同时,为了防止所有 token 都涌向同一个专家,还需要 负载均衡(Load Balancing) 机制。

// 互动演示:路由器的专家选择

点击不同的 token,观察路由器如何为每个 token 选择不同的专家(Top-2):

路由器就像医院前台——看了你的症状,决定你应该去骨科还是内科。

Chapter 03

专家层的结构

在标准 Transformer 中,每一层由两部分组成:Attention(注意力)FFN(前馈网络)。MoE 并没有改变 Attention——它只替换了 FFN 层。

具体来说,MoE 把单个 FFN 替换为 N 个专家子网络(例如 64-256 个)。每个专家在结构上与原始 FFN 完全相同,只是各自拥有不同的学习权重。Attention 层仍然是共享的,所有 token 都经过同一个 Attention。

// 互动演示:Transformer 层对比

标准 Transformer 与 MoE Transformer 的结构差异:

Standard Transformer
Input Token
Attention
FFN
↑ 所有 token 共享同一个 FFN
Output
MoE Transformer
Input Token
Attention (shared)
Router
E1
E2
E3
E5
E4
E6
↑ 仅激活 Top-2 专家
Combine → Output

Attention 是全体员工的晨会,Expert 是各自工位的专项工作。

Chapter 04

内存悖论 — 为什么 MoE 没有看起来那么快

MoE 的计算量确实小了,但有一个关键问题:所有专家的权重都必须常驻内存,即使每次只用其中 2 个。

以 DeepSeek V3 为例:671B 参数需要 400GB+ 显存,但每个 token 只计算约 37B 参数的量。这就是 MoE 的"内存悖论"——计算成本低,但内存占用高。内存带宽成为真正的瓶颈:需要从巨大的内存池中读取路由表和被选中专家的权重。

AtomGradient 研究的 MoE 35B-A3B(35B 总参数,3B 激活参数)就是一个典型案例:它的内存占用是 35B 模型的水平,但计算量只有 3B。

// 互动演示:内存 vs 计算 对比

观察 Dense 与 MoE 在内存和计算上的差异:

Dense 9B 18 GB · 9B compute · 33.4 tok/s
18 GB memory
9B compute
MoE 35B-A3B 38 GB · 3B compute · 49.9 tok/s
38 GB memory
3B compute
内存占用 每 token 计算量

MoE 就像有 128 间办公室的公司——虽然只有 2 人同时工作,但你得租下整栋楼。

Chapter 05

真实世界的 MoE

MoE 已经从学术概念走向了真实产品。以下是三个标志性模型:

DeepSeek V3:671B 总参数 / 37B 激活,256 个专家 + Top-8 路由。性能对标 GPT-4,但训练成本仅为其零头。MoE 让 DeepSeek 以有限算力实现了超越量级的性能。

Qwen3.5-35B-A3B:35B 总参数 / 3B 激活,128 个专家 + Top-2 路由。轻量到可以在 MacBook 上运行——这在几年前是不可想象的。

Mixtral 8x7B:46.7B 总参数 / 12.9B 激活,8 个专家 + Top-2 路由。开源 MoE 的先驱,证明了 MoE 在开放生态中的可行性。

核心洞察:MoE 实现了 "训练大、运行小"——用海量参数学习知识,用少量参数高效推理。

// 互动演示:主流 MoE 模型对比

模型 总参数 激活参数 专家数 路由
DeepSeek V3 671B 37B 256 Top-8
Qwen3.5-35B-A3B 35B 3B 128 Top-2
Mixtral 8x7B 46.7B 12.9B 8 Top-2

激活参数占总参数比例:

DeepSeek V337B / 671B = 5.5%
5.5%
Qwen3.5-35B-A3B3B / 35B = 8.6%
8.6%
Mixtral 8x7B12.9B / 46.7B = 27.6%
27.6%

MoE 让你拥有博士团队的知识,但只付实习生的工资。

Chapter 06

总结

稀疏 > 密集

MoE 用稀疏激活取代全参数计算,以极小的计算代价获取大模型的能力。

🧭

路由选择专家

路由器为每个 token 动态选择最合适的专家,实现输入驱动的智能分工。

💾

内存 ≠ 计算

MoE 的内存占用取决于总参数量,但计算成本只与激活参数相关。两者不可混淆。

📱

端侧 MoE 已可行

Qwen 35B-A3B 等模型证明,MoE 可以在消费级硬件上高效运行。

MoE 的精髓:不是每个参数都需要为每个 token 工作——专业分工,各司其职。

了解推测解码如何加速 MoE →
下一篇:上下文窗口