稀疏 MoE 自 Switch Transformer 起,“路由器(router)“几乎成了无可置疑的标配。但 2026 年 5 月 arXiv 上一篇短论文 Routing-Free Mixture-of-Experts(编号 2604.00801)抛出了一个挑战性问题:路由器真的必要吗?
本文是对这篇论文的精读笔记。我会从动机、方法、实验三个维度切入,并对比同期的 Self-Routing(arXiv 2604.xxxx)与 ICLR 2026 的 Reinforced Adaptive Routing,给出我个人的工程视角判断。
TL;DR
Routing-Free MoE 用基于隐藏状态的确定性专家分配替换可学习路由器,并提出统一自适应负载均衡框架同时优化”专家被均匀使用”和”token 被均匀分配”两个目标。在 0.8B 模型上,相对标准 MoE 取得 1.2-2.4 个点的精度提升,且训练曲线明显更稳。
一、问题:路由器到底有什么毛病
传统 MoE 的路由器 g(x) 是一个小型 MLP,把 token 隐藏态 x 映射到 N 个专家的分数。Top-K 选取后,token 被发送到对应的专家计算。问题有三:
- 路由崩塌:训练早期某些专家拿到的样本过多,gradient 推它更”专业”,更多 token 又被路过来,形成正反馈。最终可能 90% 的 token 集中在 10% 的专家。
- 辅助损失干扰:为了缓解上面这点,社区引入 load-balancing loss、importance loss、z-loss 等多个辅助项。这些项与主任务目标不完全对齐,需要精细调系数,且总会留下次优分配。
- 训练-推理一致性:训练时 top-K + softmax,推理时为了吞吐改成 argmax 离散选择。这种 train/inference gap 会让某些 token 在推理时被发去”非预期”的专家。
业内已经有不少补丁——Expert Choice、Stochastic Routing、Soft MoE 等等。但 Routing-Free MoE 的思路更激进:把路由器整体拿掉。
二、方法:用隐藏态直接定专家
论文的核心是一个无参数的专家分配函数 φ(x)。给定 token 隐藏态 x ∈ R^d,将其投影到 N 维专家空间,再做 top-K 选择:
φ(x) = x · W_ref + b_ref # W_ref, b_ref 不学习,使用 fixed orthogonal init
e_i = top-K(softmax(φ(x))) # K 通常取 1 或 2
注意 W_ref 是一个固定的正交矩阵(论文用 Householder 初始化后冻结),不参与反向传播。这意味着:
- 路由不再有可学习参数
- 没有路由器优化器状态(约占总参数 0.5-1%,但其 Adam 状态占额外 1-2%)
- 不会出现路由崩塌——因为没有什么可”崩塌”的
但这又引出新问题:固定矩阵怎么保证负载均衡?答案是统一自适应负载均衡(Unified Adaptive Load Balancing, UALB)。
三、统一负载均衡:两个维度一起压
UALB 是论文最有意思的部分。它定义两个量:
| 维度 | 定义 | 直觉 |
|---|---|---|
| 专家利用率 U_e | 每个专家收到的 token 占比 | 衡量”专家是否均匀工作” |
| token 多样性 D_t | 每个 token 被分配到的不同专家数 | 衡量”token 是否依赖单一专家” |
UALB 在 forward 时动态调整 φ(x) 的输出温度和偏置,使得:
- 高温度让 softmax 更平滑,鼓励 token 探索更多专家
- 偏置补偿冷门专家,使其更易被选中
关键在于这种调整是无梯度的运行时统计,类似 BatchNorm 的 running mean。训练阶段每个 batch 更新一次,推理阶段使用最终统计值。这避免了辅助损失与主任务目标拉扯的问题。
公式上:
φ_balanced(x) = (φ(x) - μ) / (τ + ε) + β_expert
其中 μ 是 batch 内的专家激活均值,τ 是自适应温度(由当前失衡程度计算),β_expert 是冷门专家加分项。
四、实验:三个规模的对比
论文在 100M / 400M / 800M 三个规模做了实验,专家数固定为 16,top-1。下游测评涵盖 HellaSwag、PIQA、ARC、MMLU。
| 模型 | 参数量 | HellaSwag | PIQA | ARC-c | MMLU | 训练损失 std |
|---|---|---|---|---|---|---|
| Standard MoE | 800M | 58.2 | 73.4 | 38.1 | 28.9 | 0.041 |
| Expert Choice | 800M | 59.0 | 73.9 | 38.6 | 29.2 | 0.035 |
| Soft MoE | 800M | 58.7 | 73.7 | 38.4 | 29.0 | 0.029 |
| Routing-Free + UALB | 800M | 60.4 | 75.1 | 40.2 | 30.1 | 0.018 |
值得关注的是训练损失标准差这一列——Routing-Free 的训练曲线波动只有标准 MoE 的 44%,意味着同样的算力可以承受更激进的学习率。
另一个实验是专家激活分布。标准 MoE 在 16 个专家上的 token 占比方差是 0.087,最热和最冷专家相差 4 倍;Routing-Free + UALB 把方差压到 0.011,最热和最冷只差 30%。
五、与同期工作的对比
2026 年 4-5 月 MoE 路由方向有三篇值得一起看的论文:
| 论文 | 核心思路 | 路由器参数 | 验证规模 |
|---|---|---|---|
| Routing-Free MoE | 固定正交矩阵 + UALB | 0 | 0.8B |
| Self-Routing (arXiv 2604) | 从隐藏态导出路由 | 0 | 7B |
| Reinforced Adaptive Routing (ICLR 2026) | RL 训练动态路由 | 与标准 MoE 相当 | 1.5B |
Self-Routing 在 7B 规模复现了 Routing-Free 的结论,进一步加强了”路由器可去除”的信念。但 Reinforced Adaptive Routing 走的是相反路线——通过 RL 让路由更智能,论文显示在 1.5B 上能比 Routing-Free 高 0.8 个点。我个人的判断是:短期内两条路线会并存,专家数少(<32)的场景用 Routing-Free 更稳,专家数多(>64)的场景仍需要可学习路由策略。
六、工程视角:能用在生产吗
我评估了三个落地场景:
- 从零训练新 MoE:强烈推荐尝试,减少调参成本 + 训练加速 + 稳定性提升,几乎全是收益。
- 改造已有 Mixtral / Qwen-MoE 模型:可行但需要 continued pretraining。直接换路由层会让 logit 分布偏移,需要至少 50B token 重训对齐。
- 极细粒度专家 MoE(如 DeepSeekMoE 的 256 专家):尚未验证,不建议盲目迁移。
七、待解决的问题
论文也承认有几点未充分讨论:
- 多语言场景:UALB 的 batch 统计在多语言混合 batch 上会被语言分布主导,是否需要分语言归一化?
- MoE 转 dense:Routing-Free 的固定矩阵理论上能更好地做 expert pruning,但实验未涉及。
- 与 GShard 这类分布式路由的兼容性:当前实现假设单节点,跨节点 token 通信成本未量化。
八、对工程师的启示
- 如果你正在调 MoE 模型的负载均衡损失系数,可以先用 Routing-Free 跑一个 baseline,往往比反复调参更有效。
- UALB 的运行时统计思路其实可以独立应用到任何带门控的稀疏架构,不限于 MoE。
- 训练曲线方差是 MoE 模型选择的重要 metric,但很多论文不报。下次复现论文记得关注这一项。
总结
Routing-Free MoE 不是革命,是优雅的简化。它把 MoE 里最容易出问题的两个组件(可学习路由器 + 辅助损失)一起拿掉,用一个无参数函数加运行时统计代替。在 0.8B 规模的实验非常说服力,但能否扩展到百亿规模仍待 DeepSeek、Qwen 等团队验证。对工程师来说,至少值得在你的下一个 MoE 项目里跑一个对照实验。