Source
Salimans and Ho (2022), LIT-067 — Progressive Distillation, where v-prediction is introduced and, more usefully, where the reason for it is diagnosed.
The failure
ε-prediction is fine for ordinary diffusion training and breaks when the model
is evaluated near zero signal-to-noise. LIT-067 states the mechanism:
as the signal-to-noise ratio goes to zero, the effect of small changes in the neural network output on the implied prediction in x-space is increasingly amplified
The implied x̂ is a small number divided by a smaller one. An ordinary
diffusion model is evaluated across a wide range of SNR so this rarely dominates;
anything that concentrates evaluation at the low end — distillation, few-step
sampling — walks straight into it.
The requirement, and three ways to meet it
The stated criterion is that the implied x̂ must remain stable as
λ_t = log(α²/σ²) varies. Three parameterizations satisfy it:
- predict
xdirectly; - predict
xandεon separate channels and merge them,x̂ = σ²·x̃ + α(z − σ·ε̃), interpolating between the two; - predict
v ≡ α_t·ε − σ_t·x, givingx̂ = α_t·z_t − σ_t·v̂.
All three work, for distillation and for training an original diffusion model (§5.1) — which is how v-prediction escaped its original setting.
The loss weighting has to change too
DDPM’s implicit weighting is exp(λ_t), the signal-to-noise ratio, which
assigns weight zero to zero-SNR data and is therefore unusable wherever you
intend to evaluate. LIT-067 offers max(α²/σ², 1) (“truncated SNR”) and
(1 + α²/σ²) — the latter being exactly ‖v − v̂‖², so choosing v-prediction
with an unweighted L2 loss picks the weighting for you.
Check whether your loss weighting is zero anywhere you plan to evaluate. That is a cheap check and it is what would have caught this.
The weighting v picks for you is not the only one, and it has been beaten
once. Hang et al. (LIT-710) trained with both of LIT-067’s
weightings and with a cap, min(SNR, 5) in x0-space. On a v loss the cap is
min(SNR, 5)/(SNR + 1). On ImageNet 256 latents with a ViT-B, the cap
converged fastest under x0, ε and v prediction alike. max(SNR, 1) with an ε
output diverged, because it puts weight 1/SNR on the ε loss. Nothing
here argues against predicting v. It does mean that the unweighted v loss is a
default with a measured alternative, from one group with single runs. For
ε-prediction the gain was mostly early (UNet FID 8.55 → 7.32 at 200K, 4.21 →
4.14 at 1M).
Relation to SOTA-188
SOTA-188 is the derived statement of the same problem: parametrize so the
prediction target has unit variance at every noise level, from EDM’s
preconditioning. This is the empirical statement, four months earlier, and it is
what people type. SOTA-188 says what the coefficients should satisfy; this
says what to predict.
Whether EDM’s unit-variance requirement and LIT-067’s stability criterion are
the same condition or merely close is not written down anywhere.
Conditions
Images, 2022. The three parameterizations are compared and none is shown superior — the paper’s own use of v-prediction is a preference, not a result.
Nothing here bears on autoregressive language modelling; the practice is filed
training-optimization because it is a statement about parameterizing a
conditioned network, and that is the form that generalises.
Known implementations
- Progressive Distillation; Stable Diffusion 2 and successors; the rectified-flow line