文生图的最新进展:从一致性模型CMs、LCM、SDXL到Stable Diffusion3、SDXL-Lightning

💡 原文中文,约5000字,阅读约需12分钟。
📝

内容提要

OpenAI的首个视频生成模型sora引发了对文生图和文生视频的热情。清华大学团队推出了Latent Consistency Models (LCM),通过解决潜在空间中的概率流ODE,实现了快速的一步生成。LCM-LoRA是LCM的一种快速、无需训练的推理方法。Stable Diffusion XL Turbo是一种新一代图像合成模型,能够实时响应并生成图像。SDXL使用对抗扩散蒸馏技术,在1-4步内高效采样大规模基础图像扩散模型。

🔎

延伸解读

LCM 的加速原理与部署优势

LCM 将引导逆扩散过程视为增广概率流 ODE 的求解,在潜在空间中直接预测 ODE 解,从而将采样步数压缩到 1-4 步。相比传统扩散模型约 30 步的迭代,生成速度提升 5-10 倍。其蒸馏过程仅需约 32 个 A100 GPU 训练小时,且 LCM-LoRA 作为无需训练的推理模块,可插入 SD-V1.5、SSD-1B、SDXL 等多种模型,降低了实时生成式 AI 的部署门槛。

LCM 与同类模型的横向对比

文章对比了 DeepFloyd IF、Kandinsky 2.2、Wuerstchen V2、SSD-1B、PixArt-α 等模型。LCM 在生成速度上达到 5-10 倍提升,训练难度更低,且部分兼容 SD 生态。LCM-LoRA 体积小、易用,兼容全部 SD 大模型、LoRA、ControlNet 及大量插件,但会牺牲部分图像质量。这一对比表明,LCM 在速度与生态兼容性上优势明显,适合需要快速迭代的场景。

SDXL Turbo 的实时生成能力

SDXL Turbo 在 A100 上生成 512x512 图像仅需 207 毫秒(含编码、单个去噪步骤和解码,fp16),其中 UNet 前向评估占 67 毫秒。这种近乎实时的响应速度支持边输入边生成,甚至可用于游戏风格迁移(约 2fps)。文章认为,这标志着文生图进入实时时代,为交互式创作和动态内容生成提供了新的可能性。

对抗扩散蒸馏的技术取舍

SDXL 采用对抗扩散蒸馏(ADD),结合对抗损失和分数蒸馏损失。对抗损失迫使模型直接生成真实图像流形上的样本,避免模糊和伪影;蒸馏损失利用预训练扩散模型作为教师,提供丰富知识以改善训练。该方法在 1-4 步内高效采样,保持高图像保真度。但文章也指出,此前方法在 4 步内常出现模糊和伪影,ADD 通过结合 GAN 和扩散模型框架来应对这一局限。

❓

Q&A

LCM是什么?它如何实现快速生成?

LCM是潜一致性模型,由清华大学团队于2023年11月推出。它通过将引导的逆扩散过程视为增广概率流ODE的解决方案,在潜在空间中预测ODE的解,从而显著减少迭代步骤,实现快速生成。

LCM-LoRA有什么作用?如何使用?

LCM-LoRA是一种快速、无需训练的推理方法,通过将LCM蒸馏获得的LoRA参数插入各种稳定扩散模型中,如SD-V1.5、SSD-1B和SDXL,从而在自定义数据集上实现快速推理,兼容全部SD大模型、LoRA、ControlNet和大量插件。

SDXL Turbo的生成速度有多快?

SDXL Turbo在A100上可在207毫秒内生成512x512图像(包括编码、单个去噪步骤和解码,fp16),其中单个UNet前向评估占67毫秒,实现了近乎实时的图像生成。

SDXL使用的对抗扩散蒸馏技术是什么?

对抗扩散蒸馏(ADD)是SDXL引入的一种训练技术,结合了对抗损失和蒸馏损失。对抗损失迫使模型直接生成真实图像流形上的样本,避免模糊;蒸馏损失使用预训练扩散模型作为教师,提供重建目标,从而在1-4步内高效采样并保持高图像质量。

LCM与其他类似项目相比有什么优势?

LCM生成速度快5-10倍,训练难度更低,且部分兼容SD生态。LCM-LoRA体积小易用,插入即加速,兼容全部SD大模型、LoRA、ControlNet和大量插件,但会牺牲部分质量。

目前有哪些开源项目支持LCM?

截至2023年11月22日,支持LCM的开源项目包括:Stable Diffusion发行版(如WebUI、ComfyUI、Fooocus、DrawThings)、小模型(LCM-LoRA兼容其他LoRA和ControlNet)以及AnimateDiff WebUI插件。

🏷️

标签

➡️

继续阅读