Skip to content

DEISMultistepScheduler

扩散指数积分器采样器(DEIS)由Qinsheng Zhang和Yongxin Chen在《使用指数积分器的扩散模型快速采样》中提出。DEISMultistepScheduler 是一种用于扩散常微分方程(ODEs)的高阶快速求解器。

此实现修改了DEIS论文中原有的线性t空间中的多项式拟合公式,改为在log-rho空间中进行拟合。这一修改使得指数多步更新的系数具有闭式解,而不再依赖数值求解器。

论文的摘要如下:

过去几年见证了扩散模型(DMs)在生成建模任务中生成高保真样本的巨大成功。DM的一个主要限制是其臭名昭著的缓慢采样过程,通常需要数百到数千个时间离散化步骤才能达到所需的精度。我们的目标是开发一种快速采样方法,在保留高样本质量的同时,使用更少的步骤。为此,我们系统地分析了DM中的采样过程,并识别出影响样本质量的关键因素,其中离散化方法最为关键。通过仔细检查学习到的扩散过程,我们提出了扩散指数积分器采样器(DEIS)。它基于为离散化常微分方程(ODEs)设计的指数积分器,并利用学习到的扩散过程的半线性结构来减少离散化误差。所提出的方法可以应用于任何DM,并且可以在仅10步内生成高保真样本。在我们的实验中,使用一张A6000 GPU生成50k张CIFAR10图像大约需要3分钟。此外,通过直接使用预训练的DM,我们在评分函数评估次数(NFE)受限的情况下实现了最先进的采样性能,例如,在CIFAR10上使用10个NFE达到4.17 FID,使用15个NFE达到3.37 FID和9.74 IS。代码可在此https URL获取。

提示

建议将solver_order设置为2或3,而solver_order=1等同于[DDIMScheduler]。

支持来自Imagen的动态阈值化,对于像素空间扩散模型,你可以设置thresholding=True以使用动态阈值化。

DEISMultistepScheduler

[[autodoc]] DEISMultistepScheduler

SchedulerOutput

[[autodoc]] schedulers.scheduling_utils.SchedulerOutput