AIGC相关创作中,多个LoRA合并到一起,画风串味、角色崩坏几乎是必然。
过去几年,这件事主要靠经验来处理:调合并权重、调稀疏比例、调缩放系数,试出一组看着还行的配置就算过关;换一批LoRA,又得从头再试一遍。
针对这一问题,来自vivo BlueImage Lab、南京大学等的研究团队,提出了SSR-Merge:Subspace Signal Routing。项目想回答的问题是:LoRA合并为什么会互相干扰?能不能不靠反复试参数,而是把这个干扰直接从数学上解出来?
LoRA(Low-Rank Adaptation)是目前最主流的轻量化微调方式:不动底座模型,只训练一对低秩矩阵,就能让扩散模型学会一个角色、一种画风或一类编辑操作。训练成本低,分享方便,社区里已经积累了数以万计的LoRA。能力越多,“把多个LoRA合并成一个”的需求就越自然。
现有的合并方法,本质上都在参数空间里做算术:
研究团队用一个实验把这种干扰可视化了:给合并模型输入不同任务的指令,看每个LoRA模块被激活的强度。理想情况应该是一条干净的对角线——哪个任务的指令,就只激活哪个LoRA。但用DARE合并的模型,激活图一片通红:一个指令进来,所有模块都被唤起,信号在共享参数空间里四处“串音”。

这些方法的共同假设是:冲突应该在参数空间里解决。但参数空间里,不同任务的更新本来就你中有我、我中有你,无论怎么剪、怎么加权,都是在纠缠的状态下做取舍。
SSR换了一个根本思路:不在参数上做算术,在信号上做路由。
SSR的全称是Subspace Signal Routing(子空间信号路由)。整个方法不需要训练,分三步。
第一步,合并通道。把K个LoRA的下投影矩阵沿秩方向拼接、上投影矩阵横向拼接,构造一个统一的子空间。此时所有任务的信号都走同一条加宽的通道——这是串扰的物理基础,但也是路由的前提:只有信号都在同一个空间里,才有“调度”可言。
第二步,解混。挤进同一条通道之后,K个任务的信号是叠在一起的,就像几个人在同一个房间里同时说话,一支麦克风录下来的只是一段混音。想听清每个人说了什么,得先知道他们是怎么混进去的。SSR的做法是拿一小批校准数据跑一次前向,统计通道内各路信号之间的相关结构,得到一个相关矩阵G——它的第i行第j列,记的就是第i路和第j路信号有多“黏”在一起。既然混合关系已经写在G里,乘上它的逆G⁻¹,就相当于把这团缠绕按统计规律反向拆开,还原出彼此独立的成分。
第三步,导航。解开之后还剩一个问题:每条信号该从哪个出口走?合并后的上投影矩阵是K个LoRA横向拼起来的,每个任务在里面都有属于自己的一段出口通道。SSR构造一个方向引导矩阵Q,负责把解混后的第i路信号对准第i个LoRA的出口,不让它漏进别人的通道。Q的每一项同样由校准数据的二阶统计量直接算出,不需要人工调权重。

合起来,路由器R=QG⁻¹。它的角色很像网络里的交换机:不关心数据包的内容,只负责让每个数据包走对自己的路。
模型合并这个领域,过去几年的方法大多带一个或多个需要手调的系数——合并权重、稀疏比例、缩放因子,效果好不好,很大程度上看调参的手感。SSR最不一样的地方在于:路由器R不是设计出来的,是推导出来的。
论文证明了这样一个结论:R=QG⁻¹在数学上恰好等价于普通最小二乘(OLS)估计量的投影。换句话说,SSR的路由器就是“让合并后各任务的特征重建误差最小”的那个唯一解析解——不是某个接近最优的启发式,而是最优本身。
这个理论框架还顺手解释了一个耐人寻味的现象:传统的任务算术(Task Arithmetic)其实是SSR框架里R=I(不做任何路由)的特例。也就是说,老方法不是错了,而是“放弃了信号调节”的天真情形;SSR只是把这个被放弃的自由度用统计估计补了回来。
工程上,研究团队还做了三件事让它真正可用:
单样本校准(one-shot calibration):统计量的收集不需要训练数据集,也不需要任何真值图像。每个任务只需要一条代表性的提示词(比如训练了某个角色的LoRA,就用一句“A[V]dog”),前向传播一个时间步就够了。
流式计算:利用充分统计量的可加性,边读数据边累加协方差,原始特征用完即弃。内存复杂度从“缓存所有任务所有层的激活”降到常数级O((Kr)²)。
结构化重参数化:部署时把路由器R直接吸收进上投影矩阵,合并产物在结构上就是一个标准LoRA——可以照常合并进底座权重,推理零额外开销,与现有生态完全兼容。
效率实测:在FLUX.1-dev上合并9个LoRA(覆盖全部transformer层),合并阶段耗时34.26秒,比稀疏化方法TIES快约2.6倍,与纯算术方法DARE(20.95秒)同一量级。
研究团队用DreamBooth数据集的10个主体各训练一个LoRA(FLUX.1-dev为底座),然后做变规模实验:评估某个目标任务时,把它的LoRA和K−1个随机干扰LoRA合并,看目标主体的生成保真度还剩多少。K从3加到9,干扰逐渐加剧。
在最严苛的K=9设置下,SSR的DINOv2相似度0.6713、CLIP分数0.7850,比最强的基线IterIS(0.6240/0.7520)分别高出0.0473和0.0330。更值得注意的是稳定性:从K=3到K=9,SSR始终保持在单任务上限90%以上的恢复率(90.2%–98.6%),而所有基线都随K增大明显滑坡。

