文生图的最新进展:从LCM、SDXL到与sora同架构的Stable Diffusion3

前言

很明显,OpenAI的首个视频生成模型sora极大程度的提高了大家对文生图、文生视频的热情,也极大的扩展了大家对AIGC的想象力

第一部分 Latent Consistency Models(LCM)

1.1 LCM与通用加速器LCM-LoRA

受到此文《AI绘画神器DALLE 3的解码器:一步生成的扩散模型之Consistency Models》所述的Consistency Models的启发「其采用了一种一致性映射技术,巧妙地将普通微分方程(ODE)轨迹上的点映射到它们的起源,从而实现了快速的一步生成」清华大学交叉信息研究院一团队(包括骆思勉和谭亦钦等人)于2023年11月推出Latent Consistency Models(潜一致性模型,简称LCM)

其通过将引导的逆扩散过程 视为增广概率流ODE(PF-ODE)的解决方案,LCMs能够熟练地预测潜在空间中这些ODE的解(By viewing the guided reverse diffusion process as the resolution of an augmented Probability Flow ODE (PF-ODE), LCMs adeptly predict the solution of such ODEs in latent space),该方法显著减少了迭代步骤的需求

  1. LCMs是从预训练的潜在扩散模型(LDMs)中提炼出来的(其paper:https://huggingface.co/papers/2311.05556、其项目主页:https://latent-consistency-models.github.io/),仅需要约32个A100 GPU训练小时

  2. 且考虑到对于专门的数据集,如动漫、照片逼真或幻想图像,还得使用潜在一致性微调LCF对LCM进行微调(或使用潜在一致性蒸馏LCD将预训练的LDM蒸馏为LCM),故为避免这种额外的步骤阻碍LCMs在不同数据集上的快速部署,该团队还提出了LCM-LoRA

    使得可以在自定义数据集上实现快速、无需训练的推理,比如可以直接将该LoRA(即通过LCM蒸馏获得的LoRA参数)插入各种稳定扩散模型中,包括SD-V1.5(Rombach等,2022年),SSD-1B(Segmind,2023年)和SDXL(Podell等,2023年)等

和需要多步迭代传统的扩散模型(如Stable Diffusion)不同,LCM仅用1 - 4步即可达到传统模型30步左右的效果,LCM将文生图生成速度提升了5-10倍,世界自此迈入实时生成式AI的时代

1.2 LCM-LORA

潜在一致性模型LCM使用一阶引导蒸馏方法进行训练,利用预训练自编码器的潜在空间将引导扩散模型蒸馏成LCM。该过程涉及解决增强概率流动ODE(PF-ODE,确保生成的样本遵循导致高质量图像的轨迹),以下是LCD的伪代码

由于潜在一致性模型LCM的蒸馏过程是在预训练扩散模型的参数之上进行的,我们可以将**潜在一致性蒸馏视为扩散模型的微调过程。**因此,能够使用LoRA

LoRA通过应用低秩分解来更新预训练的权重矩阵

  1. 给定一个权重矩阵,更新表示为,其中,且秩
  2. 在训练过程中, 保持不变,只对A和B应用梯度更新,对于输入,修改后的前向传播过程为

在这个方程中, 代表输出向量,的输出在乘以输入 后相加。 通过将完整的参数矩阵分解为两个低秩矩阵的乘积,LoRA显著减少了可训练参数的数量,从而降低了内存使用量

1.3 LCM与其他类似项目的对比

|-------------------|------------------------------|-----------|-----------|--------------------------------|
| 模型名称 | 介绍 | 生成速度 | 训练难度 | SD生态兼容性 |
| DeepFloyd IF | 高质量、可生成文字,但架构复杂 | 更慢 | 更慢 | 不兼容 |
| Kandinsky 2.2 | 比SDXL发布更早且质量同样高;兼容ControlNet | 类似 | 类似 | 不兼容模型和LoRA,兼容ControlNet等部分插件 |
| Wuerstchen V2 | 质量和SDXL类似 | 2x - 2.5x | 更容易 | 不兼容 |
| SSD-1B | 由Segmind蒸馏自SDXL,质量略微下降 | 1.6x | 更容易 | 部分兼容 |
| PixArt-α | 华为和高校合作研发,高质量 | 类似 | SD1.5十分之一 | 兼容ControlNet等部分插件 |
| LCM (SDXL, SD1.5) | 训练自DreamShaper、SDXL,高质量、速度快 | 5x -10x | 更容易 | 部分兼容 |
| LCM-LoRA | 体积小易用,插入即加速;牺牲部分质量 | 5x -10x | 更容易 | 兼容全部SD大模型、LoRA、ControlNet,大量插件 |

截止至2023/11/22,已支持LCM的开源项目:

  • Stable Diffusion发行版,包括WebUI(原生支持LCM-LoRA,LCM插件支持LCM-SDXL)、ComfyUI、Fooocus(LCM-LoRA)、DrawThings
  • 小模型:LCM-LoRA兼容其他LoRA,ControlNet
  • AnimateDiff WebUI插件

第二部分 Stable Diffusion XL Turbo

2.1 SDXL Turbo:给定prompt 实时响应成图

Stability AI 推出了新一代图像合成模型 Stable Diffusion XL Turbo(其论文地址),使得只用在文本框中输入你的想法,SDXL Turbo 就能够迅速响应,生成对应内容。一边输入,一边生成,内容增加、减少,丝毫不影响它的速度

还可以根据已有的图像,更加精细地完成创作。手中只需要拿一张白纸,告诉 SDXL Turbo 你想要一只白猫,字还没打完,小白猫就已经在你的手中了

SDXL Turbo 模型的速度达到了近乎「实时」的程度,于是有人直接连着游戏,获得了 2fps 的风格迁移画面:

据官方博客介绍,在 A100 上,SDXL Turbo 可在 207 毫秒内生成 512x512 图像(即时编码 + 单个去噪步骤 + 解码,fp16),其中单个 UNet 前向评估占用了 67 毫秒,如此,我们可以判断,文生图已经进入「实时」时代

**2.2 SDXL关键技术:**对抗扩散蒸馏

2.2.1 两个训练目标:对抗损失和蒸馏损失

在SDXL之前

  1. 一致性模型(Consistency Models)通过对ODE轨迹施加一致性正则化(by enforcing a consistency regularization on the ODE trajector)来解决即便迭代采样步骤减少到4-8步,依然能保持较好的性能,且在少样本设置下展示了强大的像素模型性能
  2. 而LCMs专注于在提炼潜在扩散模型并在4个采样步骤中便取得了不错的效果
  3. 包括LCM-LoRA则引入了一种低秩适应[22]训练方法,以高效学习LCM模块,可以插入到SD和SDXL [50, 54]的不同检查点中(LCMs focus on distilling latent diffusion models and achieve impressive performance at 4 sampling steps. Recently, LCM-LoRA [40] introduced a low-rank adaptation [22] training for efficiently learning LCM modules, which can be plugged into different checkpoints for SD and SDXL [50, 54]
  4. InstaFlow [36]提出使用修正流[35]来促进更好的蒸馏过程(InstaFlow [36]propose to use Rectified Flows [35] to facilitate a better distillation proces)

但以上这些方法都有共同的缺陷:在4个步骤中合成的样本通常看起来模糊,并且存在明显的伪影

考虑到GANs也可以作为独立的单步模型进行文本到图像合成的训练 [25,59],且采样速度不错,当然,性能落后于基于扩散的模型。那何不在不破坏平衡的情况下,扩展GAN并整合神经网络架构呢?

  • 而SDXL则引入了一种名为对抗扩散蒸馏(Adversarial Diffusion Distillation,ADD)的技术,可以在仅1-4步内高效采样大规模基础图像扩散模型,并保持高图像质量(a novel training approach that efficiently samples large-scale foundational image diffusion models in just 1--4 steps while maintaining high image quality)
  • 其使用得分蒸馏来利用大规模现成的图像扩散模型作为教师信号,结合对抗性损失,以确保即使在一到两个采样步骤内也能保持高图像保真度(We use score distillation to leverage large-scale off-the-shelf image diffusion models as a teacher signal in combination with an adversarial loss to ensure high image fidelity even in the low-step regime of one or two sampling steps)

具体而言,研究者引入了两个训练目标的组合:

  1. 对抗损失,对抗损失迫使模型在每次前向传递时直接生成位于真实图像流形上的样本,避免了其他蒸馏方法中常见的模糊和其他伪影
  2. 分数蒸馏采样SDS 相对应的蒸馏损失,蒸馏损失 使用另一个预训练(且固定)的扩散模型作为教师(比如可以使用预训练的扩散模型权重初始化模型),有效利用预训练diffusion model的丰富知识,从而显著改善对抗性损失的训练,类似通过CLIP改善文本对齐
    最后,不使用仅解码器的架构来进行GAN训练,而是采用标准的扩散模型框架

2.2.2 训练的具体过程

ADD-student从预训练的UNet-DM中初始化权重 ,具有可训练权重的鉴别器,以及具有冻结权重的DM teacher(The ADD-student is initialized from a pretrained UNet-DM with weights θ, a discriminator with trainable weights ϕ, and a DM teacher with frozen weights ψ)

在训练过程中

  1. ADD-student从噪声数据 生成样本。 噪声数据点是通过正向扩散过程从真实图像数据集 生成的。 在我们的实验中,我们使用与学生DM相同的系数,并从选择的学生时间步长集合中均匀采样

  2. 生成的样本和真实图像被传递给鉴别器Discriminator,鉴别器的目标是区分它们

  3. 为了从DM teacher那里获得知识,我们将学生样本通过教师的前向过程扩散到(we diffuse student samples ˆxθ with the teacher's forward process toˆxθ,t),并使用教师的去噪预测作为蒸馏损失的重建目标(use the teacher's denoising prediction ˆxψ (ˆxθ,t, t)as a reconstruction target for the distillation loss Ldistill)

    因此,总体目标是

// 待更

第三部分 与sora同架构的stable diffusion3

// 待更

参考文献与推荐阅读

  1. SDXL Turbo、LCM相继发布,AI画图进入实时生成时代:字打多快,出图就有多快
相关推荐
北上ing5 小时前
从FP32到BF16,再到混合精度的全景解析
人工智能·pytorch·深度学习·计算机视觉·stable diffusion
源客z1 天前
搭建Stable Diffusion图像生成系统实现通过网址访问(Ngrok+Flask实现项目系统公网测试,轻量易部署)
stable diffusion
源客z2 天前
搭建 Stable Diffusion 图像生成系统并通过 Ngrok 暴露到公网(实现本地系统网络访问)——项目记录
stable diffusion
朴拙数科4 天前
Stable Diffusion秋叶整合包V4独立版Python本地API连接指南
开发语言·python·stable diffusion
璇转的鱼5 天前
爆肝整理!Stable Diffusion的完全使用手册(二)
人工智能·ai作画·stable diffusion·aigc
曲幽6 天前
Stable Diffusion LoRA模型加载实现风格自由
python·ai·stable diffusion·lora·文生图·diffusers
nan_black8 天前
在Pycharm配置stable diffusion环境(使用conda虚拟环境)
stable diffusion·pycharm·conda
AI绘画咪酱8 天前
Stable Diffusion【进阶篇】:如何实现人脸一致
人工智能·深度学习·学习·机器学习·ai作画·stable diffusion
AIGC-Lison9 天前
AI绘画SD中,如何保持生成人物角色脸部一致?Stable Diffusion精准控制AI人像一致性两种实用方法教程!
人工智能·ai作画·stable diffusion·midjourney·sd
AI绘画咪酱10 天前
SD教程|巧用Stable Diffusion,实现不同风格的LOGO设计|实战篇幅,建议收藏!
人工智能·学习·ai作画·stable diffusion·sd