【扩散模型】LCM LoRA:一个通用的Stable Diffusion加速模块

潜在一致性模型:[2310.04378] Latent Consistency Models: Synthesizing High-Resolution Images with Few-Step Inference (arxiv.org)

原文:Paper page - Latent Consistency Models: Synthesizing High-Resolution Images with Few-Step Inference (huggingface.co)

简介:LCM 只需 4,000 个训练步骤(约 32 个 A100 GPU/小时)即可从任何预训练的稳定扩散 (SD) 中提取出来,只需 2~4 个步骤甚至一步即可生成高质量的 768 x 768 分辨率图像,从而显着加速文本转换 -图像生成。 

潜在一致性模型

介绍

潜在扩散模型(Latent Diffusion models, ldm)在高分辨率图像合成方面取得了显著的成果。然而,迭代采样过程计算量大,导致生成速度慢。受一致性模型的启发,我们提出了潜在一致性模型(Latent Consistency Models, lcm),能够在任何预训练的ldm上以最小的步骤进行快速推理,包括稳定扩散。

原理:将引导反向扩散过程视为求解增强概率流ODE (PF-ODE), lcm设计用于直接预测潜在空间中此类ODE的解,从而减少了多次迭代的需要,并允许快速,高保真采样。有效地从预训练的无分类器引导扩散模型中提取,高质量的768×768 2 ~ 4步LCM仅需32 A100 GPU小时即可进行训练。此外,引入了潜在一致性微调(LCF),这是一种针对自定义图像数据集微调LCF的新方法。

一致性模型(CMs):作为一种新型生成模型显示出巨大的潜力,可以在保持生成质量的同时加快采样速度。一致性模型采用一致性映射,直接将ODE轨迹中的任意点映射到原点,实现快速一步生成。可以通过提取预训练的扩散模型或作为独立的生成模型进行训练。

原理

潜在空间中的一致性蒸馏

在诸如稳定扩散(Stable Diffusion, SD)(Rombach et al, 2022)等大规模扩散模型中,利用图像的潜在空间有效地提高了图像生成质量并减少了计算负载。在SD中,首先训练一个自编码器(E, D)来将高维图像数据压缩为低维潜在向量 𝑧=𝐸(𝑥)z=E(x),然后解码以重建图像 𝑥ˆ=𝐷(𝑧)xˆ=D(z)。在潜在空间中训练扩散模型与基于像素的模型相比,大大降低了计算成本并加快了推理过程;潜在扩散模型(LDMs)使得在笔记本电脑的GPU上生成高分辨率图像成为可能。

对于潜在一致性模型(LCMs),我们利用潜在空间的一致性蒸馏优势,与一致性模型(CMs)(Song et al, 2023)中使用的像素空间形成对比。这种方法被称为潜在一致性蒸馏(LCD),应用于预训练的SD,允许在1至4步内合成高分辨率的768×768图像。我们专注于条件生成。回顾一下逆扩散过程的PF-ODE:

其中𝑧𝑡是图像潜在变量,𝜖𝜃(𝑧𝑡,𝑐,𝑡) 是噪声预测模型,𝑐 是给定的条件(例如文本)。通过从 𝑇 到 0 解决 PF-ODE 可以抽取样本。为了执行潜在一致性蒸馏(LCD),我们引入一致性函数 𝑓𝜃:(𝑧𝑡,𝑐,𝑡)→𝑧0​,直接预测 𝑡=0 时 PF-ODE 的解(公式8)。通过噪声预测模型 𝜖^𝜃参数化 𝑓𝜃,如下所示:

其中 𝑐skip(0)=1,𝑐out(0)=0,且 𝜖^𝜃(𝑧,𝑐,𝑡) 是噪声预测模型,其初始参数与教师扩散模型相同。假设有一个高效的ODE求解器 Ψ(𝑧𝑡,𝑡,𝑠,𝑐),用于近似积分公式8的右侧,从时间 𝑡 到 𝑠。在实际操作中,可以使用DDIM,DPM-Solver或DPM-Solver++ 作为 Ψ(⋅,⋅,⋅,⋅)。