单任务保真只是底线,真实需求往往是组合:一句提示词里要同时出现2~4个特定主体。研究团队构造了100条组合指令(K均匀分布在2/3/4),用Grounding DINO检测每个主体是否真的画出来了,并对检出区域计算与真值的相似度——没被画出来的主体直接计零分。

SSR的成功率91%,比DARE高出29个百分点。这个数字暴露了稀疏化方法的真实代价:TIES和DARE的保真度尚可,但成功率只有69%和62%——它们是靠“丢掉一部分任务”换来表面稳定的。SSR不需要这种交换。

研究团队构造了一个精细人脸编辑基准:口红、腮红、眼影三个独立的编辑LoRA,合并后一次性上妆。测试集100张FFHQ人像,以商业修图软件串行执行三个操作的结果作为参考答案。

定性结果更能说明问题:Task Arithmetic几乎没编辑上,输出和原图相差无几;TIES妆效寡淡;DARE属性失衡——口红被过度放大,其他妆容被掩盖。SSR以均衡的强度、准确的位置还原了全部三个属性,也最接近串行执行的真值。

此外,附录里还有三组值得一提的验证:合并规模扩展到K=21时SSR仍保持77%以上的恢复率;从哩布哩布(Liblib)平台直接下载三个真实社区LoRA(打光、人像美化、人像风格化)做合并,SSR的CLIP分数0.821为全部方法最高;甚至在扩散模型之外的GLUE语言理解基准上,SSR也以80.9的平均分超过所有合并基线——说明“路由”这个视角不只适用于图像生成。
SSR也有它的边界。一是它优化的是局部线性重建目标,理论上不保证完整非线性扩散过程的全局最优——实验里这个局部最优已经非常接近上限,但极端条件下差距仍可能拉大。二是当被合并的任务之间存在严重的域冲突或高度语义重叠时,信号本身就难以区分,路由的难度随之上升,性能可能下降。
还有一点关于使用边界:更高保真的多概念组合能力,同样意味着更强的合成内容生产力,存在被用于生成误导性内容的风险,研究团队呼吁负责任地使用。
第一,LoRA合并是“能力资产化”的关键一环。社区里数以万计的LoRA是真正的资产——每一个背后都是数据、算力和审美调校。但资产只有能组合才有复利。过去几年,“合并不掉干扰”这件事把大量组合需求挡在了门外,或者逼着大家在串行执行和效果折损之间做选择。SSR证明了一种新的可能性:合并可以是无训练、有理论保证、零额外推理开销的标准操作,合并产物就是一个普通LoRA,工程接入成本几乎为零。对需要落地人像编辑、风格化等能力的业务来说,这意味着“下载即可合并、合并即可上线”。
第二,这个领域该从“调参的艺术”走向“统计估计的科学”。模型合并过去几年积累了大量经验性技巧,好用,但说不清为什么好用。SSR给出的示范是:把干扰问题重新表述为信号空间里的估计问题,最优解就自然浮现,而且附带严格的误差界。凡是有“多个增量模块共享一个底座”的地方——不只扩散模型,GLUE上的结果说明语言模型也一样——路由视角都值得尝试。
论文:SSR-Merge: Subspace Signal Routing for Training-Free LoRA Merging in Diffusion Models
作者团队:vivo BlueImage Lab、南京大学等
论文链接:https://arxiv.org/abs/2606.10617
代码开源:https://github.com/nagara214/SSR-Merge
文章来自于"量子位",作者 "vivo BlueImage Lab"。
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0