- Published on
Flow-GRPO:从采样到梯度回传的完整逻辑
- Authors

- Name
- Tails Azimuth
这篇文章从原有研究笔记迁移。目标不是背公式,而是把“模型如何自己生成、自己打分、再自己变好”这条链路走通。
Flow-GRPO 是什么
Flow-GRPO 让 Flow Matching 生成模型通过在线强化学习持续优化。传统监督微调是在固定数据上模仿答案;它则反复采样候选结果、根据奖励比较好坏,再向更优结果靠近。
| 传统 SFT | Flow-GRPO |
|---|---|
| 对齐标准答案 | 对齐可定义的奖励 |
| 数据集决定上限 | 奖励函数决定优化方向 |
| 离线训练 | 采样与训练交替进行 |
生成端:Flow Matching
生成从噪声 出发,沿着连续的速度场抵达数据样本 。模型在任意时间 预测当前位置应当朝数据方向移动的速度:
它学习连续 ODE 路径,因此可以用更少步骤产生候选结果。对强化学习而言,这很重要:每轮都要重新采样一组输出,推理成本决定训练是否可行。
强化端:组内相对优势
对同一个条件输入采样 个候选结果,奖励模型给出 。GRPO 不额外训练 critic,而是在这组候选内部标准化奖励:
绝对奖励尺度不再主导梯度;模型只需要知道“这张结果在同一组中相对更好还是更差”。正 advantage 的轨迹被增加概率,负 advantage 的轨迹被降低概率。
训练链路
- 冻结旧策略并采样:旧模型从噪声生成一组候选,并保存各时间步的
log_prob。 - 奖励建模:依据任务信号评价候选,例如文本一致性、偏好模型或任务成功率。
- 计算组内 advantage:将奖励中心化、归一化,得到稳定的相对学习信号。
- 重放训练轨迹:当前模型在相同噪声与时间步上重新计算
log_prob,构造新旧策略比率。 - 优化策略与约束漂移:目标鼓励更高 advantage 的轨迹,同时用 KL 或 clip 项限制一次更新过猛。
Loss 为什么这样写
其中 是当前策略与旧策略在该时间步的概率比。clip 阻止模型因为少数高奖励样本突然偏离;KL 项让更新保留原模型已经具备的生成能力。
对自动驾驶的启发
端到端驾驶不存在单一正确答案:同一场景可以减速、绕行或等待。Flow / Diffusion 提供多模态轨迹生成,GRPO 则提供“在合理候选里偏向更安全、更舒适、更合规方案”的后训练机制。真正困难的地方不在于把 GRPO 套上去,而在于奖励是否表达了安全、法规、舒适性与任务效率之间的权衡。