只在训练/蒸馏中使用这些求解器,而不是在推理中。潜在一致性模型(LCM)旨在通过最小化一致性蒸馏损失来预测PF-ODE的解:

通过求解增强的PF-ODE进行单阶段引导蒸馏

无分类器引导(Classifier-free guidance, CFG)对于在稳定扩散(SD)中合成高质量的文本对齐图像至关重要,通常需要大于6的CFG比例 𝜔。因此,将CFG集成到蒸馏方法中变得不可或缺。之前的方法 Guided-Distill引入了一个两阶段蒸馏以支持从引导扩散模型中进行少步采样。然而,这种方法计算密集估计,2步推理至少需要45个A100 GPU天)。相比之下,潜在一致性模型(LCM)仅需要32个A100 GPU小时的训练时间来进行2步推理,如图1所示。此外,两阶段引导蒸馏可能导致累积误差,导致性能不佳。相反,LCM通过求解增强的PF-ODE采用高效的单阶段引导蒸馏。回顾在逆扩散过程中使用的CFG:

其中用条件噪声和无条件噪声的线性组合代替原有的噪声预测,ω称为引导标度。为了从引导逆向过程中采样,我们需要求解以下增广的PF-ODE(即,与ω相关的项增广):

为了有效地进行一级导向蒸馏,我们引入增广一致性函数fθ:(zt, ω, c, t)→z0来直接预测t = 0时增广PF-ODE (Eq. 13)的解。我们以与Eq. 9相同的方式参数化fθ,除了λ θ(z, c, t)被λ ϵθ(z, ω, c, t)取代,这是一个用与教师扩散模型相同的参数初始化的噪声预测模型,但还包含额外的可训练参数,用于ω的调节。一致性损失与Eq. 10相同,只是我们使用增广一致性函数fθ(zt, ω, c, t)。

跳过时间步加速蒸馏

离散扩散模型通常通过长时间步长计划 {𝑡𝑖}𝑖(也称为离散化计划或时间计划)训练噪声预测模型,以实现高质量的生成结果。例如,稳定扩散(SD)有一个长度为1000的时间计划。然而,直接将潜在一致性蒸馏(LCD)应用于具有如此长时间计划的SD可能会有问题。模型需要在所有1000个时间步长上进行采样,而一致性损失试图使LCM模型 𝑓𝜃(𝑧𝑡𝑛+1,𝑐,𝑡𝑛+1) 的预测与在相同轨迹上下一步 𝑓𝜃(𝑧𝑡𝑛,𝑐,𝑡𝑛) 的预测对齐。由于 𝑡𝑛 − 𝑡𝑛+1​ 很小,𝑧𝑡𝑛 和 𝑧𝑡𝑛+1(因此 𝑓𝜃(𝑧𝑡𝑛+1,𝑐,𝑡𝑛+1)和 𝑓𝜃(𝑧𝑡𝑛,𝑐,𝑡𝑛))已经彼此接近,导致一致性损失很小,因此收敛速度慢。

为了解决这个问题,我们引入了跳步方法(SKIPPING-STEP),大大缩短了时间计划的长度(从数千缩短到几十),以实现快速收敛,同时保持生成质量。

一致性模型(CMs)使用EDM连续时间计划,并使用欧拉或Heun求解器作为数值连续PF-ODE求解器。对于LCMs,为了适应稳定扩散中的离散时间计划,我们使用DDIM,DPM-Solver或DPM-Solver++作为ODE求解器。

