flow matching: train on a straight line
DDPM: curved path
x_0 (data)
x_T ~ N(0, I)
1000-step SDE
DDIM collapses to ~50 steps
flow matching: straight line
x_0
x_1 ~ N(0, I)
x_t = t · x_1 + (1-t) · x_0
2-8 Euler steps at inference
loss = || v_θ(x_t, t) - (x_1 - x_0) ||²
simulation-free training; target is a constant vector along the straight line
rectified flow: iteratively straighten
1. train v_1 with random (x_0, x_1) pairs
2. sample paired (x_0, x_1) by integrating v_1 -> pairs are ODE-matched
3. retrain v_2 on those pairs -> genuinely straighter flow
2 reflow iterations enable 1-step inference (SDXL-Turbo, SD3-Turbo, Flux-schnell)