日前,千问团队发布论文《ID Balancing: Stable Training of Extremely Sparse MoE via PID-Based Load Control》,刘大恒一署名。

论文提出了一种名为 ID Balancing 的专家负载控制方法,并从控制理论的角度,重新解释了 DeepSeek 的 Loss-Free Balancing 和 Kimi K3 的 Quantile Balancing。
MoE的基本思路是,把一个大模型拆成大量“专家”。每个token并不需要激活所有专家,而是通过Router从中选择Top-K个专家进行计算。
例如,一个模型可以拥有数百个专家,但每个 token只激活其中几个。这样,总参数规模可以大幅增加,而单个token的计算量并不按总参数同比增加。
但问题也随之出现。
专家越多、每个 token 激活的专家比例越低,Router 就越容易出现“有的专家挤爆了、有的专家没人用”的情况。
千问团队在实验中直接观察到了这种现象:在 768 个专家中只激活 Top-3 时,模型已经属于非常稀疏的路由状态。
一个专家如果获得过多 token,会造成计算负载集中;另一些专家如果长期没有 token,则相当于大量模型参数没有得到充分训练。
论文把这个问题定义为 Expert Load Imbalance(专家负载不均衡),并使用 MaxVio 和 MinVio 衡量专家过载和欠载程度。
千问团队把 MoE 的负载均衡问题看成一个控制系统,这对Qwen 4.0 而言应该意义重大。
在这个框架下,专家的 bias 是控制状态,专家实际收到的 token 数量是系统输出,而理想的均匀分配则是目标。
论文认为,DeepSeek 的 Loss-Free Balancing 本质上类似于一个“固定步长的积分控制器”:无论某个专家超载很多还是只超载一点,每次调整的幅度基本一样。
而 Kimi K3 的 Quantile Balancing,则更接近一个广义的比例控制器,根据当前 batch 的 router score 分布直接计算目标 bias。
千问团队由此提出第三种方案,ID Balancing,也就是积分-微分负载均衡(Integral-Derivative Balancing)。
它没有简单复制传统 PID,而是做了两个针对 MoE 特性的改造。

第一,是“Magnitude-aware Integral”。
过去的方法主要判断专家是过载还是欠载,而 ID Balancing 进一步考虑“到底有多严重”。偏离目标越多,修正幅度越大;越接近目标,修正幅度越小。
第二,是一个“Worsening-gated Derivative”,也就是只有当不平衡情况正在恶化时,Derivative 项才启动。
简单来说,如果一个已经过载的专家变得更加过载,系统会额外加强修正;如果它正在恢复平衡,则不会继续施加同样的额外修正。
同时,论文还加入了一个 zero-mean centering 操作,去掉所有专家 bias 共同增加的部分。
因为给所有专家同时增加同一个常数,并不会改变它们之间的排序,也就不会改变 Top-K 路由结果。
整个方法并不需要在语言模型训练目标中增加一个新的 balancing loss,只需要每层统计专家收到的 token 数量。
实验数据上,千问团队使用 768 个专家,分别测试Top-10、Top-5 和 Top-3 三种路由方式,对应激活专家比例分别约为 1.3%、0.65%和0.39%。
在 18.9B 参数模型、120B tokens 的训练中,Top-3-of-768 是最极端的测试场景。
在这个设置下,ID Balancing的最差 backbone MaxVio为15.33,而DeepSeek Loss-Free Balancing为211.19,Kimi Quantile Balancing 为 31.11。
也就是说,相比最好的baseline,ID Balancing 将最差情况下的backbone MaxVio 降低了超过50%。
训练平均的backbone MinVio 也从此前方法的更高水平进一步下降,论文摘要给出的结论是,在Top-3 设置下,训练平均 MinVio 相比最佳 baseline 降低超过12%。
而且,这种优势并不只出现在 Top-3。
Top-5-of-768时,ID Balancing的Worst MaxVio为10.33;Top-10-of-768时为 8.36。
论文特别测试了一个更大的模型。
在固定 Top-10-of-768 路由的情况下,模型总参数从 18.9B 增加到69.9B,激活参数从 1.03B增加到3.2B。
结果显示,随着模型规模扩大,ID Balancing 的最差 backbone MaxVio 基本保持稳定;69.9B 模型中,其最差 MaxVio 相比 auxiliary-loss 方法约低 89.6%。
这也是论文比较重要的一项实验:专家数量和模型规模继续增加之后,负载控制并没有明显失效。
千问团队还测试了一个更激进的训练条件。
在 Top-10-of-768、18.9B 参数模型上,把学习率固定在 5.86×10⁻³,相当于标准峰值学习率的 2.3倍。
此时ID Balancing的backbone Last1k MaxVio 为0.6437,而Auxiliary Loss和DeepSeek Loss-Free 分别为 3.1383 和 1.3755。
论文还观察到,传统 auxiliary loss 并不是简单把权重调大就能解决问题。
在这个高学习率实验中,把 auxiliary-loss 系数从 0.05 提高到 0.50,LM loss 从约 2.01升至约2.45,同时 Mean MaxVio 超过 50,两个较大的系数设置最终还提前结束了训练。
除了训练过程,千问团队还检查了模型实际推理时有没有大量“闲置专家”。
在 Top-10-of-768 模型中,ID Balancing 将评测数据上的平均inactive-expert ratio 从 Auxiliary Loss 的 8.4%降至6.4%;第一层则从 9.3%降至2.6%。
在 Top-8-of-256 设置下,平均 inactive-expert ratio 也从 Auxiliary Loss 的 4.7%降至3.1%。
更重要的是,这种负载改善并没有明显牺牲模型能力。
在经过 560B tokens 训练的模型上,千问团队使用 MMLU、MMLU-Pro、SuperGPQA、MATH、GSM8K、BBH、MMMLU、EvalPlus 和 MultiPL-E 九项测试。
Top-10-of-768 设置下,ID Balancing 的九项平均成绩为 58.66,Auxiliary Loss 为 58.12,并且 ID Balancing 在其中 5项 benchmark 上高于 Auxiliary Loss。
这篇论文的核心突破并不是让模型单纯追求“专家平均分配”,而是在极端稀疏条件下,用一种新的动态控制方式,尽可能同时解决瞬时过载、长期欠载和训练稳定性。
而这恰恰是 MoE 继续向更大参数规模发展需要解决的关键问题——随着未来模型可以拥有数千甚至更多专家,但每个 token 只调用其中极少数专家,如何让这些越来越多的参数真正参与有效训练?







