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

简介: 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

目录
相关文章
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
172015 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
12月前
|
人工智能 算法 数据挖掘
魔搭社区携手AFAC2025金融智能创新大赛,共同孵化金融科技新星
8月27日,在上海市科学技术委员会指导下,由北京大学、清华大学、复旦大学、香港大学、蚂蚁集团等近30家海内外顶级院校、头部企业、孵化器等机构联合发起的AFAC2025金融智能创新大赛总决赛路演圆满结束。
530 9
|
9月前
|
文字识别 数据可视化 算法
基于 YOLOv8 的智能车牌定位检测系统设计与实现—从模型训练到 PyQt 可视化落地的完整实战方案
本项目基于YOLOv8实现智能车牌定位检测,涵盖数据处理、模型训练、评估优化及PyQt5可视化界面开发,支持图片、视频、摄像头实时检测。系统精度高、响应快,提供完整代码与预训练模型,适合毕设、课程设计及二次开发,助力智慧交通应用落地。(238字)
671 7
基于 YOLOv8 的智能车牌定位检测系统设计与实现—从模型训练到 PyQt 可视化落地的完整实战方案
|
3月前
|
人工智能 IDE API
AI Agent 框架实战横评:通义灵码、OpenClaw、Hermes 三框架深度对比
AI Agent(智能体)是 2026 年最火的技术方向,但面对众多框架开发者往往无从选择。本文从真实项目需求出发,深度对比阿里云生态三大 Agent 框架——通义灵码(IDE 内智能体)、OpenClaw(开源 Agent 框架)、Hermes Agent(轻量级 Agent 平台),从架构设计、MCP 集成、Vibe Coding、部署方式、成本五个维度进行实战评测,并给出不同场景的选型建议。
|
12月前
|
人工智能 数据可视化 定位技术
不会编程也能体验的 AI 魔法,外滩大会代码原生地等你解锁
不会编程也能体验的 AI 魔法,外滩大会代码原生地等你解锁
668 39
|
人工智能 监控 安全
《当普通人也能当侦探:一个AI小工具的诞生》
我计划参加魔搭(ModelScope)平台上的Qwen-Coder比赛,通过制作一段视频,分享我开发人脸识别工具的过程。这段视频将以轻松幽默的方式,结合生活中的真实案例,展现如何利用AI技术解决普通人面临的隐私与安全问题。
|
9月前
|
JSON 安全 JavaScript
HTTPS 原理
HTTPS是HTTP与SSL/TLS的结合,通过数字证书验证身份,利用非对称加密安全交换会话密钥,再以对称加密高效传输数据。它确保了通信的机密性、完整性和服务器真实性,在互联网上构建安全加密通道。
|
12月前
|
存储 人工智能 机器人
告别 “缸中之脑”:为何 Agent Runtime 至关重要?MuleRun 如何实现突破?
TL;DR:很多 AI Agent 被困在受限且一刀切的沙箱内,而 MuleRun 是全球首个通过提供可完全自定义且持久化的 Agent Runtime 来解决这一问题的平台——即你可以定义操作系统、访问原生软件、跨会话保留状态并分配硬件资源。这让你能打造真正的“数字化工人”,而不仅仅是受限的聊天机器人。
1566 9
|
机器人 容器 Docker
100%由Qwen3-Coder独立编程!工业级RAGFlow聊天机器人实战,故障诊断提速300%
RAGFlow Chatbot 是一个集成了 RAGFlow 技术的智能问答系统,专注于 LCD 彩膜制造领域的专业知识。该系统能够回答关于工艺诊断、缺陷分析、材料验证和设备优化等方面的问题,为工程师和技术人员提供快速准确的知识支持。 功能特性 🤖 基于 RAGFlow 的智能问答系统 💬 实时流式响应,支持思考过程展示 📚 对话历史记录与管理 🔍 搜索历史对话 📤 导出对话记录 🧠 深度思考模式 🌐 响应式设计,支持移动端 🌙 深色主题支持
1041 0

热门文章

最新文章