The scheduler is a solver, not a setting
A trained diffusion model predicts noise at a given timestep. It does not say how to walk from pure noise to an image, and the scheduler is that walk.
The reverse process can be written as a differential equation, so sampling is numerical integration and a scheduler is a choice of integrator.
That reframing is why the number of steps became a dial rather than a property of the model: a better solver reaches the same solution in fewer, larger steps.
DDPM, the original walk
Each step removes a little predicted noise and adds a little fresh noise, following the same schedule the forward process used.
It is stochastic, so two runs from the same starting noise give different images, and it needs roughly as many steps as it was trained with.
DDIM, and why it is faster
DDIM estimates the fully clean image at every step and then re-noises it to the next level down, adding no randomness.
Being deterministic, it can skip timesteps: any subsequence of the training schedule is a valid path, so 50 steps out of 1,000 works.
It also makes the noise a latent code. The same seed gives the same image, and interpolating two seeds interpolates the images, which stochastic sampling cannot do.
The higher order solvers
DPM-Solver takes second and third order steps.
Euler's method is a first-order approximation. Using two or three network evaluations to estimate the curvature lets each step travel further without drifting.
That is where the current defaults come from, and it is why modern image tools produce a good image in 20 to 30 steps rather than a thousand.
One sampling run, in order
- Choose the number of steps and select that many timesteps from the training schedule.
- Start from noise, scaled by the scheduler's expected initial variance.
- Evaluate the network, once or several times depending on the solver order.
- Take the step the solver prescribes, moving to the next timestep.
- Repeat, and decode the final latent through the autoencoder if the model works in latent space.
What to expect from the step count
Gains are steep to about 20 steps, marginal to 50, and invisible past 100 on a modern solver.
Doubling the steps doubles the latency and the cost exactly, since every step is one or more full passes through the network.
Guidance multiplies that again, because classifier-free guidance evaluates the network twice per step unless the two passes are batched.
A step count tuned for one scheduler does not transfer to another, which is why comparisons across tools are usually comparing solvers rather than models.