flow-copd / refine-logs /FINAL_PROPOSAL.md
Ziruibest's picture
Flow-CoPD migration package: code + teacher LoRAs + setup/download scripts + docs
00d75f0 verified
|
Raw
History Blame Contribute Delete
4.82 kB

Final Proposal — Flow-CoPD: Contrastive On-Policy Distillation for Flow-Matching T2I

Working name: Flow-CoPD · 把 DistiLLM-2 / PBSD 的对比式(contrastive)蒸馏移植到 Flow-OPD。 Date: 2026-06-01 · 1× A100 80GB · SD3.5-M + LoRA · 2-teacher 最小可证。 用户选择: C —— 干净移植一个 LLM-OPD 改进(保留 task teacher,换取最锋利的 novelty)。 演进: DMR-GRPO→TAD(散度塌缩)→TimeRoute(仍需 N 专家)→LRD(=SDEdit+SFT,不锋利)→ Flow-CoPD


创新点(一句话)

Flow-OPD 和它的孪生 DiffusionOPD 都是"只拉不推"(positive-only:只把学生拉向 teacher)。我们补上缺失的对比负项——把学生自己的低 reward on-policy 轨迹"推开"——即 DistiLLM-2 的异号异源不对称(teacher 轨迹用 forward-KL 拉、student 低分轨迹用 reverse-KL 推)。这个负半项正是 positive-only 蒸馏压不住的 reward-hacking 模式的克星。

为什么这次"不塌缩、不撞车"

  • 不塌缩(吸取 TAD 教训):散度选择类(skew/JSD/forward)在 velocity-L2 下退化成加权 L2,是空的;但对比负项是异号(把 v_θ 推离低分行为),不能被任何正向 L2 加权表示 → 真信号。
  • 不撞车(已查):DiffusionOPD 官方页明确"No contrastive terms";Flow-OPD 也是 positive-only;PBSD 做这件事但只在 LLM;DiffusionNFT 有负样本但是 GRPO/policy-improvement 框架、无 teacher 蒸馏;Diffusion-DPO 是终端 pair、无 teacher、非稠密。Flow-CoPD 落在这几者之间的真实空隙。

Problem Anchor(frozen)

Flow-OPD/DiffusionOPD 用 task teacher 的稠密 velocity 监督把学生拉向高质量,但没有显式负信号;它们靠 MAR(冻结美学 anchor 的静态 KL)被动防 reward-hacking。本工作:把 DistiLLM-2 的对比不对称引入 flow OPD,用学生自己的低 reward 轨迹作动态负样本,问:对比负项能否在拿到同等 teacher 对齐增益的同时,显著降低 reward-hacking、并提样本效率?

Non-goals:不解决 task-teacher 成本(用户已接受保留);不做 GRPO/policy-gradient;不改 SDE 采样器;不做散度调度(已知塌缩)。

Method

  • 骨架同 Flow-OPD/DiffusionOPD:task teacher + 学生 on-policy SDE 轨迹 + 每步 reverse-KL→time-weighted velocity-L2(=正项 $L_\text{pos}$,在 teacher 轨迹上拉)。
  • 新增对比负项 $L_\text{neg}$:在学生自己 reward 低的轨迹上,skew-reverse-KL 的排斥项,把 $v_\theta$ 推离低 reward 行为(降低生成这些轨迹的似然)。
  • 异源不对称(DistiLLM-2 核心):SFKL on teacher 轨迹(拉)+ SRKL on student 低分轨迹(推);reward-tilted 目标(PBSD)$\pi^\star!\propto!\pi_\text{teach}\exp(r/\beta)$,梯度 = 升 teacher 似然 + 降 student 似然(按 $\sigma(-\text{margin})$ 加权)。
  • $L=L_\text{pos}+\lambda(t,\text{stage}),L_\text{neg}$,DistiLLM-2 式 curriculum 调 $\lambda$。用动态对比负项替代/增强 MAR 的静态 anchor。

区分(把明显的拒稿理由前置)

工作 负信号? teacher? 稠密? 框架 与 Flow-CoPD 差异
Flow-OPD / DiffusionOPD ❌ positive-only ✅ task OPD 我们加对比负项(它们明确没有)
Diffusion-DPO ❌ 终端 pair DPO 我们有 teacher + 稠密 per-step + on-policy
DiffusionNFT ✅ neg-aware forward-process GRPO 我们是蒸馏(teacher velocity)+ 对比,非 policy-gradient
PBSD ✅ context ✅ token OPD,仅 LLM 我们移植到 flow,velocity-field 稠密目标

Dominant Contribution

首个把对比式不对称(positive-teacher / negative-student)引入 flow-matching on-policy distillation,并证明对比负项专门压制 reward-hacking。 这是 Flow-OPD/DiffusionOPD 缺的那一半。

Why it survives review(外审历史 6/10 区间;hacking-suppression 决定性图可上 7)

  • 真信号(异号负项,不塌缩)+ 真空隙(DiffusionOPD 明确无对比)。
  • 决定性 claim 可证伪:对比负项相对 positive-only 降低 reward-hacking(FID/美学漂移/伪影)且不掉 reward;反例=对称负项/DPO 追平。
  • 单卡友好:负项复用已采的学生轨迹,几乎零额外采样。

Key Risks

  • R1:窄空隙 → 必须靠"vs DiffusionNFT / vs Diffusion-DPO / vs 对称负项"三个对照立住"对比不对称 + teacher + 稠密"的组合贡献。
  • R2:负项可能不稳/把分布推崩 → curriculum 调 $\lambda$、限制负项幅度、保留 MAR 兜底。
  • R3:"reward-hacking 降低"要可测 → 固定 reward 预算下报 reward × FID/美学漂移 的前沿。
  • R4(诚实):保留了 task teacher 成本(用户已接受);贡献是算法(对比项),不是省 teacher。