跳到主内容

MoE 的共享专家是干嘛的?全场待命的值班主任

2026-10-18 发布 来源:我告诉你AI导航 阅读

大模型把参数堆到一定程度,全网络一起激活的代价就高得烫手,MoE 架构的解法是把网络拆成一堆专家,每次只叫醒几个。而在这一堆专家里有个不轮班的角色——共享专家,每个 token 进来它都在岗,活像个全场待命的值班主任。

大模型把参数堆到一定程度,全网络一起激活的代价就高得烫手,MoE 架构的解法是把网络拆成一堆专家,每次只叫醒几个。而在这一堆专家里有个不轮班的角色——共享专家,每个 token 进来它都在岗,活像个全场待命的值班主任。

一次前向传播里,它做了什么

一条消息进入模型后,token 的表示会依次流过若干 MoE 层。每层里路由器先给候选专家打分,挑出分数靠前的几个路由专家参与本轮计算,其余专家保持沉默。共享专家没有这道筛选,无论路由结果如何,它的权重都会被完整算一遍。进来的是同一个 token 表示,发生的是「路由专家按需分工加共享专家全程在场」,出去的是两者输出的合并结果。DeepSeek、Kimi 这类采用 MoE 结构的产品,正是靠这套分工在总参数很大的前提下把单次计算量按住。

两类专家在同一层里的分工,逐项对照更清楚。

对照项共享专家路由专家
激活条件不设门禁,每个 token 都完整算一遍路由器先打分,只挑分数靠前的几个
负责的能力通用成分:主谓结构、常见搭配、数字与标点的节奏数据里被反复强化的专门模式
训练里怎么配合学兜底,恒定输出稳定的上下文加工结果学挑人,把容量让给更专门的分工
单 token 开销恒定,不随路由结果变化只由被点名的几个决定
失效风险占比过高会把省下的算力吃回去路由打偏时谁都没接住,token 表示丢了底盘

为什么需要一个值班的

路由专家各管一摊,学的是数据里被反复强化的专门模式,可一个句子再专,也少不了通用成分:主谓结构、常见搭配、数字与标点的节奏。这些通用成分如果也交给路由专家去抢,容易出现两种浪费:要么多个专家重复学同一种通识,互相踩脚;要么碰上路由打偏,谁都没接住,token 表示在层间传递时丢了底盘。

共享专家就是来兜这块底盘的。它把通用能力固定在自己身上,恒定输出一份稳定的上下文加工结果,路由专家于是可以把容量让给更专门的分工。训练时两边联合优化,路由器学会挑人,共享专家学会兜底,损失函数同时约束双方,谁也躲不了谁。

值班班主任的比喻,用到哪就停

把 MoE 层想象成一个年级:路由专家是各科任课老师,难题来了分给对应老师;共享专家是值班班主任,谁的事都搭把手。这个比喻能解释「为什么它对每个 token 都激活」,也能解释「为什么总参数大、单 token 开销却可控」——班主任天天在,任课老师只在自己被点名时才出力。

比喻到这里要收回来。回到机制本身,值班班主任既不负责给答案打分,也不决定谁上课:共享专家只是一个不设门禁的专家子网,它的输出按固定方式和路由专家的输出合并,训练时无法被绕过,推理时开销恒定。它的存在让容量扩张可以靠加专家数量实现,而非把每个专家都做厚。

共享专家速查表

  • 共享专家:每个 token 必激活,负责通用能力兜底
  • 路由专家:按打分选择性激活,负责专门分工
  • 总参数可以很大,单 token 计算量只由激活者决定
  • 共享专家占比过高会吃掉省下的算力,配比以官方技术报告为准

它给选型留下什么判断

看到某款模型启用共享专家,可以判断两件事:一是它的容量扩张更多依靠专家数量堆叠;二是通用问答、写作、摘要这类任务的稳定性,往往更依赖共享专家兜底,而非某个路由专家的灵光一闪。理解这一层,再看稠密模型和 MoE 怎么选、一条消息的完整旅程,就知道算力具体花在哪一段,也能解释为什么 MoE 模型的参数规模数字听起来吓人,实际推理开销并不与之成正比。

关于共享专家的三个常问问题

  • 共享专家和路由专家是分开训练的吗?:它们在同一个模型里联合训练,损失函数同时约束两边,只是激活方式不同——一个恒定在岗,一个按点名上场。
  • 共享专家数量越多越好吗?:它恒定参与计算,加太多会把 MoE 省下的算力又吃回去,具体配比与分几层共享,以官方技术报告为准。
  • 没有共享专家的 MoE 就不工作吗?:照样工作,有的架构靠路由约束和负载均衡达到类似效果,可以对照剪枝是怎么决定剪谁的理解另一类取舍思路。

一句话收束:共享专家是 MoE 里的固定岗,通用能力它兜着,专门分工别人干,各就其位,模型才敢把参数规模往上堆而不被推理成本拖垮。

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]