Publication | Open Access
DPM-Solver: A Fast ODE Solver for Diffusion Probabilistic Model Sampling in Around 10 Steps
287
Citations
0
References
2022
Year
Numerical AnalysisEngineeringMachine LearningDiffusion Probabilistic ModelsDiffusion OdesMarkov Chain Monte CarloRecurrent Neural NetworkAround 10Generative ModelModeling And SimulationDiffusion Probabilistic ModelComputer EngineeringFast Ode SolverGenerative ModelsLarge Scale OptimizationComputer ScienceMonte Carlo SamplingDeep LearningSequential Monte CarloModel OptimizationComputational ScienceMonte Carlo MethodDiffusion-based ModelingCifar10 DatasetMultiscale Modeling
Diffusion probabilistic models (DPMs) are emerging powerful generative models. Despite their high-quality generation performance, DPMs still suffer from their slow sampling as they generally need hundreds or thousands of sequential function evaluations (steps) of large neural networks to draw a sample. Sampling from DPMs can be viewed alternatively as solving the corresponding diffusion ordinary differential equations (ODEs). In this work, we propose an exact formulation of the solution of diffusion ODEs. The formulation analytically computes the linear part of the solution, rather than leaving all terms to black-box ODE solvers as adopted in previous works. By applying change-of-variable, the solution can be equivalently simplified to an exponentially weighted integral of the neural network. Based on our formulation, we propose DPM-Solver, a fast dedicated high-order solver for diffusion ODEs with the convergence order guarantee. DPM-Solver is suitable for both discrete-time and continuous-time DPMs without any further training. Experimental results show that DPM-Solver can generate high-quality samples in only 10 to 20 function evaluations on various datasets. We achieve 4.70 FID in 10 function evaluations and 2.87 FID in 20 function evaluations on the CIFAR10 dataset, and a $4\sim 16\times$ speedup compared with previous state-of-the-art training-free samplers on various datasets.