LoRA 模型的全新玩法——AutoLoRA 带你体验 LoRA 检索与融合的魔法

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: LoRA 模型的全新玩法——AutoLoRA 带你体验 LoRA 检索与融合的魔法

 

论文:

https://arxiv.org/abs/2508.02107

 

模型:

https://www.modelscope.cn/models/DiffSynth-Studio/LoRAFusion-preview-FLUX.1-dev

 

代码:

https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/flux/model_inference/FLUX.1-dev-LoRA-Fusion.py

 

01.引言

为了充分挖掘魔搭社区 Diffusion LoRA 模型的潜力,我们开发了一个自动 LoRA 检索与融合框架:AutoLoRA。他可以根据输入的文本提示,从 LoRA 候选池中检索到 个与提示词相关的LoRA,然后通过集成一个门控融合模块在生成图片的时候促进多个 LoRA 协同工作,充分发挥各个 LoRA 的能力。

02.效果展示

检索+融合:社区赋能基模

在 FLUX.1-dev 上进行实验,对每个输入检索1-3个 LoRA,并使用融合模块把她们融合在一起进行生图。可以看到检索到的 LoRA 可以提升原图的细节和整体的美观程度。

 

image.gif 编辑

 

物体+风格:多元功能融合

单独测试融合模块的物体和风格LoRA融合,即保持了物体的一致性也融合了风格样式。

 

image.gif 编辑

风格+风格:实现奇思妙想

"a cat"

LoRA 1

LoRA 2

LoRA 3

LoRA 4

LoRA 1

 


编辑

 


编辑

 


编辑

 


编辑

LoRA 2

 


编辑

 


编辑

 


编辑

 


编辑

LoRA 3

 


编辑

 


编辑

 


编辑

 


编辑

LoRA 4

 


编辑

 


编辑

 


编辑

 


编辑

更多 LoRA 融合

3 个 LoRA 融合也能发挥作用,一个冰雪材质,加皮影戏,加一个背景 LoRA:

 

image.gif 编辑

03.技术亮点

如图所示,AutoLoRA 包括两个关键组件:1)基于权重编码的 LoRA 检索器 和 2)细粒度的门控融合模块。

 

image.gif 编辑

我们先介绍 LoRA 检索器。要实现通过文本检索 LoRA 的功能,我们需要 LoRA 模型转化为一个embedding,但是面对一个模型权重参数,我们难以使用常规的方法对齐进行特征提取。为了解决这个问题,我们利用了一个权重编码器来对 LoRA 进行编码。具体来说就是把LoRA的每一层视为一个 token,首先通过一些可学习的查询和矩阵把 token 转化成 token embedding:.

把所有的层转换成embedding之后,我们可以得到一个 embedding 序列:,最后把用 Transformer Blocks 对其进行全局的特征提取,得到最终的 LoRA embedding: 。

 

LoRA 编码器的训练目标:使用对比损失进行训练,虽然我们拿不到 LoRA 模型的训练数据,但是在社区中 每个 LoRA 通常会带有几张封面图,我们利用这些极其有限的数据构造一个数据集。首先使用 Qwen VL 为每张图片生成三段长度不同的描述来作为每个 LoRA 的文本标签,数据集格式如下:。

训练完之后我们就可以通过计算文本 embedding 与 LoRA embedding 之间的余弦相似度来在候选池检索最想关的LoRA,并且有新增的 LoRA 也不需要对模型重新训练。

接下来介绍我们的 LoRA 融合模块。之前的一些 LoRA 融合方法只能在少数且数量固定的 LoRA 上生效,为了进行可以把检索到的任意数量 LoRA 进行融合,我们提出了一个细粒度的门控融合机制,在线性层中利用可学习的门控模块感知扩散过程中原始模型和 LoRA 各个中间层的隐状态特征,动态计算不同维度的 LoRA 权重。

具体来说,在一个线性层中原始模型的输出为 , 个 LoRA 的输出为 。首先对其进行归一化:

 

随后,通过三个专门的门控组件的协同计算每个 LoRA 的特定维度贡献权重:

 

其中 表示 Base Feature Gate,用于建模原始输出的表示重要性; 表示 LoRA-Specific Gate,用于感知每个 LoRA 适配器的差异化贡献; 表示 ,用于捕获原始输出和 LoRA 输出之间的高阶交互特征。他们都是可学习的权重向量 。 表示 sigmoid 激活函数;\odot 表示逐元素乘法。门控矩阵 中的 用于确定第 个 LoRA 在维度上的贡献。最后,该模块通过幅度校准将原始输出与加权后的 LoRA 输出进行集成:

其中 是一个可学习的融合缩放参数,进一步确保融合的数值稳定性 。

LoRA 融合模块的训练目标:我们使用一个抗干扰训练策略,即在训练的时候同时加载两个 LoRA,但是只用其中一个LoRA的图文进行训练,损失函数使用标准的 flow matching 损失。

04.本地推理

LoRA 融合模型可直接在 DiffSynth-Studio 中进行推理。

安装:

