关于 ALF 中 Bias 引起的 MoE 路由翻转的简要讨论

14 min read Page Views

问题

在 Auxiliary-Loss-Free(ALF)方法中,采用 $\operatorname{TopK}_{s+b}$ 来选择 expert。

correction bias $\mathbf{b}$ 的学习可以改善负载均衡。但是在后续的 gated output 中,仍然采用原始 score $s_i$ 来加权。这就会自然引入一个问题:是否会因为某个 expert 相对于其他 expert 的 bias 差 $b_i-b_j$ 很大,使一个原本 $s_i$ 很小的 expert i 被激活?换言之,明明模型计算出的 $s_i$ 认为 expert i 不应该被选入,它是否仍会由于负载均衡的要求而被选入?

TL;DR

  • 只要 $\mathbf{b}$ 在 expert 之间不完全相同,Top-K 就可能相对于 raw-score Top-K 发生翻转;是否频繁取决于 score gap 与 bias 差的联合分布。仅凭 ALF 机制本身,无法保证翻转概率的上界,也无法保证最大翻转程度 $b_i-b_j$ 的上界。
  • 在 Moonlight-16B-A3B 的真实文本激活样本中,普通翻转很常见:56.24% 的 token-layer 改变了 Top-K 集合;但接近零贡献($s_i\approx 0$)的事件很少,最后的加权输出中,占比小于 0.01 和 0.001 的 expert 比例分别为 0.1926% 和 0.00063%。
  • 这种换入的影响还有待评估,可能有危害,也可能完全没有危害。直觉上,低权重换入的 expert 自身贡献很小,主要对应潜在计算浪费;但它可能同时排除一个重要的高 raw-score expert,因此整次翻转对模型输出的影响不一定小。当前小规模实验没有显示严重的总体性能问题,但还不足以给出普适的质量结论。

对开源 checkpoint 的实际诊断

bias range 与翻转的确定性关系

先考虑普通 global Top-K。raw-score Top-K 集合记为 $R=\operatorname{TopK}_s$,实际集合记为 $A=\operatorname{TopK}_{s+b}$。假设 $e_{\mathrm{in}}$ 是被 bias 换入的 expert,即 $e_{\mathrm{in}}$ 属于 $A$ 但不属于 $R$;对应地,存在一个被换出的 expert $e_{\mathrm{out}}$,即 $e_{\mathrm{out}}$ 属于 $R$ 但不属于 $A$。由 Top-K 选择规则可得

$$ s_{\mathrm{in}}+b_{\mathrm{in}}\ge s_{\mathrm{out}}+b_{\mathrm{out}}. $$

因此

$$ s_{\mathrm{out}}-s_{\mathrm{in}} \le b_{\mathrm{in}}-b_{\mathrm{out}} \le b_{\max}-b_{\min}=B. $$

其中 $B=\operatorname{range}(b)$ 是层内有效 bias 范围。又因为 $e_{\mathrm{out}}$ 属于 raw-score Top-K,所以 $s_{\mathrm{out}}\ge s_{(K)}$,从而

$$ s_{\mathrm{in}}\ge s_{(K)}-B. $$

这是一个严格的 raw-score 损失上界,但它不能单独限制换入 expert 的 raw rank 或归一化 mixture weight,但是可以方便我们后续诊断分析实际的 checkpoint。主流模型使用 Sigmoid 产生 $s_i$,其值在 0 到 1 之间(DeepSeek作为ALF的开山鼻祖,在V4版本主动启用Sigmoid, 使用 $\sqrt{\operatorname{softplus}}$计算路由分数,因此其 $\Delta b$ 数值不宜与 Sigmoid 模型直接横比)。

checkpoint 中的 bias 有效范围

对每一个 learned-router 层 $\ell$,定义有效 bias 范围

$$ \Delta b_\ell=\max_i b_{\ell,i}-\min_i b_{\ell,i}. $$

下表直接从一些开源 checkpoint 的 router bias tensor 逐层计算并报告 $\Delta b_\ell$。

模型score 激活$N$$K$$\Delta b$ 中位数$\Delta b$ 最大值
Moonlight-16B-A3Bsigmoid6460.192260.24463
DeepSeek V3/R1 familysigmoid25680.045200.22078
GLM 4.5 Airsigmoid12880.186200.37493
GLM 4.7 Flashsigmoid6440.160910.26885
GLM 4.5/4.7sigmoid16080.263850.57069
GLM 4.6sigmoid16080.265460.57069
GLM 5/5.1/5.2sigmoid25680.320370.64270
Kimi K2sigmoid38480.275250.78318
Kimi K2.5sigmoid38480.331790.77349
Kimi K3sigmoid896160.341180.84703

表 1:checkpoint 静态审计:逐层 correction-bias 有效范围。

从中位数来看,$\Delta b$ 的值相对来说可以接受;但是 GLM 和 Kimi 的最大值仍然可能产生显著的换入换出效应。值得注意的是,DeepSeek V3 系列的 $\Delta b$ 最大值甚至小于 GLM 和 Kimi 的中位数,其中动力学成因倒是有待勘探。

翻转情况的统计

Moonlight-16B-A3B 具有 64 个 routed experts、Top-6 和 26 个 MoE 层。实验使用 32 条、16 个领域的真实文本进行完整模型前向,不使用随机 hidden state。本文将实际集合 $A=\operatorname{TopK}_{s+b}$ 中有、但 raw-score 集合 $R=\operatorname{TopK}_s$ 中没有的 expert,即 $A\setminus R$,称为 incoming expert(换入 expert)。相对于每个真实 hidden state 上的 global raw Top-6,得到如下总体统计:

