LCM-LoRA:a universal stable-diffusion acceleration module

news/2024/7/10 22:04:56 标签: stable diffusion, lcm-lora, lcm

Consistency is All You Need - wrong.wang什么都不用做生成却快了十倍其实也并非完全不可能icon-default.png?t=N7T8https://wrong.wang/blog/20231111-consistency-is-all-you-need/

1.Stable diffusion实在预训练VAE空间训练diffusion model的结果。

2.consistency decoder是用consistency model技术训练的一个VAE的decoder,能更好的解码VAE latent为RGB的图片,DALLE3开源了lcm decoder,可以和VAE兼容使用。

3.Stable diffusion经过consistency model蒸馏技术蒸馏后得到latent consistency model。

4.既然lcm是对sd的一个finetune过程,那么就可以结合lora finetune技术,不再微调整个sd模型,而是微调个lora,得到lcm-lora>lcm-lora,得到1.5,ssd-1b和sdxl三个版本的lcm-lora>lcm-lora。

5.lcm-lora>lcm-lora可以和其他sd的风格微调模型组合,依然有用,那就不用训练其他的sd模型的lora了,这些sd模型,直接用lcm-lora>lcm-lora就可以加速。

LCM需要微调整个sd模型,consistency model本身可以和sd的网络结构完全一致,但是diffusion model作为ODE,其Solver可以有多种,可以采用硬解法的Solver,比如DPM++等,consistency model解ODE实际上通过的是函数f,f是通过蒸馏得到的,LCM就是在sd基础上利用consistency model蒸馏的,在VAE的潜空间中。社区中一大堆基于sd微调出来的模型难道都要优化一下,才能使用使用lcm技术加速求解吗,这也太麻烦了,于是除了lcm-lora>lcm-lora。既然lcm是对sd的一个微调过程,只是换了一个loss,那就可以使用lora,只用lcm的蒸馏损失优化lora的权重。

lcm-lora>lcm-lora为什么能和之前各种提供style的sd lora直接加权使用呢?

1.lora把finetune增量矩阵限制成了低秩矩阵,两个低秩权重增量矩阵做加权冲突没那么大。

2.微调过程中diffusion前向的数据分布没有改变,lcm-lora>lcm-lora训练过程中仍然用到了diffusion去噪,保证模型输出不会偏移原分布太多,从Zn+k预测的\hatZn依然接近真实Zn的分布。

lcm-lora>lcm-lora训练过程中已经把guidance scale集成进去了,但是如果negative prompt对结果很重要,可以指定guidance scale为1.5试试。


http://www.niftyadmin.cn/n/5253036.html

相关文章

岳阳楼3D模型纹理贴图

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 岳阳楼,位于湖南省岳阳市岳阳楼区洞庭北路,地…

postgresql pgvector 安装间记

1210 安装 postgresql 流程 sh -c echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.listapt-get update -yapt-get install -y gpg-agentapt-get update -yapt-get -y install postgresql默认…

获取当前日期/分钟的开始时间和结束时间

1、LocalDate方法 import java.time.LocalDate; import java.time.LocalTime; // 当前时间(LocalDate方法 LocalDate currentLD LocalDate.now(); System.out.println("当前时间:"currentLD); // 获取当前日期的开始时间(凌晨 00…

利用simlink转化HDL-verilog

首先在simlink中找到HDL CODER 打开红色Blank DUT,进入里面绿色的子系统开始设计系统 例如设计一个正弦信号发生器,里面用到了add、memory、relation operator、switch、constant、cos模块,cos模块选择了cordic算法,使用cordic那…

城市基础设施智慧路灯改造的特点

智慧城市建设稳步有序推进。作为智慧城市的基础设施,智能照明是智慧城市的重要组成部分,而叁仟智慧路灯是智慧城市理念下的新产品。随着物联网和智能控制技术的飞速发展,路灯被赋予了新的任务和角色。除了使道路照明智能化和节能化外&#xf…

vscode插件webview和插件通信

如果你要在 VS Code 插件的 WebView 中调用插件中的方法,可以使用 vscode.postMessage API。具体步骤如下: 在插件中,在创建 WebView 时,指定一个 onDidReceiveMessage 回调方法,该方法会在 WebView 中调用 vscode.po…

c语言编程题经典100例——(96~100例)

1&#xff0c;写一个函数&#xff0c;从键盘输入两个整数&#xff0c;计算它们的和并输出。 从键盘输入两个整数&#xff0c;计算它们的商并输出&#xff1a; #include <stdio.h> void calculate_quotient() { int num1, num2, quotient; printf("请输入两个整…

Java学习手册——第五篇数据类型

数据类型&#xff1a;是数据化的基石&#xff0c;如果没有数据类型怎么表示呢&#xff1f;比如年龄可以用整数&#xff1a;18岁。如果有更好的表示方式大家可以留言哟~ 在举个例子就是姓名&#xff0c;我们需要用字符串的形式来表示。这就是数据类型的魅力&#xff0c;而又有同…