git clone https://github.com/modelscope/DiffSynth-Studio.git  
cd DiffSynth-Studio
pip install -e .

image.gif

推理:

import torch
from diffsynth.pipelines.flux_image_new import FluxImagePipeline, ModelConfig
pipe = FluxImagePipeline.from_pretrained(
    torch_dtype=torch.bfloat16,
    device="cuda",
    model_configs=[
        ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="flux1-dev.safetensors"),
        ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="text_encoder/model.safetensors"),
        ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="text_encoder_2/"),
        ModelConfig(model_id="black-forest-labs/FLUX.1-dev", origin_file_pattern="ae.safetensors"),
        ModelConfig(model_id="DiffSynth-Studio/LoRAFusion-preview-FLUX.1-dev", origin_file_pattern="model.safetensors"),
    ],
)
pipe.enable_lora_magic()
pipe.load_lora(
    pipe.dit,
    ModelConfig(model_id="cancel13/cxsk", origin_file_pattern="30.safetensors"),
    hotload=True,
)
pipe.load_lora(
    pipe.dit,
    ModelConfig(model_id="DiffSynth-Studio/ArtAug-lora-FLUX.1dev-v1", origin_file_pattern="merged_lora.safetensors"),
    hotload=True,
)
image = pipe(prompt="a cat", seed=0)
image.save("image_fused.jpg")

image.gif

05.写在最后

近期随着 Qwen-Image 的开源,开源社区中 Qwen-Image 的 LoRA 模型生态蓬勃发展,我们将会继续优化模型效果,将这项技术应用到 Qwen-Image 的 LoRA 生态中,和广大开发者一起,共建繁荣的开源社区生态!

 

点击链接阅读原文,即可跳转链接~

https://www.modelscope.cn/papers/2508.02107

目录
相关文章
|
1月前
|
物联网
直播预告 | Qwen-lmage 技术分享+实战攻略直播
通义千问团队最新开源的图像生成模型 Qwen-Image,凭借其出色的中文理解与文本渲染能力,自发布以来获得了广泛关注与好评。
126 0
|
1月前
|
JSON 自然语言处理 算法
大模型应用测试必备技能:问题对生成实践
本文介绍了利用LangChain的QAGenerationChain从文本生成问题-答案对(QA pairs)的方法,旨在解决LLM应用开发中测试数据生成的格式不统一、库版本过时、模型输出异常及代码可维护性差等问题。文中提供了完整的代码实现,并对生成结果进行了有效性评估,包括语义相似度检查、关键词匹配和重复性检测,确保生成的QA对质量可靠,适用于知识库测试与评估。
265 86
|
1月前
|
数据采集 机器学习/深度学习 编解码
小红书 hi lab开源最强多模态大模型dots.vlm1,性能对标闭源 Gemini 2.5 Pro 和 Seed-VL1.5
小红书 hi lab开源最强多模态大模型dots.vlm1,性能对标闭源 Gemini 2.5 Pro 和 Seed-VL1.5
286 0
小红书 hi lab开源最强多模态大模型dots.vlm1,性能对标闭源 Gemini 2.5 Pro 和 Seed-VL1.5
|
1月前
|
机器人 图形学 开发者
腾讯混元最新开源:一张图,秒变游戏大片
有没有想过,随手拍的一张风景照,下一秒就能变成可操控的游戏开放世界?
197 3
|
1月前
|
数据采集 人工智能 定位技术
分享一个开源的MCP工具使用的AI Agent 支持常用的AI搜索/地图/金融/浏览器等工具
介绍一个开源可用的 MCP Tool Use 通用工具使用的 AI Agent (GitHub: https://github.com/AI-Agent-Hub/mcp-marketplace ,Web App https://agent.deepnlp.org/agent/mcp_tool_use,支持大模型从Open MCP Marketplace (http://deepnlp.org/store/ai-agent/mcp-server) 的1w+ 的 MCP Server的描述和 Tool Schema 里面,根据用户问题 query 和 工具 Tool描述的 相关性,选择出来可以满足
|
1月前
|
人工智能 自然语言处理 物联网
魔搭社区模型速递(8.10-8.16)
🙋魔搭ModelScope本期社区进展:📟5285个模型,📁497个数据集,🎨59个创新应用,📄 9篇内容
271 0
|
21天前
|
自然语言处理 开发者
拿下30个第1名的腾讯混元翻译模型,开源!
腾讯混元又带来一个在国际机器翻译比赛拿下30个第1名的翻译模型Hunyuan-MT-7B,它总参数量仅7B,支持33个语种、5种民汉语言/方言互译,是一个能力全面的轻量级翻译模型。
254 0
|
1月前
智谱发布GLM-4.5V,全球开源多模态推理新标杆,Day0推理微调实战教程到!
视觉语言大模型(VLM)已经成为智能系统的关键基石。随着真实世界的智能任务越来越复杂,VLM模型也亟需在基本的多模态感知之外,逐渐增强复杂任务中的推理能力,提升自身的准确性、全面性和智能化程度,使得复杂问题解决、长上下文理解、多模态智能体等智能任务成为可能。
358 0

热门文章

最新文章