路由不够:诊断 MoE+LoRA 微调中的适配器子空间竞争
摘要
本文诊断了 MoE+LoRA 微调中的适配器内竞争,并介绍了 SpawnLoRA,该方法动态添加子适配器以减少跨领域的负迁移。
arXiv:2609.03150v1 公告类型:新
摘要:多域微调通常结合 MoE 路由与 LoRA,假设令牌级路由可以分离特定领域的更新。我们使用 Python 代码与生物医学文本和数学推理的配对数据,在 MoE+LoRA 中测试了这一假设。尽管这些领域显示出近乎不相交的专家路由,但添加生物医学数据显著增加了代码困惑度,表明仅靠路由分离可能无法防止负迁移。为了定位失败原因,我们引入了 Jaccard 路由重叠和适配器梯度余弦相似度,分别衡量专家共享和更新兼容性。这些诊断表明,干扰主要源于几乎正交的领域梯度在相同的低秩适配器子空间内竞争。我们通过 SpawnLoRA 解决了这个问题,它在检测到适配器级竞争时,在 MoE 专家内动态添加门控子适配器,同时保持路由器固定。我们在 Phi-tiny-MoE-instruct 和 OLMoE-1B-7B 上对 SpawnLoRA 进行了评估,跨越多个混合设置,发现与标准和秩自适应 LoRA 相比,它有效减少了负迁移。这些结果表明,专家内部的结构分离提供了超越路由或秩扩展本身的益处。
查看缓存全文
缓存时间: 2026/09/04 06:21
# 路由并非全部:诊断 MoE+LoRA 微调中的适配器内子空间竞争
来源:https://arxiv.org/html/2609.03150
Nowshin Mahjabin\* 机构:伊斯兰技术大学
Ahmed Shafin Ruhan\* 机构:伊斯兰技术大学
Md Azam Hossain 机构:伊斯兰技术大学
Abu Raihan Mostofa Kamal 机构:伊斯兰技术大学
Md Tahmid Rahman Laskar 机构:约克大学 \& Dialpad Inc\.
\*同等贡献。
###### 摘要
多领域微调通常结合 MoE 路由与 LoRA,假设 token 级别的路由能分离特定领域的更新。我们在使用 Python 代码配对生物医学文本和数学推理任务的 MoE+LoRA 场景中验证了这一假设。尽管这些领域表现出近乎不相交的专家路由,但添加生物医学数据显著增加了代码的困惑度,表明仅靠路由分离可能无法防止负迁移。为定位问题根源,我们引入了 Jaccard 路由重叠度和适配器梯度余弦相似度,分别衡量专家共享程度和更新兼容性。这些诊断表明,干扰主要源于近乎正交的领域梯度在同一个低秩适配器子空间内竞争。为此,我们提出 SpawnLoRA 方法,该方法在检测到适配器级竞争时,在 MoE 专家内部动态添加门控子适配器,同时保持路由器固定。我们在 Phi-tiny-MoE-instruct 和 OLMoE-1B-7B 上,在多种混合设置下评估了 SpawnLoRA,发现其相比标准 LoRA 和秩自适应 LoRA 能有效减少负迁移。这表明专家内部的结构化分离比仅依靠路由或秩扩展更有效。
## 1 引言
参数高效微调使大型语言模型能够适应新领域,而无需更新所有参数Han 等人 (2024) (https://arxiv.org/html/2609.03150#bib.bib8)。低秩适配(LoRA)通过在冻结的模型中插入小型可训练矩阵来实现这一点(Hu 等人,2022 (https://arxiv.org/html/2609.03150#bib.bib9)),而混合专家(MoE)架构则将每个 token 路由到稀疏的专家子集,从而在不激活整个模型的情况下增加有效容量(Shazeer 等人,2017 (https://arxiv.org/html/2609.03150#bib.bib16);Fedus 等人,2022 (https://arxiv.org/html/2609.03150#bib.bib7))。这些思想共同指向一种实用的多领域适应策略:将 LoRA 适配器附加到 MoE 专家上,并依赖 token 级别的路由来分离领域更新。当开放权重的 MoE 模型在共享部署中随时间调整以处理多个领域时,这种设置尤其相关。在实践中,领域边界并不总是清晰的,单个输入可能包含来自多个领域的信息。推理时也可能没有可靠的领域标签,使得固定的领域特定适应难以应用。这激发了能够专门化而不依赖显式领域身份的适应方法的需求。先前的工作使用基于轻量级或基于 LoRA 的专家路由来促进参数高效多任务和指令调优中的专门化(Zadouri 等人,2024 (https://arxiv.org/html/2609.03150#bib.bib19);Li 等人,2024 (https://arxiv.org/html/2609.03150#bib.bib12);Dou 等人,2024 (https://arxiv.org/html/2609.03150#bib.bib6))。然而,目前尚不清楚基于路由的专门化本身是否足以防止 MoE 微调过程中的适配器级负迁移。即使专家路由成功,特定领域的更新仍可能在共享的低秩适配器内相互干扰。这引发了我们的核心问题:当 MoE 路由已在专家层面分离领域时,这种分离是否足以防止附加在这些专家上的 LoRA 适配器中的负迁移?我们在一个受控的多领域设置中研究这个问题,其中 Python 代码作为主要评估领域,而每个添加的领域作为潜在的干扰源。我们关注 Python 代码作为受保护领域,因为其语法和 token 结构与自然语言文本差异显著,使其成为研究跨领域干扰的有用目标。我们将负迁移定义为保留代码的困惑度相对于仅代码运行时的增加,我们将代码与生物医学文本配对以研究严重的领域不匹配,并与数学推理配对以测试更温和的偏移。我们的分析揭示,虽然领域通常遵循近乎不相交的专家路径,但添加第二个领域仍然会降低代码困惑度。为了解释原因,我们引入了两个诊断指标:Jaccard 路由重叠度(跨领域的专家共享)和适配器梯度余弦相似度(它们 LoRA 更新的一致性)。诊断表明干扰主要源于近乎正交的领域梯度在同一个低秩适配器内部竞争。我们将这种故障模式称为**适配器内子空间竞争**,并发现进一步增加共享秩是不足的。受此诊断启发,我们提出了 **SpawnLoRA**(图 1 (https://arxiv.org/html/2609.03150#S4.F1)),当检测到竞争时,它在专家内部添加门控 LoRA 子适配器。我们在两个 MoE 骨干网络和多种冲突级别上评估了 SpawnLoRA,展示了其在减少负迁移方面的有效性。我们的主要贡献有三点:
(1) 我们表明,成功的 token 级路由可以与 MoE+LoRA 微调中显著的适配器级干扰共存,并引入了基于路由和梯度的诊断来定位这种故障模式;
(2) 我们表明,在存在冲突的情况下,扩展共享适配器的秩可能会加剧竞争;
(3) 我们提出的 SpawnLoRA 通过确保专家内部的结构化分离来减少负迁移。
## 2 相关工作
**梯度冲突与容量扩展。** 当领域在共享参数中引发不兼容的梯度时,多领域微调可能失败。秩自适应 LoRA 方法在训练过程中动态调整适应容量(Zhang 等人,2023 (https://arxiv.org/html/2609.03150#bib.bib20);Deng 等人,2026 (https://arxiv.org/html/2609.03150#bib.bib5))。AdaLoRA 根据参数重要性重新分配秩,而 DR-LoRA 则根据专家显著性周期性地扩展专家秩。在 DR-LoRA 中,这种扩展现有适配器内的容量,而非创建独立的适应路径,因此不同领域的更新仍可能在同一共享低秩子空间内交互。梯度手术方法则修改冲突的更新(Yu 等人,2020 (https://arxiv.org/html/2609.03150#bib.bib18);Wang 等人,2021 (https://arxiv.org/html/2609.03150#bib.bib17))。基于 MoE 的参数高效微调方法使用路由来鼓励轻量级或基于 LoRA 的专家之间的专门化(Zadouri 等人,2024 (https://arxiv.org/html/2609.03150#bib.bib19);Li 等人,2024 (https://arxiv.org/html/2609.03150#bib.bib12))。我们的诊断表明,尽管路由分离很强,近乎正交的梯度仍可能在单个低秩适配器内竞争,这表明仅靠共享容量扩展可能不足。
**结构分离。** 其他工作通过每个专家、分层或动态扩展的适配器促进结构分离(Zadouri 等人,2024 (https://arxiv.org/html/2609.03150#bib.bib19);Li 等人,2024 (https://arxiv.org/html/2609.03150#bib.bib12);Peng 等人,2026 (https://arxiv.org/html/2609.03150#bib.bib15);Huynh 等人,2025 (https://arxiv.org/html/2609.03150#bib.bib10))。近期的 MoE+LoRA 方法如 MixLoRA 和 LoRAMoE 将 LoRA 式适应与专家或混合结构相结合(Li 等人,2024 (https://arxiv.org/html/2609.03150#bib.bib12);Dou 等人,2024 (https://arxiv.org/html/2609.03150#bib.bib6))。更一般地说,当领域身份已知时,领域特定适配器提供了显式分离,但依赖于预定义的专门化,而非检测训练过程中干扰发生的位置。SpawnLoRA 在单个 MoE 专家内部运行,并仅在检测到梯度空间竞争时有选择性地引入 ReLU 门控的子适配器。
## 3 实验设置
**模型。** 我们使用两个 MoE 模型来检验适配器内竞争和 SpawnLoRA 的缓解作用是特定于一种架构还是适用于多种架构。我们使用 Phi-tiny-MoE-instruct(Li 等人,2025 (https://arxiv.org/html/2609.03150#bib.bib13))(1.1B 激活/3.8B 总参数,16 个专家,Top-2 路由)和 OLMoE-1B-7B(Muennighoff 等人,2025 (https://arxiv.org/html/2609.03150#bib.bib14))(1B 激活/7B 总参数,64 个专家,Top-8 路由)。
**数据。** 我们使用 HumanEval(Chen 等人,2021 (https://arxiv.org/html/2609.03150#bib.bib2))中的 Python 代码作为锚定领域,并通过保留代码的困惑度来衡量负迁移。我们使用标准的下一个 token 预测计算代码困惑度,交叉熵损失在所有预测的 token 上累积。然后,我们在评估语料库上汇总总损失和 token 数,并计算 $\mathrm{PPL}=\exp(\mathrm{total\ loss}/\mathrm{total\ tokens})$。我们将代码与两个干扰领域配对:PubMedQA 生物医学文本(Jin 等人,2019 (https://arxiv.org/html/2609.03150#bib.bib11)),代表严重的领域不匹配;以及 GSM8K 数学推理(Cobbe 等人,2021 (https://arxiv.org/html/2609.03150#bib.bib3)),代表更温和的偏移。这种双配对设计旨在测试适配器内竞争是仅在强烈的领域不匹配下出现,还是在更接近的领域对下也会出现。对于每个领域对,我们使用固定的训练预算:2,000 个样本和 3,000 个步骤。我们在 3 次运行中进行实验,每次使用不同的数据混合比例。运行 A 仅使用代码,作为单领域参考;运行 B 使用 80/20 的代码/干扰领域混合;运行 C 使用 50/50 混合。为解释不同混合设置中代码暴露度的差异,我们还使用与运行 B 和 C 在独特代码覆盖范围和代码更新次数上匹配的仅代码控制组。运行 B 控制组使用 1,600 个代码样本进行 2,400 次更新,运行 C 控制组使用 1,000 个样本进行 1,500 次更新。我们使用这些控制组来估计观察到的性能下降中有多少可由代码暴露度的减少单独解释。
**范围。** 我们的设置故意采用小规模(1–8B 激活参数,3,000 步),以诱导和隔离可测量的竞争信号,而不是最大化任务性能。因此,绝对代码困惑度无法与收敛模型相比较;我们报告**负迁移**作为相对于运行 A 的方法内变化,以分离领域干扰的影响。
## 4 诊断研究
我们首先诊断多领域 MoE+LoRA 微调可能失败的原因,并探讨以下研究问题:**如果存在任何负迁移,它们是来自路由重叠还是来自 LoRA 适配器内部的冲突?** 我们将**负迁移**定义为相对于仅代码运行的代码困惑度增加。下面,我们演示路由和梯度诊断,以定位 Phi-tiny-MoE-instruct 在代码+生物医学领域对上的退化情况(OLMoE 的相应梯度分析见附录 D.1 (https://arxiv.org/html/2609.03150#A4.SS1))。参见标题图 1:SpawnLoRA 概述。即使 MoE 路由分离了领域,共享的 LoRA 适配器仍可能遭受适配器内竞争。SpawnLoRA 通过在专家内部添加门控子适配器来减少负迁移,同时保持路由器固定。
**排除路由问题。** 我们首先测量两个领域是否激活相同的专家。对于层 $\ell$ 和训练步 $t$,令 $S_c^{(\ell,t)}$ 和 $S_m^{(\ell,t)}$ 分别表示由代码和生物医学 token 激活的专家集合。Jaccard 路由重叠值为 0 表示路由不相交,为 1 表示专家使用完全相同。在 Phi-tiny-MoE-instruct 上,跨层和训练步的平均重叠度为 $\bar{J} \approx 0.056$。因此,路由器在很大程度上分离了这两个领域。因此,路由失败不太可能是一个解释,我们转向直接查看适配器更新。
**梯度空间诊断。** 接下来我们测试两个领域是否在共享的 LoRA 适配器内产生兼容的更新。令 $g_c$ 和 $g_m$ 分别表示代码和生物医学样本的每个领域适配器梯度。我们使用余弦相似度测量它们的一致性,其中值 $+1$ 表示更新一致,$-1$ 表示更新直接相反,0 表示更新正交。在 20 次试验中,整体余弦相似度为 $\cos(g_c, g_m) = -0.002 \pm 0.003$(75% 低于零),表明这些领域不相关而非一致。领域之间的干扰并非因为它们共享路由路径,而是因为它们的适配器梯度在共享的 LoRA 子空间内近乎正交,这是路由分离无法阻止的模式。
## 5 SpawnLoRA
诊断分析将干扰定位在共享的 LoRA 适配器内。为了解决这个问题,我们提出了 SpawnLoRA(图 1 (https://arxiv.org/html/2609.03150#S4.F1)),当检测到竞争时,它在专家内部添加门控子适配器。
### 5.1 方法
**架构。** 每个专家 $E_k$ 包含冻结的专家权重 $W_k$ 和一个始终激活的基础 LoRA 适配器 $L_{k,0}$。在训练期间,SpawnLoRA 在同一专家内添加门控子适配器 $L_{k,j}$。专家的输出为:
$E_k(x) = W_k x + L_{k,0}(x) + \sum_{j=1}^{J_k} \mathrm{ReLU}(w_{k,j}^\top x) L_{k,j}(x)$,
其中 $x$ 是专家输入,$L_{k,0}$ 是基础 LoRA 更新,每个 $L_{k,j}$ 是一个独立的路径,由学习到的 $\mathrm{ReLU}(w_{k,j}^\top x)$ 门控,该门控控制第 $j$ 个子适配器对输入 $x$ 的贡献强度,从而实现输入依赖的专门化,而无需更改 token 路由。
**开销。** 标准 LoRA 适配器的参数和每 token 计算成本为 $O(r\,d_{\mathrm{model}})$。对于拥有 $J_k$ 个衍生子适配器的专家,相应的成本变为 $O((1+J_k)\,r\,d_{\mathrm{model}})$。由于衍生仅发生在检测到竞争的专家中,并且 $J_k$ 被限制为最大 $J_{\max}=10$,因此额外成本是局部的,而不是均匀地应用于所有专家。SpawnLoRA 还保持预训练路由器不变,不会激活额外的专家。
**衍生触发条件。** SpawnLoRA 仅在两个条件持续存在于滚动窗口(即最近的 $N$ 个训练步骤,以避免对单个噪声批次做出反应)内时才添加子适配器。首先,当前适配器的重要性分数停止改进,表明当前路径已停止变化。其次,两个领域平滑损失之间的差距超过 $\delta$,表明领域间的冲突尚未解决。衍生后,窗口重置,并且每个专家的子适配器数量有上限。超参数和重要性分数在附录 A.2 (https://arxiv.org/html/2609.03150#A1.SS2) 中提供。我们测量了每次衍生发生时代码/干扰领域的梯度余弦相似度。在 $N=20$ 次衍生事件中,值范围从 $-0.013$ 到 $+0.140$($82^\circ$–$91^\circ$),表明梯度是近乎正交的而非一致的。
**初始化与路由。** 每个衍生的子适配器是一个标准的 LoRA 模块 $L_{k,j}(x) = B_{k,j} A_{k,j} x$。我们从领先的残差梯度方向初始化 $A_{k,j}$。相似文章
MoE$^2$-LoRA:当MoE模型遇上MoE风格的低秩适配
MoE2-LoRA 引入了一种双通道路由条件投影(Routing-Conditioned Projection)和一个全局 LoRA 专家池,以实现用于微调 MoE 模型的 MoE 风格低秩适配,在保留通用能力的同时取得了最先进的准确率。
@TanejaPriyal: 我想理解LoRA不仅仅是“适配器比全微调更便宜”。于是,我写了一个两部分的系列文章,并进行了…
作者使用vLLM在一张GPU上对服务1000个LoRA适配器进行了基准测试,发现活跃适配器数量和流量模式才是真正的瓶颈,并提供了调优max_loras的建议。
超越 LoRA 与全参数微调:基于梯度引导优化器路由的大语言模型适配
本文提出了一种混合 LoRA 与全参数微调(MoLF)框架,利用梯度引导的优化器路由在 LoRA 和全参数微调之间进行自适应切换。旨在通过结合全参数微调的可塑性与 LoRA 的正则化特性,克服仅依赖静态适配方法的结构局限性。
解构进化式混合LoRA架构:路由杠杆、生命周期惩罚与基底条件边界
本文分析了一种进化式混合LoRA架构,将其解构为路由、评估和生命周期组件。研究发现,路由重写推动了性能提升,而进化生命周期则对模型性能产生了净负面影响。
MoEGen:用于实例自适应LoRA生成的专家混合方法
本文提出MoEGen,一种参数高效的微调框架,利用专家混合技术通过专家码和轻量级超网络生成实例自适应的LoRA更新,在不针对每个专家存储独立适配器的情况下提升了常识推理基准的性能。