模型架构 进阶

Dense 与 Sparse 模型

别名:Dense Model / Sparse Model / 稠密模型 / 稀疏模型

每个 token 都经过全部参数(Dense),还是只激活少数专家(Sparse/MoE)的两种参数使用方式。

更新于 2026/11/08
架构稀疏激活MoE

一句话定义

Dense 模型对每个 token 都使用全部参数;Sparse 模型(常见实现是 MoE)只激活少数专家,用更大的总参数换更低的单 token 计算。Dense 的显存和计算随参数量同步增长;Sparse 把两者解耦。

为什么需要区分

继续堆参数能提升容量,但 Dense 模型每增加一份参数,每个 token 的计算也增加。Sparse 把“总参数”和“激活参数”拆开:总参数可以很大,单次前向只算 top-k 个专家。

怎么工作

  • Dense:每个 token 都经过同一个 FFN,激活参数 = 总参数。
  • Sparse / MoE:Router 为每个 token 选 top-k 个专家,只计算被选中的专家,再按权重求和。
  • 总参数包含所有专家;激活参数只算本次用到的专家和共享层。

Dense 与 Sparse:参数怎么被激活

关键取舍

  • Dense 简单、延迟稳定、工程成熟;Sparse 容量大,但需要路由、负载均衡和专家通信。
  • 显存看总参数,计算看激活参数;两者不能混为一谈。
  • Sparse 的质量依赖 Router 和专家训练;路由塌缩会浪费容量。
  • Sparse 的收益取决于 batch、序列长度和专家并行效率。
  • 单机小模型通常不值得引入 Sparse 的复杂度。

常见误区

  • Sparse 不是“更小的模型”:总参数可能更大。
  • 宣传的参数量通常是总参数,不是单 token 激活参数。
  • Dense 没有过时:低延迟、简单部署场景仍然常用。

用在哪里

  • Dense:中小模型、低延迟、部署简单的场景。
  • Sparse:超大模型、多专家分工、显存和互联带宽充足的集群。
  • 选型时同时看总参数、激活参数、吞吐和延迟。

相关概念

  • MoE:Sparse 的典型实现。
  • Router:决定 token 走哪些专家。
  • FFN:Dense 和专家网络共同的基础结构。