指标实测值分母或解释
token-layer 数26,3121,012 tokens $\times$ 26 MoE 层
routed-expert dispatch 数157,87226,312 $\times$ Top-6
Top-K 集合改变14,798(56.24%)全部 token-layer
换入 expert 数19,654平均 0.747 个/token-layer
incoming raw rank $>32$817(4.16%)全部 19,654 个 incoming
score 损失 $\ge 0.1$338(1.72%)$s_{(K)}-s_i$,全部 incoming
mixture weight $<0.01$304(0.1926%)全部 dispatch;其中 303 个为 incoming
mixture weight $<0.001$1(0.00063%)全部 dispatch;该事件为 incoming

表 2:Moonlight 真实激活的总体翻转与低贡献事件统计。

只看“Top-K 是否改变”会把正常的边界重排序和真正低贡献的翻转混在一起。下面进一步报告换入 expert 的 raw score、raw rank、相对 raw Top-K 边界的 score 损失,以及实际 mixture weight 分布:

指标p01p05p50p95最大
incoming raw score0.00830.04140.14760.95640.9832
incoming raw rank7783064
$s_{(K)}-s_i$0.00040.00230.02370.08080.1899
incoming mixture weight0.00630.02170.06280.16560.1709
raw K/K+1 gap0.00020.00110.01980.10470.4415

表 3:Moonlight 换入 expert 与 raw Top-K 边界的分布统计。

低贡献事件并非均匀分布在所有层。第 3、5 和 26 层具有最高的 weight 小于 0.01 dispatch 比例:

Top-K 改变换入/tokenrank p95weight p01$w<0.01$
358.60%0.842390.001661.515%
553.95%0.754610.009520.3458%
2643.68%0.623530.002182.652%
全部层56.24%0.747300.006260.1926%

表 4:低贡献尾部最集中的 Moonlight 层。

因此,在当前 Moonlight 样本中,普通翻转是常态,但绝大多数换入 expert 仍具有正常的 mixture contribution;真正接近零贡献的事件是稀少且层集中的尾部。当然,该结论来自 Moonlight 16B-A3B 的真实激活,不能直接外推到更大的 DeepSeek-V3、Kimi K3、GLM-5。

不严谨的数学解释

为什么 ALF 本身没有无条件的概率保证,但在实际 checkpoint 诊断中又没有发现大量接近零贡献的翻转?下面给出两个不算特别严谨的直观解释,权作理解,不太能够深究。

$\mathbf{b}$ 的对称初始化和负反馈更新

$\mathbf{b}$ 的更新规则为:

$$ \mathbf{b}\leftarrow\mathbf{b}-\gamma\operatorname{sign}(\mathbf{F}-\mathbf{Q}). $$

其中 $\mathbf{F}$ 表示按全部 routed assignments 归一化后的实际负载分配,$\mathbf{Q}=(1/N,1/N,\ldots,1/N)$ 表示理想的负载分配。若 $F_i$ 定义为每个 token 选中 expert i 的概率,则相应目标应写成 $K/N$。

这里的 sign 起到了负反馈作用:一旦 $F_i>1/N$,就尝试减小 $b_i$;一旦 $F_i<1/N$,就尝试增加 $b_i$。$\mathbf{b}$ 通常从 $\mathbf{0}$ 对称初始化(在 ALF 的原始 paper 中明确提及)。虽然训练会打破这种对称性,但是从直觉上来看,负反馈机制仍能够在某种程度上避免 $\mathbf{b}$ 偏离对称状态太多。另外,DeepSeek 给出的 $\gamma$ 推荐参数是 $10^{-3}$,相比于 Sigmoid 0 到 1 的范围较小,也不至于突然偏离太狠。

考虑负载均衡的平衡条件

假设在 token 总体分布上达到了理想的边际负载均衡。令 $\tau(h)$ 表示 token $h$ 的第 $K$ 大 corrected score,则严格的平衡条件是

$$ \Pr\bigl(s_i(h)+b_i\ge\tau(h)\bigr)\approx\frac{K}{N}. $$

这里 $\tau(h)$ 依赖该 token 的全部 expert scores,并且与 $s_i(h)$ 相关,若进一步采用 mean-field 近似,假设 $\tau(h)$ 可以用近似常数 $\tau$ 代替,并忽略它与 $s_i$ 的相关性,则有

$$ \Pr(s_i\le\tau-b_i)\approx 1-\frac{K}{N}. $$

假设 $s_i$ 的分布函数是 $F_i$,我们有:

$$ F_i(\tau-b_i)\approx 1-\frac{K}{N}. $$

整理一下有:

$$ b_i\approx\tau-F_i^{-1}\left(1-\frac{K}{N}\right). $$

对于 DeepSeek-V3,$K=8,N=256$,所以 $1-K/N=0.96875\approx 0.97$,从而

$$ b_i\approx\tau-F_i^{-1}(0.97). $$

如果系统保持理想的负载均衡,可以猜想各个专家的分布函数差距不大,因此 $b_i$ 的差距也不会很大。

Open Questions

  • 如何想办法量化 ALF 方法下,这种 expert 换入换出的影响程度?真的有害吗?
  • 有没有最后 $\Delta b$ 差距不显著更加严谨的数学解释?
  • 如何解释不同厂商的模型 $\Delta b$ 范围的差异?这是因为数据、架构还是训练参数的设定?比如 Kimi 系列、GLM 系列和 DeepSeek 系列各自的 $\Delta b$ 范围相对接近,但是不同厂商的模型差距比较明显;另外,$\Delta b$ 看起来和模型尺寸正相关。
Last updated on 2026-08-22