扩散模型(加速扩散模型,最快1步生成SOTA级图片,字节Hyper-SD开源了)

2024-05-24 09:44 来源:爱美欣 浏览量:

机器之心发布

机器之心编辑部

最近,扩散模型(Diffusion Model)在图像生成领域取得了显著的进展,为图像生成和视频生成任务带来了前所未有的发展机遇。尽管取得了令人印象深刻的结果,扩散模型在推理过程中天然存在的多步数迭代去噪特性导致了较高的计算成本。近期出现了一系列扩散模型蒸馏算法来加速扩散模型的推理过程。这些方法大致可以分为两类:i) 轨迹保持蒸馏;ii) 轨迹重构蒸馏。然而,这两类方法会分别受到效果天花板有限或者或输出域变化这两个问题的限制。

为了解决这些问题,字节跳动技术团队提出了一种名为 Hyper-SD 的轨迹分段一致性模型。Hyper-SD 的开源也得到了Huggingface首席执行官 Clem Delangue的肯定。

该模型是一种新颖的扩散模型蒸馏框架,结合了轨迹保持蒸馏和轨迹重构蒸馏两种策略的优点,在压缩去噪步数的同时保持接近无损的性能。与现有的扩散模型加速算法相比,该方法取得了卓越的加速效果。经过大量实验和用户评测的验证,Hyper-SD 在 SDXL 和 SD1.5 两种架构上都能在 1 到 8 步生成中实现 SOTA 级别的图像生成性能。

  • 项目主页:https://hyper-sd.github.io/
  • 论文链接:https://arxiv.org/abs/2404.13686
  • Huggingface 链接:https://huggingface.co/ByteDance/Hyper-SD
  • 单步生成 Demo 链接:https://huggingface.co/spaces/ByteDance/Hyper-SDXL-1Step-T2I
  • 实时画板 Demo 链接:https://huggingface.co/spaces/ByteDance/Hyper-SD15-Scribble

视频加载中...

现有用于扩散模型加速的蒸馏方法大致可以分为两大类:轨迹保持蒸馏和轨迹重构蒸馏。轨迹保持蒸馏技术旨在维持扩散对应的常微分方程(ODE)的原始轨迹。其原理是通过迫使蒸馏模型和原始模型产生相似的输出来减少推理步骤。然而需要注意的是,尽管能够实现加速,由于模型容量有限以及训练拟合过程中不可避免的误差,这类方法可能导致生成质量下降。相比之下,轨迹重构方法则直接利用轨迹上的端点或真实图像作为监督的主要来源,忽略了轨迹的中间步骤,能够通过重建更有效的轨迹来减少推理步骤的数量,并在有限的步骤内探索模型的潜力,将其从原始轨迹的约束中解放出来。然而,这通常会导致加速模型与原始模型的输出域不一致,从而得到不理想的结果。

本论文提出了一种结合轨迹保持和重构策略优点的轨迹分段一致性模型(简称 Hyper-SD)。具体而言,该算法首先引入轨迹分段一致性蒸馏,在每个段内强制保持一致性,并逐渐减少段的数量以实现全时一致性。这一策略解决了由于模型拟合能力不足和推理误差累积导致的一致性模型性能次优的问题。随后,该算法利用人类反馈学习(RLHF)来提升模型的生成效果,以弥补加速过程中模型生成效果的损失,使其更好地适应低步数推理。最后,该算法使用分数蒸馏来增强一步生成性能,并通过统一的 LORA 实现理想化的全时间步数一致扩散模型,在生成效果上取得了卓越的成果。

方法

1. 轨迹分段一致性蒸馏

一致性蒸馏(CD)[24] 和一致性轨迹模型(CTM)[4] 都旨在通过一次性蒸馏将扩散模型转换为整个时间步范围 [0,T] 的一致性模型。然而,由于模型拟合能力的限制,这些蒸馏模型往往达不到最优性。受到 CTM 中引入的软一致性目标的启发,我们通过将整个时间步范围 [0, T] 划分为 k 段并逐步执行分段一致模型蒸馏来细化训练过程。

在第一阶段,我们设置 k=8 并使用原始扩散模型来初始化 和。起始时间步是从中均匀随机采样的。然后,我们对结束时间步进行采样,其中计算如下:

完整的算法流程如下:

2. 人类反馈学习

3. 一步生成强化

实验

在 SD1.5 和 SDXL 上和目前现有的各种加速算法的定量比较,可以看到 Hyper-SD 显著优于当前最先进的方法

此外,Hyper-SD 能够用一个模型来实现各种不同低步数的推理,上面的定量指标也显示了我们方法在使用统一模型推理时的效果。

在 SD1.5 和 SDXL 上的加速效果可视化直观地展示了 Hyper-SD 在扩散模型推理加速上的优越性。

大量的 User-Study 也表明 Hyper-SD 相较于现有的各种加速算法的优越性。

Hyper-SD 训练得到的加速 LoRA 能够很好地兼容不同的风格的文生图底模。

同时,Hyper-SD 的 LoRA 也能适配现有的 ControlNet,实现低步数下高质量的可控图像生成

总结

论文提出了 Hyper-SD,一个统一的扩散模型加速框架,可以显著提升扩散模型的在低步数情况下的生成能力,实现基于 SDXL 和 SD15 的新 SOTA 性能。该方法通过采用轨迹分段一致性蒸馏,增强了蒸馏过程中的轨迹保存能力,实现接近原始模型的生成效果。然后,通过进一步利用人类反馈学习和变分分数蒸馏提升模型在极端低步数下的潜力,从而产生了更优化、更高效的模型生成效果。论文还开源了用于 SDXL 和 SD15 从 1 到 8 步推理的 Lora 插件,以及专用的一步 SDXL 模型,旨在进一步推动生成式 AI 社区的发展。

友情链接: