MoE 是什么?为什么 671B 的大模型,每次只动用 37B 参数(2026入门)

先从一个纠结的晚上说起

上个月我清理硬盘,清出四百多 G。对着这块空出来的地方我犹豫了两天:要不要把 DeepSeek-V3 的权重下下来过过瘾。671B 参数的模型,光文件就要占掉小半块盘。

最后没下成。不是下载慢,是我想到自己那块 12G 的显卡,就算下完也只能看文件管理器里的一排分卷压缩包。

但后来我在一篇讲量化的文章评论区看到,有人说这种体量的模型,用多张卡跑起来速度并不慢。我第一反应是吹牛。去翻了论文才知道,人家说的是实话,而我漏了一个关键设定。

这个词叫 MoE,混合专家模型(Mixture of Experts)。这两年叫得上名字的开源大模型,很多都换成了这个结构。它解释了为什么 671B 的模型只「动用」 37B 参数,也解释了为什么你买的 API 能便宜到那个价。

这篇就把它讲明白。不推导公式,我的线代也早就还给老师了。

稠密模型:全员打卡上班

先说常见的模型长什么样。

GPT 这类模型的底子是 Transformer,里面一层层叠着很多模块。传统结构里,每来一个 token(可以理解成文字的碎片),每一层的每个模块都要参与计算。参数越多,每一步计算就越重。这种叫稠密模型(dense):人多力量大,代价是所有人都得打卡上班,一个都不能闲着。

MoE 把这件事改了。它把每层里负责干活的前馈网络复制成好几份,每份叫一个专家。token 进来时,一个叫路由器(router)的小网络先看一眼内容,然后只挑出少数几个专家处理它,其他的这轮歇着。

所以参数量和使用量,从此是两回事。

三个真实例子

数字都是官方论文和配置文件里能查到的。

Mistral 家的 Mixtral 8x7B,2024 年 1 月开源。每一层有 8 个专家,每个 token 挑 2 个。论文原话是:每个 token 能接触到 47B 参数,但推理时只动用 13B。名头上是 47B 的模型,真正干活的只有 13B。

DeepSeek-V3,671B 总参数,每个 token 只激活 37B,出自它的技术报告。六百多 B 的容量,三十七 B 的计算量,这是它 API 敢定低价的底气之一。

Qwen3 系列里的 30B-A3B,名字本身就写明了结构:总参数 30B,激活 3B。我翻过它在 Hugging Face 上的配置文件,一共 128 个专家,每个 token 选 8 个。命名里的 A 就是 Active。以后看到 A22B、A3B 这种后缀,直接理解成「每次真正上班的参数量」。

省的是计算,不是显存

这里有个我自己也搞混过的点。

MoE 省的是计算量,不省显存。因为路由器每次挑的专家不一样,理论上任何一个专家都可能被叫到,所以全部专家的权重都得完整装进显存,一个都不能少。省下来的是每步的计算:稠密模型每个 token 要把所有参数过一遍,MoE 只过一小部分。计算少了,生成速度就快,训练时烧的电也少。

这也顺带回答了另一个问题:为什么不直接做一个 671B 的稠密模型?不是没人想做,是做不起。稠密模型的参数翻倍,训练和推理的算力跟着翻倍。MoE 相当于把模型容量和单次计算量拆开卖:容量决定上限,计算量决定你的钱包。DeepSeek-V3 整个训练用了 278 万多 GPU 小时,在 671B 这个体量里算很克制的,官方在报告里自己也把这当卖点。

话说回来,我那四百多 G 的空间最后也白清了。V3 完整版对我这种单卡玩家还是太奢侈,我只能在别人的跑分帖里云一下。

我自己跑过的体感

真正下过的是 Qwen3-30B-A3B 的量化版。同样是 30B 上下,它比 32B 的稠密模型明显流畅,长回答尤其明显,毕竟每步只算 3B 的量。当然显存一点没省,该占多少占多少。

如果你也想试试,一张 24G 显存的卡就能装下它的 4bit 量化版。放在前两年,想在本地跑 30B 级别的模型,这是想都不敢想的配置。

普通人能拿到什么实惠

最直接的是 API 价格。你常用的国产模型里不少是 MoE 结构,激活参数少,服务商才有底气把价格压下来。这个红利你被动领就行,什么都不用做。

其次是本地部署。想在自家机器上跑个大点的模型,名字里带 A 的 MoE 型号值得优先看:容量给的是聪明程度,激活量决定跑多快、吃多少电。

还有就是挑模型的时候心里有数。看到 235B-A22B 和 30B-A3B,你大概就知道前一个容量大得多、显存门槛也高得多。配置写在名字里,不用每回都去翻评测。至于哪些任务值得为更大的容量掏钱,可以看我之前写的推理模型那篇。

写在最后

MoE 这个思路上世纪就有人提,真正成为主流,是这几年大模型训练成本炸了之后的事。理解它,说到底就是一句话:大模型的参数量是库房,每次真正出门干活的只是其中一部分。

下次再看到 671B 别被吓到。先找找那个 A 开头的数字,那才是它干活时的真实体格。

准备动手的话,可以先看我之前写的两篇:Ollama 本地部署教程和GGUF 量化科普,装环境和挑量化版本都能用上。

发表评论