Official implementation of "Rethinking Classifier-Free Guidance in On-Policy Diffusion Distillation".
Bingnan Li, Haozhe Wang, Haozhong Xiong, Fangtai Wu, Jinpeng Yu, Yang Shi, Jiaming Liu✉, Ruihua Huang
Qwen Business Unit of Alibaba
We are cleaning up the code and will release it shortly. Star or watch this repository to be notified when it lands.
| Link | |
|---|---|
| 🤗 Checkpoints — distilled dense-to-sparse control models | Cuttle-fish-my/Rethinking-CFG-OPD-ckpts |
| 🤗 Dataset — dense-to-sparse video control benchmark | Cuttle-fish-my/Rethinking-CFG-OPD-Dense2Sparse-Dataset |
On-policy distillation (OPD) adapts diffusion models by querying a teacher along trajectories generated by the current student. Existing OPD methods extend velocity matching to the CFG-composed prediction, directly matching teacher and student guided velocities. We show that this objective is underconstrained at the branch level: positive- and negative-branch errors can compensate in the guided prediction.
Through two contrasting cases we find that naive matching works when both branch errors decrease jointly, but fails when the composed objective induces antagonistic branch-error dynamics, improving the positive branch at the expense of the negative branch. We term this behavior Negative Branch Asymmetry (NBA).
To address NBA, we introduce Positive–Direction Matching (PDM), a branch-aware OPD objective that separately constrains the positive prediction and the CFG conditional direction:
ℓ_PDM = ‖e₊‖² + λ‖d_T − d_S‖², d_M = v⁺_M − v⁻_M
Applied to dense-to-sparse video control, naive guided matching is highly sensitive to inference guidance scales, while branch-aware supervision enables more robust and effective knowledge transfer.
@misc{li2026rethinkingclassifierfreeguidanceonpolicy,
title={Rethinking Classifier-Free Guidance in On-Policy Diffusion Distillation},
author={Bingnan Li and Haozhe Wang and Haozhong Xiong and Fangtai Wu and Jinpeng Yu and Yang Shi and Jiaming Liu and Ruihua Huang},
year={2026},
eprint={2607.24731},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2607.24731},
}