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

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

目录
相关文章
|
10月前
|
机器学习/深度学习 人工智能 缓存
让AI评测AI:构建智能客服的自动化运营Agent体系
大模型推动客服智能化演进,从规则引擎到RAG,再到AI原生智能体。通过构建“评估-诊断-优化”闭环的运营Agent,实现对话效果自动化评测与持续优化,显著提升服务质量和效率。
3973 86
让AI评测AI:构建智能客服的自动化运营Agent体系
|
9月前
|
数据采集 存储 编解码
智源RoboCOIN重磅开源!全球本体数最多、标注最精细、使用最便捷的高质量双臂机器人真机数据集来了
北京智源研究院联合多家机构发布全球首个“本体数最多、标注最精细、使用最便捷”的双臂机器人真机数据集RoboCOIN,覆盖15类机器人、18万条轨迹、421项任务,首创“层级能力金字塔”标注体系,推动具身智能迈向真实场景应用。
1133 11
 智源RoboCOIN重磅开源!全球本体数最多、标注最精细、使用最便捷的高质量双臂机器人真机数据集来了
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
5676 9
|
人工智能 架构师 程序员
用户说 | 手把手体验通义灵码 2.0:AI 程序员如何让我从“调参侠”进阶“架构师”?
通义灵码 2.0 是强大的 AI 编程工具,助力开发者从“调参侠”进阶为“架构师”。它支持跨语言开发、智能单元测试生成和图生代码等功能,显著提升开发效率。新增 QwQ 模型具备“代码脑补”能力,可推荐性能优化策略。尽管功能强大,但仍需注意环境隔离与代码审查,避免过度依赖。通义灵码 2.0 不仅是工具,更是开发者的“外接大脑”,帮助应对全栈开发挑战。
662 0
|
9月前
|
存储 人工智能 自然语言处理
LlamaIndex 深度实战:用《长安的荔枝》学会构建智能问答系统
本文深入浅出地讲解了RAG(检索增强生成)原理与LlamaIndex实战,通过《长安的荔枝》案例,从AI如何“读书”讲起,详解三大关键参数(chunk_size、top_k、overlap)对问答效果的影响,并结合真实实验展示不同配置下的回答质量差异。内容兼顾新手引导与进阶优化,帮助读者快速构建高效的文档问答系统。
1135 22
LlamaIndex 深度实战:用《长安的荔枝》学会构建智能问答系统
|
10月前
|
数据采集 人工智能 自然语言处理
让跨境电商“懂文化”:AI内容生成在全球民族特色品类中的实践
本文提出并落地了一套基于大模型与民族文化知识库的民族品类智能识别与匹配方案,旨在解决跨境电商平台在服务穆斯林、印度裔等特定民族群体时面临的“供需错配”难题。
1388 28
|
机器学习/深度学习 编解码 缓存
通义万相首尾帧图模型一键生成特效视频!
本文介绍了阿里通义发布的Wan2.1系列模型及其首尾帧生视频功能。该模型采用先进的DiT架构,通过高效的VAE模型降低运算成本,同时利用Full Attention机制确保生成视频的时间与空间一致性。模型训练分为三个阶段,逐步优化首尾帧生成能力及细节复刻效果。此外,文章展示了具体案例,并详细说明了训练和推理优化方法。目前,该模型已开源。
1899 9

热门文章

最新文章