先记住一句话
难点不是把 GRPO loss 抄到图像上,而是先把确定性 flow 轨迹变成有探索噪声、且每一步概率可评估的 stochastic policy。
1. Flow matching 原本在做什么
给定条件 c,模型学习随时间变化的 velocity field,把 noise x₀ 沿 ODE 搬运到 data sample x₁:
dx_t = vθ(x_t, t, c) dt数值求解器反复调用模型,从噪声走到图像。监督 flow-matching 通常回归目标 velocity;它不直接优化 OCR、审美、组合正确性等最终 reward。
2. 为什么不能直接套 PPO/GRPO
ODE 在给定初始 noise 后是确定性的。离散一步近似为 x_{t+Δ}=x_t+vθΔ,没有一个带方差的 action distribution:
- 同一初始状态缺少局部随机探索;
- transition 是退化 delta distribution,普通 Gaussian log-prob/ratio 不成立;
- 无法像 token policy 那样直接保存每步
log πold(a|s)。
只在初始 noise 上采样当然能得到多张图,但还不足以构造稳定的逐 denoising-step policy ratio。
3. ODE-to-SDE 的桥
Flow-GRPO 构造一个 stochastic differential equation,在连续时间下保持原 probability path 的时间边缘分布,同时加入 diffusion:
dx_t = bθ(x_t,t,c) dt + σ(t) dW_tdrift bθ 由原 flow velocity 与 score-related correction 组合,使每个时刻的 marginal 与原 ODE 对齐。离散后,每一步成为均值由模型决定、方差已知的 Gaussian transition,于是能计算 old/current transition log-prob 和 importance ratio。具体符号会随时间方向、插值 convention 改变,不能脱离论文公式自行复制正负号。
4. Group-relative reward 怎样进入图像轨迹
for prompt c:
sample G stochastic denoising trajectories
decode final images and score r₁...rG
normalize rewards within prompt → A₁...AG
for selected denoising transitions:
ratio = pθ(x_next | x_t,c) / pold(x_next | x_t,c)
maximize clipped ratio × image-level A
optionally regularize toward reference model
与 LLM GRPO 类似,最终图像 reward 作为整条 trajectory 的相对 advantage;不同之处是 action/transition 是连续 latent,概率来自 SDE 离散转移,而非 categorical token distribution。
5. Denoising reduction
完整反向传播每个 sampling step 很贵。论文提出 denoising reduction:rollout 仍走足够的推理步以保持样本质量,但每次 policy update 只选部分 denoising steps 计算 gradient。这是在计算量与 temporal credit coverage 间折中,不是简单把最终推理步数砍掉。
6. 一次训练中有哪些模型与数据
- pretrained flow model,常只训练 LoRA 等少量参数;
- old/rollout policy,用于生成并记录 trajectory statistics;
- 可选 reference policy,限制漂移;
- image reward model/verifier,如 text alignment、OCR、aesthetic;
- prompt group、初始 noise、每步 latent/noise/log-prob 和最终 image。
显存和 I/O 常由保存多条高维 latent trajectory 主导,需要 checkpointing、分步重算或分布式 rollout。
7. 实现最容易错在哪里
- sampler 不一致:训练 log-prob 必须对应实际用的 SDE discretization、noise schedule 与时间方向;
- 精度不一致:rollout 与训练重算的 transition mean 不同,会让更新前 ratio 不为 1;
- 噪声没保存:不能从结果 latent 猜回实际 stochastic transition;
- reward hacking:OCR/美学模型可能被纹理和 prompt 模板欺骗;
- 统一末端 advantage:最终分数无法指出是哪一步改善了文字或构图;
- 探索过强:diffusion 太大虽增加 diversity,也会破坏 pretrained path。
8. 与相邻概念分清
| 方法 | 策略/轨迹 | 关键概率 |
|---|---|---|
| LLM GRPO | token 序列 | categorical token probability |
| Diffusion RL | 随机 denoising chain | Gaussian reverse transition |
| Flow-GRPO | ODE 转换后的 stochastic flow trajectory | 等边缘 SDE 的 transition density |
| 机器人 flow policy | 生成 action chunk 的 flow model | 是否能直接套用取决于 sampler 与 reward setup |
此外,后续文献中也可能有同名 “Flow-GRPO” 指 agentic workflow/planning;名字相同不代表与这篇 flow-matching 图像方法同一算法。
9. 论文结果该怎样读
原论文在其配置中报告 GenEval 从 63% 提升到 95%、text rendering 从 59% 提升到 92%。这些数字说明方法在特定 base model、reward 和 benchmark 下有效,不代表换模型、prompt 分布或 reward 后仍有同样增益;应同时检查 diversity、非 reward 指标和人工评测。
10. 四个 Flow-GRPO 计算
例 1:deterministic Euler flow
Scalar state x=0.2、velocity v=1.5、step Δt=0.1,ODE Euler 得 x_next=0.2+0.1×1.5=0.35。给定 x 后结果唯一,没有普通 policy ratio 所需的非退化 density。
例 2:SDE transition
若 transition mean=0.35、standard deviation=0.05,采样噪声 z=−1,则 x_next=0.35+0.05×(−1)=0.30。现在同一 state 可产生不同下一状态,并能评估 Gaussian log-density。
例 3:同 prompt 图组 advantage
四张图 rewards=[0.9,0.7,0.4,0.0],mean=0.5。只做中心化时 advantages=[0.4,0.2,−0.1,−0.5],和为 0;前两条 trajectory 增概率,后两条降概率。
例 4:denoising reduction
Rollout 用 40 denoising steps、batch 有 256 trajectories,完整反传需 10,240 transition terms。每条只随机训练 5 steps 时为 256×5=1280,训练项减少 8×,但 rollout 生成仍走 40 steps。
ODE-to-SDE 不是随意往 velocity 上加噪声。关键约束是 stochastic process 的 marginal path 与原 flow 对齐,并且训练时使用的 transition density 必须与实际 sampler 一致。
自测
1. 为什么确定性 ODE 没有普通 PPO 所需的 ratio?
给定状态后的下一步是 delta transition,没有可用的非退化 action density 来比较 old/current policy。
2. SDE conversion 同时提供了哪两样东西?
局部 stochastic exploration,以及每步可计算的 transition likelihood。
3. denoising reduction 和减少推理步数相同吗?
不同。前者主要减少参与 gradient update 的时间步,rollout 仍可保留完整采样步以维持质量。
一手资料
Flow-GRPO 论文给出 ODE-to-SDE、group-relative update 与 denoising reduction;官方实现包含训练配置、数值精度与 on-policy ratio 的实践说明。