A diffusion model generates by removing noise. Training destroys data with a little noise at a time until only a blob of pure noise is left, and teaches a network to predict the noise in a noisy point. Generating runs that backwards: start from fresh noise and take many small denoising steps until points land on the shape.