现在,我们介绍潜在一致性蒸馏(LCD)中的跳步方法。与确保相邻时间步长 𝑡𝑛+1→𝑡𝑛 之间的一致性不同,LCMs旨在确保当前时间步长和相隔 𝑘 步的时间步长 𝑡𝑛+𝑘→𝑡𝑛之间的一致性。注意,设置 𝑘=1k=1 会恢复到中的原始计划,导致收敛速度慢,而非常大的 𝑘 可能会导致ODE求解器的大近似误差。在我们的主要实验中,我们设置 𝑘=20,将时间计划的长度从数千减少到几十。第5.2节的结果显示了不同 k 值的效果,并揭示跳步方法在加速LCD过程中的重要性。具体来说,公式14中的一致性蒸馏损失被修改为确保从 𝑡𝑛+𝑘 到 𝑡𝑛 的一致性:

 上述推导类似于公式15。对于LCM,我们在此使用三种可能的ODE求解器:DDIM (Song et al, 2020a)、DPM-Solver (Lu et al, 2022a)、DPM-Solver++。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/40788.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK优化之Filebeat部署

目录 1.安装配置Nginx 2.安装 Filebeat 3.设置 filebeat 的主配置文件 4.修改Logstash配置 5.启动配置 6.kibana验证 主机名ip地址主要软件es01192.168.9.114ElasticSearches02192.168.9.115ElasticSearches03192.168.9.116ElasticSearch、Kibananginx01192.168.9.113ng…

Redis---9---集群(cluster)

将新增的6387节点(空槽号)作为master节点加入原集群 Redis—9—集群(cluster) 是什么 定义 ​ 由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复…

5个实用的文章生成器,高效输出优质文章

在自媒体时代,优质内容的持续输出是吸引读者、提升影响力的关键。然而,对于许多自媒体创作者来说,频繁的创作难免会遭遇灵感枯竭、创作不出文章的困扰。此时,文章生成器便成为了得力的助手。文章生成器的优势能够快速自动生成高质…

代码随想录算法训练营第13天|二叉树的递归遍历、二叉树的迭代遍历、二叉树的统一迭代法、102.二叉树的层序遍历

打卡Day13 1.理论基础2.二叉树的递归遍历3.二叉树的迭代遍历3.二叉树的统一迭代法4.102.二叉树的层序遍历扩展107. 二叉树的层序遍历 II199.二叉树的右视图637.二叉树的层平均值429.N叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧节点指针117. 填充每个…

如何保证接口幂等性

如何保证接口幂等性 1、幂等性是什么? 接口幂等性是指用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了不同的结果。 2、使用幂等性的场景有哪些? 页面点击保存按钮时,不小心快速点了两次…

上万组风电,光伏,用户负荷数据分享

上万组风电,光伏,用户负荷数据分享 可用于风光负荷预测等研究 获取链接🔗 https://pan.baidu.com/s/1izpymx6R3Y8JsFdx42rL0A 提取码:381i 获取链接🔗 https://pan.baidu.com/s/1izpymx6R3Y8JsFdx42rL0A 提取…

一行代码用git新建分支

1.在本地创建分支 dev git branch dev2.切换分支 git checkout devwebstorm操作如下: 3.推送新分支到远程 git push --set-upstream origin 分支名webstorm操作如下:提交代码的时候会自动推送到远程 4.到git上面可以看看刚刚推送的内容 dev多推送…

Proxmox VE 8虚拟机直通USB磁盘

作者:田逸(fromyz) 今天有个兄弟发消息,咨询怎么让插在服务器上的U盾被Proxmox VE上的虚拟机识别。在很久很久以前,我尝试过在Proxmox VE 5以前的版本创建windows虚拟机,并把插在Proxmox VE宿主机上的银行U…

Android ViewPostImeInputStage输入事件处理

InputDispatcher向InputChannel使用socket写入输入事件,触发InputEventReceiver调用来接收输入事件。 ViewPostImeInputStage处理view控件的事件 frameworks/base/core/java/android/view/InputEventReceiver.java dispatchInputEvent frameworks/base/core/jav…

SwinTransformer的相对位置索引的原理以及源码分析

文章目录 1. 理论分析2. 完整代码 引用:参考博客链接 1. 理论分析 根据论文中提供的公式可知是在 Q Q Q和 K K K进行匹配并除以 d \sqrt d d ​ 后加上了相对位置偏执 B B B。 A t t e n t i o n ( Q , K , V ) S o f t m a x ( Q K T d B ) V \begin{aligned} &…

