vivo BlueImage Lab 投稿 
量子位 | 公众号 QbitAI

AIGC相关创作中,多个LoRA合并到一起,画风串味、角色崩坏几乎是必然。

过去几年,这件事主要靠经验来处理:调合并权重、调稀疏比例、调缩放系数,试出一组看着还行的配置就算过关;换一批LoRA,又得从头再试一遍。

针对这一问题,来自vivo BlueImage Lab、南京大学等的研究团队,提出了SSR-Merge:Subspace Signal Routing。项目想回答的问题是:LoRA合并为什么会互相干扰?能不能不靠反复试参数,而是把这个干扰直接从数学上解出来?

问题出在哪:大家都在参数空间里“硬碰硬”

LoRA(Low-Rank Adaptation)是目前最主流的轻量化微调方式:不动底座模型,只训练一对低秩矩阵,就能让扩散模型学会一个角色、一种画风或一类编辑操作。训练成本低,分享方便,社区里已经积累了数以万计的LoRA。能力越多,“把多个LoRA合并成一个”的需求就越自然。

现有的合并方法,本质上都在参数空间里做算术:

  • 直接平均/任务算术(Task Arithmetic):把多个LoRA的参数直接相加。最简单,干扰也最直接——两个LoRA改动了同一批参数,加在一起就是互相覆盖。
  • TIES、DARE等稀疏化方法:既然相加会冲突,那就先剪掉一部分参数再加。这类方法确实缓解了冲突,但思路是“丢卒保车”——靠牺牲一部分能力来换取稳定。合并的任务一多,丢的东西就藏不住了。

研究团队用一个实验把这种干扰可视化了:给合并模型输入不同任务的指令,看每个LoRA模块被激活的强度。理想情况应该是一条干净的对角线——哪个任务的指令,就只激活哪个LoRA。但用DARE合并的模型,激活图一片通红:一个指令进来,所有模块都被唤起,信号在共享参数空间里四处“串音”。

左为传统合并方法(DARE),指令会错误激活大量无关模块,串扰严重;右为SSR-Merge,每个任务精确激活自己的目标LoRA,呈干净的对角线结构。

这些方法的共同假设是:冲突应该在参数空间里解决。但参数空间里,不同任务的更新本来就你中有我、我中有你,无论怎么剪、怎么加权,都是在纠缠的状态下做取舍。

SSR换了一个根本思路:不在参数上做算术,在信号上做路由。

SSR的做法:给每条信号装上“交换机”

SSR的全称是Subspace Signal Routing(子空间信号路由)。整个方法不需要训练,分三步。

第一步,合并通道。把K个LoRA的下投影矩阵沿秩方向拼接、上投影矩阵横向拼接,构造一个统一的子空间。此时所有任务的信号都走同一条加宽的通道——这是串扰的物理基础,但也是路由的前提:只有信号都在同一个空间里,才有“调度”可言。

第二步,解混。挤进同一条通道之后,K个任务的信号是叠在一起的,就像几个人在同一个房间里同时说话,一支麦克风录下来的只是一段混音。想听清每个人说了什么,得先知道他们是怎么混进去的。SSR的做法是拿一小批校准数据跑一次前向,统计通道内各路信号之间的相关结构,得到一个相关矩阵G——它的第i行第j列,记的就是第i路和第j路信号有多“黏”在一起。既然混合关系已经写在G里,乘上它的逆G⁻¹,就相当于把这团缠绕按统计规律反向拆开,还原出彼此独立的成分。

第三步,导航。解开之后还剩一个问题:每条信号该从哪个出口走?合并后的上投影矩阵是K个LoRA横向拼起来的,每个任务在里面都有属于自己的一段出口通道。SSR构造一个方向引导矩阵Q,负责把解混后的第i路信号对准第i个LoRA的出口,不让它漏进别人的通道。Q的每一项同样由校准数据的二阶统计量直接算出,不需要人工调权重。

SSR将多个LoRA的子空间合并为统一通道,路由器R=QG⁻¹在其中完成两步操作——先去相关解开混合信号,再将纯净信号引导至各自任务的出口。

合起来,路由器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增大明显滑坡。

随着合并LoRA数量增加,基线方法出现品种改变、颜色漂移、结构崩坏;SSR在各规模下都稳定保持目标主体特征。

问题二:一句指令要求多个能力同时出现,行不行?

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

多任务同图生成。成功率为“K个主体全部被正确画出”的样本比例。

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

双任务与三任务组合生成。基线方法出现主体丢失、身份漂移、凭空多画等典型失败;SSR完整还原全部主体及其特征。

问题三:换一类任务,方法还成立吗?——人像精修

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

人像精修基准。ArcFace衡量身份保持,CLIP衡量与串行执行真值的一致性。

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

口红、腮红、眼影三属性同时编辑。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

一键三连「点赞」「转发」「小心心」

欢迎在评论区留下你的想法!

—  —


【学术投稿】请在工作日发送邮件至:ai@qbitai.com,标题注明【投稿】,并告诉我们:你是谁从哪来投稿内容附上项目/主页链接,以及联系方式

🎓 我们会 (尽量) 及时回复你 :)


🌟 点亮星标 🌟

科技前沿进展每日见

内容中包含的图片若涉及版权问题,请及时与我们联系删除