UniPool:面向混合专家模型的全局共享专家池 UniPool: A Globally Shared Expert Pool for Mixture-of-Experts
用全局共享专家池替代逐层私有专家,使专家参数随深度亚线性扩展
前置知识
Mixture-of-Experts (MoE)
MoE 在 FFN 子层引入 $E$ 个并行专家 $e_{l,i}$,路由器 $r_l$ 对每 token 选 Top-k 加权求和:$\text{FFN}_l(x)=\sum_{i\in\text{Top-k}} g_{l,i}\cdot e_{l,i}(x)$,实现参数扩张而激活量近似恒定。
全文所有改进都建立在 MoE 之上,读者必须熟悉 MoE 的逐层独立路由范式,才能理解 UniPool「打破逐层所有权」的颠覆性所在。
Softmax 路由器与负载均衡损失
标准路由对 logits 做 softmax,配合 Switch 逐层辅助损失 $\mathcal{L}^{(l)}=\alpha E\sum_i f_i^{(l)} P_i^{(l)}$,惩罚 token 分配 $f_i^{(l)}$ 与路由概率 $P_i^{(l)}$ 的相关性,避免死专家。
UniPool 的关键改动之一是把这个逐层损失改写成「池级」损失。读者必须先理解原始逐层目标的物理意义,才能看出为什么共享池下原目标会让全局专家塌缩。
NormRouter (KERN)
NormRouter 用 L2 归一化+ReLU 替代 softmax:$s_i=\sigma\cdot c\cdot\max(0, z_i/(\|z\|_2+\epsilon))$,$\sigma$ 可学习,$c$ 是蒙特卡洛常数。天然稀疏且对 hidden state 尺度不敏感。
NormRouter 是 UniPool 在共享大池下保持稳定路由的关键技术之一,必须先理解它相对于 softmax 的归一化与稀疏性收益,才能看懂作者的「协同设计」论点。
专家粒度(Expert Granularity)
专家粒度指每个专家 FFN 的尺寸与数量之间的权衡,例如 8E/top-1(8 个大专家,每 token 激活 1 个)与 32E/top-4(32 个小专家,每 token 激活 4 个)。细粒度 MoE 在算力匹配下通常表现更好,是近期 MoE 扩展研究的核心维度。
论文在 8E/top-1 主实验之外专门跑了 16E/top-2 与 32E/top-4 的粒度扫描,以验证 UniPool 与细粒度 MoE 的兼容性。理解粒度概念才能跟上这条补充实验线。
辅助负载均衡损失(Auxiliary Load-Balancing Loss)
辅助损失叠加在主损失上抑制路由坍缩。Switch Transformer 形式 $\alpha\cdot E\sum_i f_i P_i$ 鼓励均匀;DeepSeek 用 sigmoid + expert-choice 把平衡对象改成「专家选 token」。
UniPool 重新定义了辅助损失的作用域:把逐层的 $f_i^{(l)}$ 聚合为全局的 $\bar f_i = \frac{1}{L}\sum_l f_i^{(l)}$,让平衡目标与参数所有权粒度对齐,这是论文「池级损失」一节的基础。
研究动机
现代 Mixture-of-Experts 大语言模型普遍遵循一个根深蒂固的「逐层私有专家」范式:每一层 Transformer 都拥有一组独立的专家 FFN,并由本层路由器稀疏选择。这个约定把专家参数总量与深度硬性地线性绑定——每加深一层就必须新增一份完整的私有专家预算。论文作者通过对 Qwen1.5-MoE、DeepSeek-V2-Lite、Qwen3-30B-A3B 三个生产级 MoE 做路由随机化探针实验发现:在深半部的某一层,把学到的 Top-k 路由器替换成均匀随机分配后,下游平均精度只下降 1.0–1.6 个点(Qwen1.5-MoE:67.92 → 66.29;DeepSeek-V2-Lite:54.19 → 53.03;Qwen3-30B-A3B:73.02 → 72.06)。这说明深度层内同层专家之间是高度可互换的,路由决策在深半部几乎不携带有效信息。换言之,标准 MoE 训练实际上让每个 block 在稀薄的梯度信号下重复发现相似的变换,深度诱导的冗余只能等训练完成后再用剪枝或相似专家重路由去事后修剪,根本问题是结构性的:逐层所有权本身就在制造冗余。
本文的目标是本文的核心目标是提出一个全新的 MoE 架构 UniPool(Unified Expert Pool),将「专家容量」从与深度线性耦合的逐层私有预算,改造成一个可跨层复用的全局共享预算,同时保留每层独立路由的灵活性。具体目标分三层:第一,在不改变每 token 激活专家数(即不改变每 token FLOPs)的前提下,让所有 Transformer 层共享同一份专家 FFN 池,从而切断专家参数总量与深度之间的线性绑定;第二,设计与共享池匹配的池级负载均衡目标,以及对大池规模稳定的路由机制;第三,通过跨 5 个模型规模(182M / 469M / 650M / 830M / 978M)的严格对照实验,验证 UniPool 不仅在匹配专家预算时优于逐层 MoE,还能用亚线性的专家参数预算达到或超越逐层 MoE 的水平。
与已有工作不同的是,此前缓解 MoE 深度冗余的工作几乎都停留在「事后压缩」层面:剪枝约 50% Mixtral 专家只损失 ~8% 质量、把 token 改路到同层最相似专家可获得最多 2× 解码加速、Qwen/DeepSeek 同层专家权重共享主子空间且余弦相似度 >0.9。这些方法都默认保留逐层所有权结构,只是在参数或输出层面做减法。另一类「跨层共享」工作(如 Universal Transformer、ALBERT、MoEUT)则过于激进——它们共享整个 Transformer block 或周期性复用 block 组,牺牲了 MoE 稀疏激活的关键收益。UniPool 的独特定位是「选择性共享」:只把 FFN 专家抽出来组成单一全局池,把路由器与注意力保持逐层私有,从而让深度仍可学习层特定的路由策略,同时让专家参数从「每层独占」变成「全局可复用」。这种「按所有权粒度对齐均衡目标、按池规模设计路由器」的协同设计是此前工作没有尝试的角度。
核心方法
UniPool 的整体思路可以用一句话概括:把 L 层 × E 个专家的「逐层专家矩阵」折叠成一个长度为 M=8L 的「全局专家向量」,让每层路由器仍然独立打分,但打分的目标从「本层私有集合」变成「共享池」。直觉上,如果深半部逐层专家本身学到了相似的变换,那么把它们的参数合并成共享池并不会损失表达能力,反而能让每个共享专家接收到来自 L 层的梯度信号,训练更充分、利用率更高。技术上需要解决两个协同问题:一是均衡目标必须从「逐层」改成「池级」,因为逐层目标在共享池下会让全局专家整体塌缩到少数几个;二是路由器必须对池规模的扩大保持尺度稳定,softmax 在大池上的竞争会因不同层 hidden state 范数差异而抖动。作者因此同时引入了池级辅助损失与 NormRouter,两者构成 UniPool 与「裸共享池 + 原始逐层目标」的关键区别。所有实验在 8E/top-1 基础配置下做严格参数匹配:逐层 MoE 每层 8 专家,UniPool 共享池大小 M=8L,总专家参数与每 token 激活 FLOPs 完全相同。
UniPool 的核心创新可以拆成三点。第一,结构上把逐层私有专家集合 $\{e_{l,1},\dots,e_{l,E}\}$ 折叠成全局池 $\mathcal{E}=\{e_1,\dots,e_M\}$,公式上 FFN 输出从 $\sum_{i\in\text{Top-k}(r_l)} g_{l,i}\cdot e_{l,i}$ 变成 $\sum_{i\in\text{Top-k}(r_l)} g_{l,i}\cdot e_i$,但路由器与注意力仍逐层独立,这与 MoEUT 的「整 block 周期复用」、ALBERT 的「全权重共享」形成本质区别——UniPool 只共享 FFN 专家,这是 MoE 中占比最大的参数块,但保留了层特定路由的灵活性。第二,池级均衡目标 $\mathcal{L}_{\text{pool}}=\alpha_{\text{pool}}\cdot M\cdot\sum_{i=1}^{M} \bar f_i \cdot \bar P_i$,其中 $\bar f_i=\frac{1}{L}\sum_l f_i^{(l)}$ 是 token 分配比例在所有共享层上的均值,把平衡对象从「逐层内的专家」对齐到「参数所有权所在的全局池」——这是 UniPool 最具洞察力的改动,因为它把辅助损失的作用域与参数所有权粒度对齐了。第三,引入 NormRouter $s_i=\sigma\cdot c\cdot\max(0, z_i/(\|z\|_2+\epsilon))$:L2 归一化吸收不同层 hidden state 的尺度差异,ReLU 天然让约半数池专家得分为 0 而无需显式稀疏化,可学习标量 $\sigma$ 让每层路由器自适应路由锐度——这正好匹配共享大池下「层间打分尺度不一致」的痛点。三者联合,UniPool 用 66.7%、50% 甚至 41.6% 的逐层 MoE 专家预算就能反超逐层 MoE,这印证了「深度诱导冗余 → 跨层复用」的核心论点。
方法步骤详情
UniPool 的训练流程可以分为四步。第一步,模型实例化:在 Megatron-LM 中只实例化一份专家模块 $\mathcal{E}=\{e_1,\dots,e_M\}$,所有 MoE 层共享同一组权重指针,但每层保留独立的路由器 $r_l$,路由器的参数与 Transformer 注意力都按层独立。这是与「逐层 MoE」唯一的结构差异。第二步,路由打分:对每个 token 的 hidden state $h$,路由器计算 logits $z=Wh$,再按 NormRouter 公式 $s_i=\sigma\cdot c\cdot\max(0,z_i/(\|z\|_2+\epsilon))$ 得到每个共享专家的分数,对分数取 Top-k 激活。第三步,池级均衡损失计算:每个 micro-batch 内收集所有 L 个共享层在共享池上的 token 分配直方图 $f_i^{(l)}$,按 $\bar f_i=\frac{1}{L}\sum_l f_i^{(l)}$ 聚合为全局分配,加权路由概率 $\bar P_i=\frac{1}{L}\sum_l P_i^{(l)}$ 同理聚合,得到池级辅助损失 $\mathcal{L}_{\text{pool}}=\alpha_{\text{pool}}\cdot M\cdot\sum_{i=1}^{M}\bar f_i\bar P_i$;为避免跨层张量依赖,实际实现把全局统计延后一个 micro-batch 计算(细节见 Appendix G),主损失仍是各层独立贡献之和。第四步,主损失整合:训练总损失 $\mathcal{L}=\mathcal{L}_{\text{NTP}}+\mathcal{L}_{\text{pool}}$,不附加任何逐层辅助损失;优化器用 AdamW + cosine 学习率 + bf16 Megatron-LM;训练数据为 Pile,60K 步、batch size 512、序列长 1024,约 30B tokens。实验配置分主表(5 个规模,8E/top-1)与粒度扫描(182M 上 16E/top-2、32E/top-4)两组,并配套在 182M 上做组件消融(共享池 + 池级 aux + NormRouter 三件套逐一开/关),以及共享范围 G(1=全局,12=逐层)的中间扫描。
技术新颖性
UniPool 的技术新颖性主要体现在三个层面。第一层是架构层面:MoE 设计领域长期被「逐层独立专家」这一默认假设支配,作者用一个全局共享池 + 独立路由器打破了这条假设,并且明确指出这种「按所有权粒度对齐均衡目标」是此前工作(包括 MoEUT、ALBERT 等跨层共享路线)所缺乏的针对性改动。第二层是方法层面:池级辅助损失的设计看似简单(把 $f_i^{(l)}$ 替换为 $\bar f_i$),但物理意义深远——它把「避免死专家」这件事从「每层局部」重新定义为「全局参数利用」,并通过 Figure 3 的实证可视化展示,如果仍用逐层损失,共享池会全局塌缩到极少数专家(Figure 3a),而 UniPool 则恢复均匀利用(Figure 3b);把 NormRouter 引入是为了解决大池下 softmax 不稳定的问题,这一「池级损失 + NormRouter」的协同设计是本文最核心的方法学贡献。第三层是结论层面:通过 Figure 2(a) 的 reduced-pool 扫描证明专家参数可以随深度亚线性增长(182M 用 66.7% / 469M 用 50% / 830M 用 41.6% 即可反超逐层 MoE),并通过 830M vs 978M 对比展示「向深度 + 共享池分配参数」比「向宽度分配参数」更高效(830M 的 UniPool 1.6923 优于 978M 的 1.6999,尽管后者参数量更大)——这为 MoE 缩放法则打开了一个新维度:池大小可以作为一个独立的深度缩放旋钮。
实验结果
实验在 5 个规模(182M / 469M / 650M / 830M / 978M)、LLaMA 架构、8E/top-1 主配置下进行,匹配专家预算与每 token 激活 FLOPs,所有模型在 Pile 上训 30B tokens。Table 2 的核心结论是 UniPool 在所有规模上一致优于匹配逐层 MoE:验证损失分别降低 0.0288(182M:1.9029 vs 1.9317)、0.0346(469M:1.7636 vs 1.7982)、0.0308(650M:1.7260 vs 1.7568)、0.0386(830M:1.6923 vs 1.7309)、0.0172(978M:1.6999 vs 1.7171),且两种 MoE 都明显优于 Dense 基线(如 182M Dense 2.042 vs MoE 1.9317)。Table 3 的零样本下游评估(ARC-E/C、PIQA、HellaSwag、WinoGrande、LAMBADA、RACE 七项平均)显示 UniPool 全面领先,例如 469M 平均精度 43.11 vs 41.62(+1.49),830M 平均 45.67 vs 43.82(+1.85)。Figure 2(a) 的 reduced-pool 扫描给出最反直觉的发现:UniPool 不需要满预算就能赢——182M 仅 66.7%、469M 仅 50%、650M 仅 50%、830M 仅 41.6% 的逐层 MoE 专家参数即可反超逐层基线,且「最小获胜比例」随深度增加单调下降,证明更深架构容忍更小的共享池。Figure 2(b) 的粒度扫描证明 UniPool 与细粒度 MoE 兼容(182M 上 8E/top-1、16E/top-2、32E/top-4 三档全赢)。Table 5 的组件消融揭示了协同设计的必要性:仅共享池 + 逐层 aux 反而劣化(1.9480 vs 1.9317),加上池级 aux 后回到 1.9180,再叠加 NormRouter 才能达到 1.9029,单独把 softmax 换成 NormRouter 在逐层 MoE 上反而略差(1.9375),说明 NormRouter 收益只在共享大池下显现。Table 4 的反探针实验给出因果性证据:UniPool 自己的 469M/978M 上做 cardinality-matched top-8 随机化,平均精度下降 4.1 点(远大于逐层 MoE 的 1.3/1.5 点),证明共享池下路由器决策确实「更扛得住」——深度冗余被结构性消除了,而不是靠训练后压缩掩盖。Figure 3 的热力图可视化进一步印证:池级 aux + NormRouter 让全局池利用率均匀,而逐层 aux + softmax 则让共享池全局塌缩。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 182M 验证损失 (Pile, 30B tokens) | Validation Loss | 1.9029 | 1.9317 (Vanilla MoE) | -0.0288 (-1.49%) |
| 469M 验证损失 | Validation Loss | 1.7636 | 1.7982 (Vanilla MoE) | -0.0346 (-1.92%) |
| 650M 验证损失 | Validation Loss | 1.7260 | 1.7568 (Vanilla MoE) | -0.0308 (-1.75%) |
| 830M 验证损失 | Validation Loss | 1.6923 | 1.7309 (Vanilla MoE) | -0.0386 (-2.23%) |
| 978M 验证损失 | Validation Loss | 1.6999 | 1.7171 (Vanilla MoE) | -0.0172 (-1.00%) |
| 182M 零样本平均精度 (7 项基准) | Avg Accuracy (%) | 39.61 | 38.74 (Vanilla MoE) | +0.87 |
| 469M 零样本平均精度 | Avg Accuracy (%) | 43.11 | 41.62 (Vanilla MoE) | +1.49 |
| 650M 零样本平均精度 | Avg Accuracy (%) | 43.79 | 43.04 (Vanilla MoE) | +0.75 |
| 830M 零样本平均精度 | Avg Accuracy (%) | 45.67 | 43.82 (Vanilla MoE) | +1.85 |
| 978M 零样本平均精度 | Avg Accuracy (%) | 44.07 | 43.91 (Vanilla MoE) | +0.16 |
| 182M + 16E/top-2 粒度扫描 | Validation Loss | 1.9099 | 1.9180 (Vanilla MoE) | -0.0081 |
| 182M + 32E/top-4 粒度扫描 | Validation Loss | 1.886 | 1.892 (Vanilla MoE) | -0.006 |
| Reduced-pool 830M (M=160, 41.6%) | Validation Loss Δ | -0.013 | 0 (Vanilla MoE) | -0.013 (反超逐层 MoE) |
局限与改进
作者在论文中坦诚了若干局限,并在实验设置上留下了多处可商榷之处。第一,模型规模上限在 978M 活跃参数 / 约 5.7B 存储参数,所有结论基于 30B tokens 训练,没有在 7B+、T tokens 级别验证是否能保持一致收益;尤其是 NormRouter 的可学习标量 $\sigma$ 在更大规模与更长训练下是否会饱和或漂移,需要后续工作检验。第二,所有主实验只跑了 8E/top-1 一种激活模式,粒度扫描虽扩展到 16E/top-2 和 32E/top-4,但仅在 182M 上,规模效应下的细粒度兼容性尚不充分。第三,训练数据集单一(Pile),多语种 / 多模态 / 代码指令数据下的池级均衡损失是否仍稳定未验证。第四,路由随机化探针(Table 1 + Table 4)的「1.0–1.6 点」与「4.1 点」对比建立在不同协议之上(生产模型未限层数 vs UniPool 限于 top-8),绝对数值不能直接对照,作者本人也指出这是 cardinality-matched 而非完全等价的实验。第五,池级辅助损失需要 micro-batch 延后一个 batch 聚合 $\bar f_i$,引入了实现复杂度与潜在的统计偏差(Appendix G),长序列或多步 RL 场景下的稳定性未知。第六,从我的观察看,UniPool 的绝对收益在 978M 上缩小到 0.0172(验证损失)/ +0.16(零样本),与 830M 的 0.0386 / +1.85 相比明显缩水,作者把这归因于 978M 是「向宽度」而非「向深度」分配参数,但未给出在更大宽度 + 更多层(如 48L/1536H)下是否仍能复现的证据;此外,Figure 3 的热力图只在 182M 规模展示,池规模放大约 24 倍后专家利用率分布是否仍保持均匀未做实证。
独立分析的弱点
从独立视角看,UniPool 仍存在几个值得改进的弱点。第一,对池大小的「甜区」缺乏系统搜索:Figure 2(a) 只在 4 个规模上扫了 3–4 个池大小点,没给出「最小可接受池大小」与深度的显式函数关系或拟合公式,工程上很难直接据此设定新模型的池大小——可以引入一个池大小预测模型或基于深度的 closed-form 启发式。第二,池级辅助损失在 micro-batch 延后聚合的实现在分布式训练(特别是 expert-parallel 数据并行)下需要跨 rank 同步 $\bar f_i$,当前论文未给出多机多卡下的通信开销与同步策略,建议补一份分布式 benchmark。第三,作者声称 UniPool 与细粒度 MoE 兼容(Figure 2b),但只在 182M 上验证;如果专家数从 32 扩到 128 或 256、池大小相应从 384 扩到数千,NormRouter 的 L2 归一化在极大池上是否仍能保持稀疏性(约半数得分为 0)需要验证,可能需要配合 expert-choice 路由或 top-k 截断做进一步协同设计。第四,路由随机化探针(Table 4)的 UniPool 列用的是 cardinality-matched top-8 随机,与生产模型的「整层随机」不可直接比较,作为反冗余证据不够干净;理想的做法是同时报告 full-pool uniform random 与 cardinality-matched random 两组数值,让读者看清「池冗余度下降」与「路由决策权重增加」两条因果链。第五,论文没有分析 UniPool 在推理时的 memory access pattern:所有 L 层共享同一份大专家权重,意味着每次前向要在更大的权重矩阵上做索引访问,可能破坏逐层 MoE 的 cache locality;建议补一份 inference latency / HBM bandwidth 实测。第六,单一 Pile 数据 + 单一任务(next-token prediction)下评估,没有覆盖 instruction tuning、RLHF、长上下文、tool use 等场景,论文生态适配性证据不足。
未来方向
作者在文中提出了若干明确方向:第一,把池大小正式建模为深度缩放超参数,并拟合「层数 L ↔ 最优池大小 M」的经验缩放律,挑战 MoE 「专家数 = 层数 × 每层专家」的默认设定;第二,把 UniPool 扩展到更大规模(7B+)与多模态场景,验证池级损失在视觉专家 / 音频专家共存下是否仍稳定;第三,进一步把专家共享思想泛化到「细粒度 + 跨层共享」的复合 MoE。我的延伸建议包括:第一,把 NormRouter 的可学习标量 $\sigma$ 升级为层相关甚至 head 相关的向量,让每层路由器能更细粒度地控制路由锐度;第二,结合 expert-choice 路由,让每个共享专家主动选 token 而非被动被打分,可能解决 Figure 3(a) 那种「专家选择权不对等」导致的池塌缩;第三,探索「混合所有权」——例如底层 6 层共享一个池、中间 6 层共享另一个池、顶层 6 层逐层私有——把 Section 6.2 中「unique expert weights touched」从 94.1%/89.5%/82.7% 这条单调下降曲线变成可学习的曲线;第四,把池级辅助损失与 router z-loss(ST-MoE)联合使用,进一步抑制 logit 漂移;第五,理论化分析:在何种「专家相似度分布」下共享池严格不弱于逐层私有,给出可解释的池大小下界。
复现评估
论文的可复现性较好,体现在以下几点:第一,代码已开源在 https://github.com/Centaurus-Alpha/UniPool,主干实现基于 Megatron-LM(与 ST-MoE / GShard 等主流 MoE 实现同源),专家池模块被实例化一次并在 MoE 层间共享,改动面较局部;第二,主表所有模型(5 个规模)使用完全公开的 Pile 数据集 [15],训练超参(AdamW、cosine LR、bf16、batch size 512、序列长 1024、60K 步 ≈ 30B tokens)在 Appendix D 完整给出;第三,模型架构遵循 LLaMA 规范,5 个规模的层数 / 隐藏维 / 注意力头 / FFN 维度在 Appendix Table 6 完整列出;第四,主要路由配置(8E/top-1)作为默认协议,附加 16E/top-2、32E/top-4 粒度扫描实验在 182M 上公开。潜在的复现难点包括:第一,182M 跑了 3 个随机种子取平均,更大规模仅 1 次运行,数值波动范围未给出置信区间;第二,池级辅助损失需要 micro-batch 延后聚合(Appendix G),实现细节对最终数值有影响,必须严格按论文伪代码实现;第三,作者未公开 NormRouter 中常数 $c$ 的具体蒙特卡洛采样数与随机种子,附录 H 只给了数学期望与采样流程描述;第四,完整训练一张 830M 模型所需的 GPU 小时数与硬件配置未明示,第三方复现需要相当算力预算(保守估计至少需要数十张 A100 / H100 连续运行数天),不适合算力有限的研究组全规模复现,但 182M + 共享池 + 池级 aux + NormRouter 的最小验证集可在单卡数小时内跑完。
论文图表
Figure 2(a) 是 reduced-pool 扫描:横轴是「专家参数占逐层 MoE 的百分比」(33.3% / 50% / 66.7% / 100%),纵轴是 UniPool 相对逐层 MoE 的验证损失变化 Δ;4 条曲线分别对应 182M / 469M / 650M / 830M,结果显示池越小越深的模型反而越能在更小预算下反超逐层 MoE(830M 在 41.6% 处达到 Δ = -0.013)。Figure 2(b) 是粒度扫描:在 182M / L=12 / H=768 上比较 8E/top-1、16E/top-2、32E/top-4 三档配置下 UniPool vs Vanilla MoE 的验证损失,两者都随粒度细化而下降,且 UniPool 在三档下均胜出。
这张图给出了论文最具反直觉性的结论——「专家参数可随深度亚线性扩展」——的所有定量证据,是 method 节 reduced-pool 实验与粒度扩展实验的统一可视化。
两个子图共享 12 层 × 96 专家的全局池,上方是「层 × 专家」的 token 选择频率热力图,下方是跨层聚合后的全局使用率条形图(红色虚线为均匀基准 0.125)。Figure 3(a) 是「shared pool + softmax + per-layer aux」:热力图显示多数层集中选择池的左半部分,全局使用率严重偏向少数专家。Figure 3(b) 是「UniPool (shared pool + NormRouter + pool aux)」:热力图各层选择更分散,全局使用率条形图整体接近均匀基准线。
这张图把 method 节的「池级损失 vs 逐层损失」争论用最直观的可视化钉死:仅共享池而不改均衡目标会让池全局塌缩,必须池级 aux + NormRouter 协同才能恢复均匀利用,是消融表 Table 5 的视觉证据。