OPPORTUNISTIC EXPERT ACTIVATION: BATCH-AWARE EXPERT ROUTING FOR FASTER DECODE WITHOUT RETRAINING
OPPORTUNISTIC EXPERT ACTIVATION: BATCH-AWARE EXPERT ROUTING FOR FASTER DECODE WITHOUT RETRAINING
文章标题:机会主义专家激活:无需重训练的批次感知专家路由以加速解码
作者/机构:Costin-Andrei Oncescu, Qingyang Wu, Wai Tong Chung, Robert Wu, Bryan Gopal, Junxiong Wang, Tri Dao, Ben Athiwaratkun
A1 主要贡献
核心问题:在大型语言模型(LLM)中,混合专家(Mixture-of-Experts, MoE)架构通过将前馈层替换为一组专家(experts)并让每个令牌(token)只激活其中一小部分,实现了模型规模与计算成本的解耦。然而,在自回归生成(解码)阶段,即使在适中的批次大小(batch size)下,这些模型也常常会进入内存带宽受限(memory-bound)的状态。这是因为每个专家的平均负载增长速度(k/N)远低于等效的密集前馈层,导致MoE层的延迟主要由被激活的专家数量决定,而不是计算负载。随着批次大小增加,需要激活的专家集合(所有令牌所需专家集合的并集)会迅速扩大,从而显著增加延迟。
研究目标:本文旨在解决MoE模型在解码阶段因内存带宽受限而导致的高延迟问题。其核心目标是在不进行任何模型重训练的情况下,通过动态地重新规划令牌到专家的路由映射,来显式地最小化每个批次中被激活的唯一专家总数,从而降低解码延迟,同时保持与原始模型相当的质量。
创新点(Opportunistic Expert Activation, OEA):本文提出了一种名为“机会主义专家激活”(Opportunistic Expert Activation, OEA)的批次感知路由框架,该框架无需模型重训练,包含两个阶段:
- 基线专家选择:首先,OEA为每个令牌保留其路由选择中排名最靠前的少数几个专家,以确保关键计算得以执行,从而为每个令牌设定一个最低质量基线。
- 机会主义“搭便车”(Piggybacking):接着,OEA通过机会主义地增强这个基线。它允许令牌路由到额外的、优先级较低的专家,但前提是这些专家因为是批次内其他令牌的基线需求而已经被加载到内存中。这个“搭便车”机制能够在不增加已激活专家总数(因此不增加延迟)的情况下,几乎无成本地恢复因激活较少专家而可能损失的性能。
主要贡献概述:
* 形式化延迟问题:本文通过一个内存带宽受限的屋顶线模型(roofline model)对MoE解码延迟问题进行了形式化分析,证明了减少唯一激活专家的数量是主要的优化目标。
图1. 在Qwen3-30B-A3B模型的GPQA评估中,MoE延迟作为解码批次内激活专家数量的函数的均值。平均值是在所有层和解码步骤上计算的。
* 提出OEA框架:提出了一种动态路由算法OEA,该算法在模型质量和系统性能之间提供了一个可调的权衡。
* 实证评估:在Qwen3-30B和Qwen3-235B模型上对OEA进行了评估。实验表明,在批次大小为16时,OEA分别使30B和235B模型的MoE层延迟降低了39%和15%,同时在下游任务和语言模型困惑度上保持了性能,没有出现统计上显著的准确率损失。
A3 背景与动机
现代MoE模型的基本设置:当前先进的MoE模型,如Kimi K2 【Kimi Team et al., 2025】, Deepseek-V3 【Liu et al., 2024a】 和 Qwen3 【Yang et al., 2025a】,其基础结构均遵循了由 【Shazeer et al., 2017】 推广的范式。具体而言,它们用一组N个专家 $E_1, ..., E_N : \mathbb{R}^D \rightarrow \mathbb{R}^D$(其中D是嵌入维度)和一个路由器评分函数 $R : \mathbb{R}^D \rightarrow \Delta^N$ 来替换Transformer中的前馈网络层。路由器为每个专家i分配一个归一化分数 $R(x)_i$。MoE模块的输出通过以下方式计算:
其中,$S = \text{Top}_k(R(x))$ 是路由器分数中前k个值的索引集合。额外的归一化因子是可选的,但在本文评估的Qwen3模型中被启用。后文中,B表示批次大小。
模型服务的两个阶段:通常,这些模型的服务通过批处理请求,并分两个阶段进行:
1. 预填充(Prefill)阶段:为提示(prompts)计算激活值和KV缓存。此阶段一次性处理整个提示,因此MoE层的有效(令牌)批次大小(即序列长度 × 批次大小)较大,导致每个专家的负载较重。
2. (迭代式)解码(Decode)阶段:在给定的解码步骤中,批次中的每个序列只处理一个令牌以进行下一个令牌的预测。关键在于,此时传递给MoE层的有效批次大小仅等于请求的批次大小。
解码阶段的内存带宽瓶颈:在解码阶段,由于每个令牌只会使专家平均负载增加 $k/N$,这一较低的增长率导致需要更大的批次大小才能达到计算受限(compute-bound)的状态。这意味着即使是中等大小的批次,专家计算仍然可能受到内存带宽的限制。在这种状态下,将专家权重从高带宽内存(HBM)加载到片上SRAM所需的时间,主导了计算专家输出所需的时间。因此,对于每个专家而言,其延迟主要取决于它是否被激活:如果没有令牌路由到它,则无需加载其权重,不产生延迟;而一旦被激活并加载,服务额外令牌的边际成本可以忽略不计。因此,当专家们不是并行执行时,整个MoE层的延迟与被激活的专家数量成正比。
激活专家数量的快速增长:为了说明激活专家数量增长的速度,以Qwen3为例,其中每个令牌从 $N=128$ 个专家中激活 $k=8$ 个。对于一个包含16个令牌的批次,可能需要使用8到128个专家。假设路由是均匀的(模型训练时会倾向于平衡负载),那么激活专家的期望数量是82个。这比批次大小为1时(仅激活k=8个专家)增加了多达10倍。而在非MoE架构中,批次大小为1和16都可能处于内存带宽受限状态,因此只会产生一次固定的权重加载成本。
总结:综上所述,在内存带宽受限的情况下,减少激活专家的数量是直接降低MoE解码延迟的主要手段。其余相关工作将在第5节中讨论,届时也会将我们的方法置于更广阔的背景中进行比较。
A2 方法细节
3.1 延迟与激活专家数量的关系
简化的专家延迟模型:为了形式化第2节中提出的论点,我们为一个专家处理n个令牌的计算采用了一个简化的延迟模型。设 $f(n)$ 表示专家处理n个令牌所需的时间,定义为 $f(0) = 0$ 且当 $n > 0$ 时 $f(n) = an + b$。这里,b代表将专家权重从高带宽内存(HBM)加载到片上SRAM的成本,而a是处理一个令牌所需的计算时间。因此,整个MoE模块的总延迟由以下公式给出:
其中,$cnt_i$ 是路由到专家 $E_i$ 的令牌数量;T是至少有一个令牌路由到的专家数量;B是批次大小;N是专家总数;k是每个令牌激活的专家数量。
延迟公式的分析:公式2表明,总延迟由一个与激活专家数T成线性关系的内存受限项和一个与总计算负载Bk成线性关系的计算受限项组成。我们是处于计算受限还是内存受限状态,仅表明哪个项占主导地位,但总的来说,减少T可以直接降低延迟。如果负载 $cnt_i$ 小到足以使系统处于内存受限状态【Rajbhandari et al., 2022】,总延迟将主要由 $b \cdot T$ 决定,因此我们可以预期延迟的降低与T的减少几乎成正比。
模型的简化与实际系统的复杂性:虽然上述描述是一种简化——它没有考虑系统级效应,如内核启动开销、为均衡专家负载而进行的填充,或使用如Grouped GEMM【Hejazi, 2024】等优化内核——但这些因素并不会改变核心约束。Grouped GEMM可以通过批处理不同专家的计算来提高效率,但它仍然需要将所有激活专家的权重加载到片上内存中,这意味着在内存受限状态下,延迟仍然与T根本相关。我们在图1中通过实验证实了这一点。
图1. 在Qwen3-30B-A3B模型的GPQA评估中,MoE延迟作为解码批次内激活专家数量的函数的均值。平均值是在所有层和解码步骤上计算的。
专家负载与路由假设:需要注意的是,$cnt_i \le B$,因为每个令牌最多只能路由到一个专家一次;这一点对于任何可能的重路由策略都成立。此外,对于原始的top-k路由,如果我们进一步假设路由是均匀的,那么可以推断 $E[cnt_i] = Bk/N$,这个值通常很小,从而提高了批次大小B进入计算受限状态的门槛。因此,我们接下来的重点是优化T,并假设我们处于一个优化T能够(如实验所示)转化为更低总延迟的状态。
方法动机:为实现这一目标,我们在推理时修改令牌路由,同时保持经验性能。该方法的动机源于最近的研究,这些研究表明MoE模型对重路由具有鲁棒性【Li et al., 2025; Gupta et al., 2024】。虽然已有几种方法探索了静态专家剪枝【Lu et al., 2024; Liu et al., 2024b】——即永久移除专家以节省内存——但这不可避免地限制了模型的容量。相比之下,我们的目标是开发一种方法,既能在最坏情况下保持最低性能水平,又能在最佳情况下完全恢复模型的原始性能。
3.2 提出的路由算法
为何提出两个算法:尽管算法2描述了我们方法OEA的完整通用形式,但经过详尽的实验,我们得出结论,其简化版本(如算法1所述)能够恢复其性能,同时需要更少的超参数。因此,我们在此描述其最通用的形式,并在4.1节末尾讨论如何进行简化。
OEA的核心目标与两阶段方法:根据3.1节的论证,OEA旨在最小化解码批次内激活专家的数量T。其核心约束是确保批次中任何给定序列的整体响应质量不会显著下降。这促使我们采用一种两阶段方法,首先为每个令牌独立地建立一个质量基线,然后利用批次内的共享计算来机会性地恢复损失的性能。
符号定义:假设批次中的B个令牌为 $x_1, ..., x_B$,它们排序后的专家索引分数为 $e_{i,j}$,其中 $e_i$ 是一个排列,使得:
$R(\boldsymbol{x}_{i})_{e_{i, 1}} \geq R(\boldsymbol{x}_{i})_{e_{i, 2}} \geq \cdots \geq R(\boldsymbol{x}_{i})_{e_{i, N}}$
这里,$e_{i,j}$ 表示第i个令牌的第j个专家选择。特别是,默认路由器(如第2节所述)将令牌 $x_i$ 路由到专家集合 $\text{Top}_k(R(x_i)) = \{e_{i,1}, ..., e_{i,k}\}$。我们的目标是确定新的专家集合 $S_1, ..., S_B \subseteq \{1, ..., N\}$,其中 $S_i$ 表示第i个令牌路由到的专家集合。
阶段1:基线专家选择:第一阶段确保每个令牌都有一个最低的基础,无论它如何被批处理。对于每个令牌 $x_i$,我们通过激活其前 $n_i$ 个专家来创建这个基线,形成一个基础专家集 $S_{base_i} = \{e_{i,1}, ..., e_{i,n_i}\}$。这一设计的动机是经验发现排名靠前的专家对输出质量至关重要【Gupta et al., 2024】。基础专家的数量由两个超参数决定:(1)一个固定的上限 $k_0 \in \{1, ..., N\}$;(2)一个累积分数阈值 $p \in (0, 1]$。具体地,$n_i = \min(k_0, t_i)$,其中 $t_i$ 是达到累积概率p所需的最小专家数量,满足:
超参数的直观理解:直观上,$t_i$ 是归一化分数的一个函数——其定义与【Huang et al., 2024a】中的完全相同。虽然他们的工作通过预训练一个正则化因子来确保 $n_i$ 的平均值较低,但本文不作此假设。因此,我们决定进一步用 $k_0$ 来限制 $n_i$。通常情况下,设置 $k_0 > k$(其中k是模型的默认配置)不会有帮助。最后,请注意,通过设置 $p=1$,我们实际上固定了 $n_i$ 为 $k_0$;而通过设置 $k_0=N$,我们实际上采用了【Huang et al., 2024a】的top-p方法,因此我们的方法是对这两种方法的泛化和抽象。我们采用这种方法是为了让专家数量能根据路由器分数自适应调整,从而使更难的实例可以请求更多的专家。
基线专家集合的形成:这种 $(k_0, p)$ 启发式方法可以选择对至少一个令牌的预测至关重要的专家,因此,所有必要专家的集合为 $S_{base} = \cup_{i=1}^{B} S_{base_i}$。
阶段2:机会主义“搭便车”:第二阶段机会性地恢复一些性能,而不是引入任何新的专家。它允许令牌“搭便车”到已经包含在 $S_{base}$ 中的专家,从而保持激活专家总数 $T = |S_{base}|$ 不变。对于每个令牌i,我们按分数递减的顺序遍历专家,并选择那些在 $S_{base}$ 中的专家,前提是(1)所选专家的数量不超过 $k_{max}$,以及(2)该专家的排名不低于一个阈值位置 $maxP$。这些约束确保所选专家不会因过度分散专家使用或选择与当前令牌匹配度差的专家而降低性能。
重路由后的权重分配:一旦确定了路由集合 $S_i$,我们保留模型原始的路由器分数,并根据公式(1)对它们进行重新归一化。直观地说,这保留了模型在我们保留的专家中学到的偏好,同时确保混合权重总和仍为1。其他选择,如使用top-k的权重也是可能的,但我们将此类优化留给未来的工作。
算法 1: 简化的OEA路由算法
1: 输入: 令牌嵌入 x1..B, 每个令牌的初始专家数 k, 每个令牌 i 和排名 j 的排序专家索引 ei,j。超参数: k0。
2: {阶段 1: 确定基线专家}
3: for i = 1 to B do
4: Sbasei ← {ei,1, . . . , ei,k0 }
5: end for
6:
7: {阶段 2: 机会主义搭便车}
8: Sbase ← ∪(i=1 to B) Sbasei {所有必需专家的并集}
9: for i = 1 to B do
10: Si ← Sbasei {用基线初始化最终集合}
11: for j = k0 + 1 to N do
12: if |Si| ≥ k then
13: break
14: end if
15: if ei,j ∈ Sbase then
16: Si ← Si ∪ {ei,j }
17: end if
18: end for
19: end for
20: 输出: 最终专家集合 S1, . . . , SB
算法 2: OEA路由算法
1: 输入: 令牌嵌入 x1..B, 路由器分数 R(xi), 每个令牌 i 和排名 j 的排序专家索引 ei,j。超参数: k0, p, kmax, maxP。
2: {阶段 1: 确定基线专家}
3: for i = 1 to B do
4: 找到 ti = min{t′ | Σ(j=1 to t') R(xi)ei,j ≥ p}
5: ni ← min(k0, ti) {基线专家的数量}
6: Sbasei ← {ei,1, . . . , ei,ni }
7: end for
8:
9: {阶段 2: 机会主义搭便车}
10: Sbase ← ∪(i=1 to B) Sbasei {所有必需专家的并集}
11: for i = 1 to B do
12: Si ← Sbasei {用基线初始化最终集合}
13: for j = ni + 1 to maxP do
14: if |Si| ≥ kmax then
15: break
16: end if
17: if ei,j ∈ Sbase then
18: Si ← Si ∪ {ei,j }
19: end if
20: end for
21: end for
22: 输出: 最终专家集合 S1, . . . , SB
A4 实验环境
-
硬件配置:
- Qwen3-30B实验:在单张NVIDIA H100 80GB GPU上进行。
- Qwen3-235B实验:在一个HGX H100节点内使用8张H100 GPU进行张量并行计算,GPU之间通过NVSwitch(每对GPU有18个NVLink)互联。
-
模型架构:
- Qwen3-30B-A3B:包含48个层,每个MoE层有 $N=128$ 个专家,每个令牌激活 $k=8$ 个。模型有32个查询头(query heads)和4个键值头(KV heads),嵌入维度为2048,每个专家的隐藏维度为768。专家采用基于SwiGLU的前馈网络,包含3个大小为2048×768的矩阵乘法。
- Qwen3-235B-A22B:层数加倍至96层,嵌入维度增至4096,专家隐藏维度增至1536。注意力头配置和top-8/128路由机制与30B模型相同。
-
软件配置:
- 精度:所有实验均使用bfloat16精度。
- 框架:将自定义的路由算法集成到SGLang服务框架【Zheng et al., 2024】中进行下游任务评估。
-
数据集:
- 交叉熵实验:使用了FineWeb-Edu数据集【Penedo et al., 2024】的一个子集,该数据集被选为Qwen3预训练数据(未公开)的高质量、多样化的代理。随机选择了2048个序列,每个序列至少包含8192个令牌。
- 下游任务评估:在四个基准测试上进行:AIME 24、MATH 500【Hendrycks et al., 2021】、GPQA【Rein et al., 2024】和LiveCodeBench【Jain et al., 2024】。
A4 实验结果
4.1 交叉熵实验
实验动机与方法:
- 动机:使用预训练数据集上的交叉熵作为模型质量的细粒度代理指标,因其计算成本低,便于进行大规模超参数搜索,从而确定OEA的最佳设置。
- 方法:并行模拟解码过程。在每个时间步t,从所有序列中取出第t个令牌组成一个批次,并在此批次内独立执行路由(阶段1剪枝和阶段2搭便车)。这种方法在路由决策上与真实的顺序解码完全相同,但允许通过批处理实现快速测量。
超参数搜索与简化:
通过对超参数 $k_0, k_{max}, p, maxP$ 进行全面扫描,并分析性能(交叉熵增量 vs. 平均激活专家数)的帕累托前沿,得出以下结论:
1. “搭便车”阶段的增益:图2显示,与仅进行第一阶段剪枝相比,OEA(包含第二阶段“搭便车”)在相同的激活专家数量下,能实现更低的交叉熵损失,证明了“搭便车”阶段的有效性。
图2. y轴显示相对于基线的交叉熵增量(左下角更优)。两种类型的点分别对应于批次大小 B = 16 时,剪枝实验和OEA实验的帕累托前沿。OEA始终表现更优。
2. 超参数简化:
* p的影响:设置p=1(等效于在阶段1使用固定的top-k0)与使用p<1的自适应方法性能相当(图9)。
* kmax的影响:设置kmax=k=8(模型默认的专家数)效果最好。有趣的是,增加kmax到9以上反而会导致性能下降(图7)。
* maxP的影响:不限制maxP(即maxP=N=128)效果最好,限制maxP反而有害(图6)。这证明了即使是排名较低的专家,只要已被激活,利用它们也是有益的。
- 简化版OEA:基于以上发现,OEA可以被简化为只依赖单一超参数 $k_0$ 的版本(算法1)。图3表明,简化版OEA的性能与经过精细调参的通用版相当,大大降低了部署前的调优成本。
图3. y轴显示相对于基线的交叉熵增量(左下角更优)。两种类型的点分别对应于批次大小 B = 16 时,简化OEA和其余实验的帕累托前沿。简化OEA的性能与最佳超参数选择相当。
4.2 下游任务评估
实验设置:使用简化版OEA(算法1),仅调整 $k_0$。在SGLang中将最大批次大小设置为16。
Qwen3-30B 模型结果 (表1):
* 在除GPQA外的所有基准上,仅使用top-5专家(剪枝)的性能与使用top-8(vanilla)相比没有统计学上的显著差异。
* OEA在 $k_0=3$ 的极端情况下也能恢复大部分性能,显著优于仅剪枝的方法,凸显了“搭便车”的价值。例如,在AIME24上,剪枝($k_0=3$)准确率为51.2,而OEA($k_0=3$)恢复到80.0,与vanilla的80.4相当。
表1. k0消融实验:在Qwen3-30B-A3B上,第一阶段(剪枝,top-k0)与简化OEA路由(top-k0+搭便车)的基准准确率。Pruned指使用top k0专家,OEA进行额外搭便车,vanilla代表默认模型。结果为4次运行的平均值。与vanilla性能无显著差异的设置(经标准误调整)以粗体显示。
Qwen3-235B 模型结果 (表2):
* 对于更大的模型,剪枝的影响更显著。在 $k_0=5$ 时,剪枝导致LiveCodeBench和GPQA的准确率分别下降了15%和8%。
* 相比之下,OEA在 $k_0=5$ 时在大多数基准上保持了性能,仅在LiveCodeBench上略微下降2%,再次证明了其恢复性能的能力。
表2. k0消融实验:在Qwen3-235B-A22B上,第一阶段(剪枝,top-k0)和简化OEA路由(top-k0+搭便车)的基准准确率。Pruned指使用top k0专家,OEA进行额外搭便车,vanilla代表默认模型。结果为3次运行的平均值。与vanilla性能无显著差异的设置(经标准误调整)以粗体显示。
延迟与激活专家数的关系:
* 图1证实了本文的核心假设:在解码阶段,MoE层的延迟与激活的专家数量呈强线性关系(回归拟合的 $R^2 > 0.99$)。这表明通过减少激活专家数来降低延迟是直接有效的。
通过减少激活专家实现的延迟增益:
* Qwen3-30B (表3和表4):
* 通过将 $k_0$ 从8(vanilla)降至3,平均激活专家数从48.8降至25.1(减少约一半),对应的MoE层平均延迟从175.7微秒降至106.8微秒,实现了39%的延迟降低。
* 在 $k_0=5$(性能无损)时,平均激活专家数为35.1,延迟为136.0微秒,延迟降低23%。
- Qwen3-235B (表5):
- 在 $k_0=5$ 时,实现了15%的延迟加速。相对增益较小,作者将其归因于张量并行引入的额外all-reduce通信开销。
表3. 在Qwen3-30B-A3B上使用简化OEA(top-k0 + 搭便车)时的平均MoE层延迟(单位:微秒)。
表4. 在Qwen3-30B-A3B上使用简化OEA(top-k0 + 搭便车)时的平均激活专家数。
表5. 在Qwen3-235B-A22B上使用简化OEA(top-k0 + 搭便车)时的平均MoE层延迟(单位:微秒),包括all-reduce时间。
A7 补充细节
批次内令牌分布的影响:OEA的有效性在很大程度上取决于批次内令牌的分布。如果批次中的令牌来自相似的分布,它们倾向于选择重叠的专家,导致基线专家集 $S_{base}$ 较小,从而限制了“搭便车”机制所能带来的增益。本文中的基准测试场景就代表了这种情况,因此报告的性能可以视为一个保守的估计。相反,第4.1节中的交叉熵实验对应于一个更加多样化的令牌分布,这会扩大 $S_{base}$,使得“搭便车”机制能够更好地恢复基线模型的性能。
关于填充(Padding)的说明:在实验过程中,使用SGLang的默认配置时,我们观察到一个反直觉的现象:大小为7的批次的平均令牌数(和平均延迟)超过了大小为8的批次。这是因为SGLang会为一组固定的批次大小捕获CUDA Graphs,当需要处理一个特定大小为B的批次时,它会查找已捕获的最小的 $B' > B$ 的图,并将当前批次填充到大小为 $B'$。对于经典的前馈网络和注意力机制,批次的具体内容不影响内核的运行时间,但对于我们所处的内存受限的MoE批处理场景则不然。问题在于,填充的令牌平均激活了更多“分布外”的专家(即未被真实令牌激活的专家),这比处理第8个真实令牌所激活的专家还要多。因此,这种看似无害的填充最终比处理一个额外的真实令牌成本更高,而理想情况下它不应该增加任何新的专家。在我们的实验中,我们通过捕获直到大小为16的CUDA Graphs来解决这个问题(从而确保没有填充),但我们在此提出一个普遍性建议:有必要添加一个填充掩码,并用它来将填充令牌的专家选择置零。
A5 结论
工作总结:本文介绍了OEA,一种新的专家路由算法,旨在解决中等批次大小下MoE解码的内存带宽受限问题。OEA通过减少每个解码批次中激活的专家数量来实现这一目标。具体来说,它首先为每个令牌激活少数被认为是性能关键的顶级专家,然后机会主义地“搭便车”使用那些因其他令牌需求而已被激活的专家。该方法在Qwen3-30B和Qwen3-235B模型上分别实现了39%和15%的MoE层延迟加速,且在基准测试准确率上没有出现统计上显著的下降。
未来方向:
- 批次大小自适应:未来的工作可以探索将路由策略(例如 $k_0$ 的选择)设计为批次大小的函数,例如在较小的批次大小下使用一个更大(更安全)的 $k_0$。
- 扩展到专家并行:尽管OEA假设专家是串行执行的,但可以将其适配到专家并行的设置中。在这种设置下,延迟由每台机器上激活专家的最大数量决定。一个直接的等效方法是在每台机器上独立地进行“搭便 ઉ”,并可能在激活专家较少的机器上(即 $S_{base}$ 较小)增加 $k_0$。
- 层级异构性:实验观察到不同层之间激活的专家平均数量存在显著差异。这一现象,结合之前的研究发现【Gupta et al., 2024; Yang et al., 2025b】,表明为每一层独立地调整OEA的超参数可能进一步提升其性能。
- 路由鲁棒性与模型协同设计:我们的方法核心依赖于预训练模型对路由的轻微变化具有鲁棒性。因此,进一步理解或量化路由鲁棒性的极限,甚至在模型预训练阶段就协同设计以实现这一目标,可能会进一步增加路由器的灵活性,从而扩大OEA的应用范围。这包括解决3.2节中提到的挑战:当专家路由被修改时,如何调整专家权重。
A6 附录
A 更多基准测试结果
附录A提供了更详细的实验数据。表6和表8分别展示了在Qwen3-30B和Qwen3-235B上使用简化OEA的基准测试准确率及其标准误。表7和表9展示了对应的仅使用剪枝路由(top-k0)的准确率和标准误。此外,表10展示了在Qwen3-235B上使用简化OEA路由时的平均激活专家数。图4则展示了Qwen3-235B模型在GPQA评估中,MoE延迟与激活专家数量的关系图。
表6. k0消融实验:在Qwen3-30B-A3B上使用简化OEA路由(top-k0+搭便车)的基准准确率,包含标准误。Vanilla代表默认模型。
表7. k0消融实验:在Qwen3-30B-A3B上使用剪枝路由(top-k0)的基准准确率,包含标准误。Vanilla代表默认模型。
表8. k0消融实验:在Qwen3-235B-A22B上使用简化OEA路由(top-k0+搭便车)的基准准确率,包含标准误。Vanilla代表默认模型。
表9. k0消融实验:在Qwen3-235B-A22B上使用剪枝路由(top-k0)的基准准确率,包含标准误。Vanilla代表默认模型。
表10. 在Qwen3-235B-A22B上使用简化OEA(top-k0 + 搭便车)时的平均激活专家数。
图4. 在Qwen3-235B-A22B模型(张量并行度为8)的GPQA评估中,MoE延迟作为解码批次内激活专家数量的函数的均值。平均值是在所有层和解码步骤上计算的。
B 交叉熵消融实验图表
B.1 剪枝 vs OEA 消融实验:图5展示了在所有测试的批次大小下,OEA与简单剪枝(仅阶段1)的帕累托前沿对比。结果一致表明,OEA(包含阶段2的“搭便车”)性能更优。
图5. y轴显示相对于基线的交叉熵增量(左下角更优)。两种类型的点分别对应于所有批次大小B下,剪枝实验和OEA实验的帕累托前沿。OEA始终表现更优。
B.2 maxP 消融实验:图6展示了不同maxP值对应的帕累托前沿。结果表明,maxP=128(不限制)是最佳选择,而maxP=8则明显更差。
图6. y轴显示相对于基线的交叉熵增量(左下角更优)。四种类型的点对应于使用不同maxP值的实验的帕累托前沿。maxP=128始终表现最佳,而maxP=8则明显差于它。
B.3 kmax 消融实验:图7展示了对kmax值的消融实验。可以看出,kmax=8和kmax=9的性能相当且最优,而其他值则明显更差。
图7. y轴显示相对于基线的交叉熵增量(左下角更优)。五种类型的点对应于使用不同kmax值的实验的帕累托前沿。kmax在{8, 9}时表现最佳,而所有其他值表现明显更差。
B.4 简化OEA与其他设置的对比:图8对比了简化版OEA(算法1)与其他所有设置(包括剪枝和通用版OEA)的帕累托前沿,显示简化版OEA没有带来明显的性能权衡损失。
图8. y轴显示相对于基线的交叉熵增量(左下角更优)。两种类型的点分别对应于所有批次大小B下,简化OEA和其余实验的帕累托前沿。简化OEA的性能与最佳超参数选择相当。
B.5 p 消融实验:图9将实验按p=1或p<1,以及使用剪枝或OEA路由进行分组,并展示了四个组的帕累托前沿。结果表明,无论是在剪枝还是OEA组内,p=1的性能都与p<1的性能基本持平,没有显著损失。
图9. y轴显示相对于基线的交叉熵增量(左下角更优)。我们根据图例(按p=1与否以及使用剪枝还是OEA路由)对点进行分组,并报告了在所有批次大小B下各组的帕累托前沿。在剪枝组和OEA组内,始终使用p=1都不会对性能造成实质性损害。
💬 评论讨论
欢迎在这里分享您的想法和见解!