UniPCMultistepScheduler
UniPCMultistepScheduler
是一个用于快速采样扩散模型的无训练框架。它由Wenliang Zhao、Lujia Bai、Yongming Rao、Jie Zhou和Jiwen Lu在UniPC: A Unified Predictor-Corrector Framework for Fast Sampling of Diffusion Models中提出。
它由一个校正器(UniC)和一个预测器(UniP)组成,它们共享一个统一的解析形式,并支持任意阶数。UniPC的设计是模型无关的,支持无条件/有条件的像素空间/潜在空间扩散模型采样。它还可以应用于噪声预测和数据预测模型。校正器UniC也可以应用于任何现成的求解器之后,以提高精度阶数。
论文的摘要如下:
扩散概率模型(DPMs)在高分辨率图像合成方面展示了非常有前景的能力。然而,由于去噪网络的多次评估,从预训练的DPM中采样是耗时的,这使得加速DPM的采样变得越来越重要。尽管最近在设计快速采样器方面取得了进展,但现有方法仍然无法在许多应用中生成令人满意的图像,在这些应用中,更少的步骤(例如,<10)是首选的。在本文中,我们开发了一个统一的校正器(UniC),它可以应用于任何现有的DPM采样器,以在不增加额外模型评估的情况下提高精度阶数,并推导出一个支持任意阶数的统一预测器(UniP)作为副产品。结合UniP和UniC,我们提出了一个名为UniPC的统一预测-校正框架,用于快速采样DPM,它对任何阶数都有一个统一的解析形式,并且可以显著改善先前方法的采样质量,特别是在极少数步骤中。我们通过广泛的实验评估了我们的方法,包括使用像素空间和潜在空间DPM的无条件和有条件采样。我们的UniPC可以在仅10次函数评估的情况下在CIFAR10(无条件)上达到3.87 FID,在ImageNet 256×256(有条件)上达到7.51 FID。代码可在此https URL获取。
提示
建议在引导采样时将solver_order
设置为2,在无条件采样时将solver_order
设置为3。
支持来自Imagen的动态阈值化,对于像素空间扩散模型,你可以将predict_x0=True
和thresholding=True
都设置为使用动态阈值化。这种阈值化方法不适用于Stable Diffusion等潜在空间扩散模型。
UniPCMultistepScheduler
[[autodoc]] UniPCMultistepScheduler
SchedulerOutput
[[autodoc]] schedulers.scheduling_utils.SchedulerOutput