绝了,华为伸缩摄像头如何突破影像边界?

自华为Pura70 Ultra超聚光伸缩镜头诞生以来,备受大家的关注,听说这颗镜头打破了传统手机的摄像头体积与镜头的设计,为我们带来了不一样的拍照体验。 智能手机飞速发展的今天,影像功能已经成为我们衡量一款手机性能的重要指标。想…

MySQL中mycat与mha应用

目录 一.Mycat代理服务器 1.Mycat应用场景 2.mycat安装目录结构说明 3.Mycat的常用配置文件 4.Mycat日志 5.mycat 实现读写分离 二.MySQL高可用 1.原理过程 2.MHA软件 3.实现MHA 一.Mycat代理服务器 1.Mycat应用场景 Mycat适用的场景很丰富,以下是几个典型…

沪上繁花:上海电信的5G-A之跃

2024年6月18日下午,在上海举行的3GPP RAN第104次会议上,3GPP正式宣布R18标准冻结。R18是无线网络面向5G-A的第一个版本,其成功冻结正式宣布了5G发展迎来新机遇,5G-A商用已进入全新的发展阶段。 在5G-A滚滚而来的时代洪流中&#x…

C#实战|账号管理系统:通用登录窗体的实现。

哈喽,你好啊,我是雷工! 本节记录登录窗体的实现方法,比较有通用性,所有的项目登录窗体实现基本都是这个实现思路。 一通百通,以下为学习笔记。 01 登录窗体的逻辑 用户在登录窗输入账号和密码,如果输入账号和密码信息正确,点击【登录】按钮,则跳转显示主窗体,同时在固…

上海外贸建站公司wordpress模板推荐

Sora索啦高端制造业wordpress主题 红色高端制造业wordpress主题,适合外贸企业出海建独立站的wordpress模板。 https://www.jianzhanpress.com/?p5885 Yamal外贸独立站wordpress主题 绿色的亚马尔Yamal外贸独立站wordpress模板,适用于外贸公司建独立站…

Redis 中 Set 和 Zset 类型

目录 1.Set类型 1.1 Set集合 1.2 普通命令 1.3 集合操作 1.4 内部编码 1.5 使用场景 2.Zset类型 2.1 Zset有序集合 2.2 普通命令 2.3 集合间操作 2.4 内部编码 2.5 使用场景 1.Set类型 1.1 Set集合 集合类型也是保存多个字符串类型的元素,但是和列表类型不同的是&…

【Go】excelize库实现excel导入导出封装(四),导出时自定义某一列或多列的单元格样式

大家好,这里是符华~ 查看前三篇: 【Go】excelize库实现excel导入导出封装(一),自定义导出样式、隔行背景色、自适应行高、动态导出指定列、动态更改表头 【Go】excelize库实现excel导入导出封装(二&…

WY-35A4T三相电压继电器 导轨安装 约瑟JOSEF

功能简述 WY系列电压继电器是带延时功能的数字式交流电压继电器。 可用于发电机,变压器和输电线的继电保护装置中,作为过电压或欠电压闭锁的动作元件 LCD实时显示当前输入电压值 额定输入电压Un:100VAC、200VAC、400VAC产品满足电磁兼容四级标准 产品…

VBA初学:零件成本统计之一(任务汇总)

经过前期一年多对金蝶K3生产任务流程和操作的改造和优化,现在总算可以将零件加工各个环节的成本进行归集了。 原本想写存储过程,通过直接SQL报表做到K3中去的,但财务原本就是用EXCEL,可以方便调整和保存,加上还有一部分…

便携式气象站:探索自然的智慧伙伴

在探索自然奥秘、追求科学真理的道路上,气象数据始终是我们不可或缺的指引。然而,传统的气象站往往庞大而笨重,难以在偏远地区或移动环境中灵活部署。 便携式气象站,顾名思义,是一种小巧轻便、易于携带和安装的气象观测…