MixGRPO: Unlocking Flow-based GRPO Efficiency with Mixed ODE-SDE¶
会议: ECCV2026
论文: ECCV 原文
代码: https://github.com/Tencent-Hunyuan/MixGRPO
领域: 图像生成 / 对齐/RLHF
关键词: 流匹配、群组相对策略优化、混合 ODE-SDE、滑动窗口、偏好对齐
一句话总结¶
MixGRPO 把流匹配模型的随机探索与 GRPO 更新集中到由粗到细移动的短窗口,窗口外使用确定性采样,在 FLUX.1-dev 的 HPDv2 测试中以更少更新步改善偏好评分;表 1 的基本版与最快 Flash* 版分别将单次训练迭代耗时降低约 49% 和 71%。
研究背景与动机¶
FLUX 等流匹配模型通常沿确定性常微分方程(ODE)把噪声变成图像,但确定性转移不适合直接套用依赖随机策略概率的 GRPO。DanceGRPO 和 Flow-GRPO 因而在去噪过程中引入随机微分方程(SDE)采样,把中间潜变量视为状态、下一步潜变量视为动作,再用最终图像的奖励比较同一提示词的一组候选。问题是,每张图都需要完整生成才能评分,而计算新旧策略的概率比又需要额外模型计算,长去噪轨迹使在线对齐非常昂贵。
一个直觉上的省钱办法是仍然全程随机采样,只选少量时间步更新。论文直接测试了这一做法:DanceGRPO 将更新步数从 14 减到 4 后,表 1 的 ImageReward 从 1.436 降到 1.335。作者认为,全轨迹随机性仍影响最后的奖励,但被更新的步骤却只覆盖其中一部分;同时,早期去噪主要决定全局结构,后期主要修饰细节,把这些阶段混在一次更新里也可能产生不集中的学习信号。后一个解释是论文的机制动机,并不是已由独立梯度冲突实验严格证明的结论。
MixGRPO 的切入点不是单纯少算几个梯度,而是让“在哪里探索”和“在哪里优化”保持一致:只有短窗口内保持随机,窗口外沿确定性轨迹完成生成,再让窗口随训练向低噪声阶段移动。这样既保留组内可比较的探索,也能把不参与策略概率计算的后半段交给快速求解器。核心 idea:联合缩短随机决策区间和策略更新区间,并按去噪的粗到细顺序调度它们,而不是在全程随机的轨迹上随意删减更新步。
方法详解¶
整体框架¶
输入是文本提示词、当前流匹配生成模型与一组奖励模型,输出是经过偏好对齐的生成模型。每轮先确定 SDE 窗口位置,再用旧策略对同一提示词生成一组图像;组内共享初始噪声,分歧来自窗口中的随机采样。最终图像经奖励模型打分后,GRPO 只更新窗口内的转移,下一轮重新采样,并按预设间隔推进窗口。
三个关键设计依次是“渐进滑动窗口”“混合采样与稳定探索”和“窗口后 ODE 加速”。基本版已经减少新策略的更新计算,Flash 系列才进一步减少旧策略的完整生成开销;奖励模型是训练监督来源,不是部署时必须运行的生成模块。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
Input["提示词 + 共享噪声"] --> Window["渐进滑动窗口"]
Window --> Mixed["混合采样与稳定探索"]
Mixed --> Tail["窗口后 ODE 加速"]
Tail --> Images["完整候选图像"]
Images --> Reward["训练监督:奖励评分<br/>组内优势与窗口内 GRPO"]
Reward -.->|更新模型,下一轮推进窗口| Window
Reward -.-> Model["对齐后的生成模型<br/>部署不需奖励模型"]
图中的窗口后加速只在 Flash 系列启用,基本版保留常规 ODE 采样。这里展示的是训练 rollout 和反馈回路,不表示图像生成模型内部新增了三个神经网络,也不把训练提速直接等同于部署推理提速。
关键设计¶
1. 渐进滑动窗口:先学习全局布局,再学习局部细节
窗口由长度、移动间隔和步幅控制,分别记为 \(w\)、\(\tau\) 和 \(s\)。默认长度为 4,每训练 25 次迭代沿去噪顺序移动 1 步,到达末端后不再越界。这里“渐进”是跨训练迭代改变优化区域,不是让同一张图的窗口在一次生成中反复移动。窗口在一个 rollout 内固定,所以这次最终奖励所比较的探索都发生在同一段去噪阶段。
早期高噪声区域能够改变整体构图,探索空间更大;后期低噪声区域更适合改纹理与细节。先让模型学会高影响的结构决策,再收窄探索范围,是这套调度相对随机选窗口的主要理由。作者也比较了冻结在初始位置的窗口:它仍有竞争力,说明早期步骤确实值得优先优化,但这不是“后期步骤完全不重要”的证据。表 4 的渐进常数间隔策略在综合表现上更好,指数衰减间隔则在部分单项指标上更高。
2. 混合采样与稳定探索:把随机性与可训练转移放在同一区间
给定窗口后,旧策略在窗口前用 ODE 到达起点,在窗口内逐步注入噪声,在窗口后再用 ODE 得到最终图像。由于组内共享初始噪声,窗口前的确定性轨迹不会额外制造候选差异;窗口里的不同随机扰动才产生值得比较的候选。最终图像仍经过全部去噪阶段,因此“只更新 4 步”绝不意味着只生成 4 步,也不意味着在中间潜变量上直接计算图像奖励。
SDE 步有可计算的高斯转移密度,可以用同一已采样转移在新旧策略下的概率构造 GRPO 比值;ODE 步是确定性转移,论文明确把它们排除在概率比和 KL 计算之外。理论依据是相应 ODE 与 SDE 在连续时间下可具有相同的时间边缘分布,因此可以按区间切换,但需要漂移与得分场的正则条件,且有限步离散化和模型误差仍会破坏理想等价。它保证的是合适条件下的分布关系,不是两种采样逐张图完全相同,也不是最终 RL 奖励必然一致。
为使窗口里的噪声不引入过多高频伪影,最终版本采用已有的系数保持采样(Coefficients-Preserving Sampling,CPS)。它在注入随机性的同时更好地保持流匹配的插值结构,避免奖励被采样伪影牵引。论文第 3.4 节说明,其实现保留相同的逐步高斯协方差尺度来计算概率比和 KL,因此稳定采样不会改变这部分参数化;CPS 是借用的采样改进,不应被写成 MixGRPO 新提出的算法。缓存中的精确漂移和 CPS 推导公式存在缺失或排版损坏,此处不将其猜补成可直接实现的公式。
3. 窗口后 ODE 加速:在不需要策略密度的轨迹后缀上减少 rollout 计算
基本版缩短了新策略需要参与优化的时间区间,但旧策略仍必须完成整条轨迹,才能得到用于奖励的图像。所以它的 rollout 函数求值次数没有从 25 降下来。Flash 系列进一步利用窗口后的确定性区间,把适配到流匹配的 DPM-Solver++ 用于这段轨迹,默认采用二阶 Midpoint 方法,以更少函数求值完成生成。高阶求解器不需要在这里提供用于 GRPO 的随机转移密度,这是混合设计释放出的自由度。
为什么只加速窗口后而不是全部 ODE 区间?论文报告,窗口前加速产生的数值误差会被后续随机采样放大,影响图像质量和奖励可靠性;后缀加速避开了这一问题,但求值次数降得过低仍会损害评分。普通 MixGRPO-Flash 使用渐进窗口,随着窗口后移,可加速后缀变短;MixGRPO-Flash* 则把窗口冻结在初始位置,使后缀长期保持较长。后者表 1 中只需 8 次旧策略求值,是约 71% 迭代节时对应的版本,但它也放弃了完整的渐进训练课程。
一个完整示例¶
设提示词描述“一只花瓶在一匹马的右侧”,采用论文主实验的 25 步去噪和 4 步窗口。为解释调度,以下使用从 0 开始的步骤编号;这不是论文报告的单独测试案例。
- 在初始训练阶段,把窗口放在步骤 0 至 3。每组候选从同一初始噪声开始,这 4 步的独立随机扰动可以改变物体位置和整体构图。
- 步骤 4 至 24 用 ODE 完成图像,基本版不在这部分计算策略更新;Flash* 可以用高阶求解器减少这段后缀的求值次数。
- 对完整图像打分,在组内比较谁更符合提示词及偏好。表现较好的候选得到正优势,其窗口内转移更受鼓励,而不是直接把“右侧”转换成人工逐步奖励。
- 对渐进版本,训练 25 次迭代后,窗口移到步骤 1 至 4,继续探索并更新;冻结版本则继续保留步骤 0 至 3。
这个例子说明,确定性后缀把窗口里的不同决策变成可评分图像,奖励再反过来选择更好的窗口内行为。更新不需要对奖励模型或整个后缀端到端反向传播,但仍需要完整 rollout 来知道这些行为最终是否有益。
损失函数 / 训练策略¶
对每个提示词生成一组候选,先把各候选的终端奖励减去组均值,再除以组标准差,得到相对优势;多奖励设置对各奖励分别标准化后合并。它衡量的是“比同提示词下其他候选好多少”,而不是比较不同提示词的绝对难度,也不需要额外价值网络预测基线。
GRPO 的裁剪代理目标只在窗口内求平均,并加入 KL 约束。以下用简化记号概括第 3.1 节式 (9) 的目标结构,方便理解,不作为损坏 PDF 公式的逐字符还原:
其中 \(W\) 是本轮窗口,\(A_i\) 是候选的组内优势,\(r_{i,t}\) 是同一窗口转移的新旧策略概率比,\(\epsilon\) 是裁剪阈值,\(\beta\) 控制 KL 惩罚。正优势鼓励提高该转移的相对概率,负优势抑制它;裁剪防止单轮更新过猛。论文式 (10) 将此处 KL 写为当前策略与旧策略之间的约束,因此不能随意将旧策略解释为永远冻结的预训练模型。
主实验以 FLUX.1-dev 为骨干,在 HPDv2 的 103,700 条训练提示词集合上训练,作者报告使用 9,600 条提示词即获得较强对齐;测试集为 400 条提示词,覆盖 Animation、Concept Art、Painting、Photo 四种风格。常用窗口设置为 \(w=4\)、\(\tau=25\)、\(s=1\)。主文还说明 SD3.5-M 扩展采用 LoRA 微调,但当前缓存未包含附录 11,不能据此补写主实验的 GPU 型号、批量、组大小或学习率。
实验关键数据¶
主实验¶
下表摘自原文表 1,骨干为 FLUX.1-dev,评测为 HPDv2 的 400 条测试提示词。HPS-v2.1、Pick Score、ImageReward、Unified Reward 都是偏好模型分数,越高越好,并非人工胜率或百分比;它们关注的审美、图文匹配和语义一致性有所不同。旧策略 NFE 表示 rollout 的函数求值次数,新策略 NFE 表示为策略比计算所需的前向次数,不能将两者之和直接当作完整训练 FLOPs。
| 方法 | 旧策略 NFE | 新策略 NFE | 迭代耗时 / 秒 | HPS-v2.1 | Pick Score | ImageReward | Unified Reward |
|---|---|---|---|---|---|---|---|
| FLUX.1-dev | 不适用 | 不适用 | 不适用 | 0.313 | 0.227 | 1.088 | 3.370 |
| DanceGRPO,官方配置 | 25 | 14 | 291.284 | 0.356 | 0.233 | 1.436 | 3.397 |
| DanceGRPO,随机更新 4 步 | 25 | 4 | 149.978 | 0.334 | 0.225 | 1.335 | 3.374 |
| MixGRPO | 25 | 4 | 149.326 | 0.369 | 0.238 | 1.645 | 3.419 |
| MixGRPO-Flash,渐进 | 16(平均) | 4 | 112.372 | 0.358 | 0.236 | 1.528 | 3.407 |
| MixGRPO-Flash*,冻结 | 8 | 4 | 83.278 | 0.357 | 0.232 | 1.624 | 3.402 |
相对官方 DanceGRPO,表 1 的基本版、Flash、Flash* 的迭代节时分别约为 49%、61%、71%。这是论文报告的同组实验计时,不是不同硬件下的通用速度保证,也不是在统一目标分数下实测的总收敛时间。缓存主文未交代这组计时的具体 GPU 配置。
原文存在需要保留的差异:第 4.2 节正文把基本版耗时写成 150.839 秒,而表 1 是 149.326 秒;引言的 ImageReward 为 1.629,表 1 为 1.645,表 10 将这两个分数分别列为 SDE 与 CPS 版本。后者有采样器差异可供解释,但不能擅自把所有章节改成同一个数值。
消融实验¶
下表选取同一 FLUX 实验体系中的表 4 和表 10,保留原始来源以避免把不同实验行误认为完全相同的配置。表 4 比较窗口移动方式,表 10 在相同训练设置下比较随机采样器;未列出的硬件与优化超参数仍需附录核实。
| 来源与配置 | HPS-v2.1 | Pick Score | ImageReward | Unified Reward | 说明 |
|---|---|---|---|---|---|
| 表 4:冻结窗口 | 0.354 | 0.234 | 1.580 | 3.403 | 固定在早期步骤 |
| 表 4:随机窗口、常数间隔 | 0.365 | 0.237 | 1.513 | 3.388 | 没有粗到细课程 |
| 表 4:渐进窗口、常数间隔 | 0.367 | 0.237 | 1.629 | 3.418 | 默认调度 |
| 表 4:渐进窗口、指数衰减间隔 | 0.360 | 0.239 | 1.632 | 3.416 | 部分指标更高,非默认 |
| 表 10:MixGRPO-SDE | 0.367 | 0.237 | 1.629 | 3.418 | 标准随机采样 |
| 表 10:MixGRPO-CPS | 0.369 | 0.238 | 1.645 | 3.419 | 更稳定的随机采样 |
关键发现¶
- 表 1 的等更新步数比较最能说明机制差异:同为 4 步更新,MixGRPO 的 ImageReward 为 1.645,随机删减更新的 DanceGRPO 为 1.335,耗时则接近。
- 表 4 中,渐进常数间隔相对随机窗口将 ImageReward 从 1.513 提高到 1.629,支持有序课程,但并非每个调度指标都由默认方案占优。
- 表 2 的 HPS-v2.1 与 CLIP Score 双奖励训练下,未参与训练的 ImageReward 为 1.416,对比 DanceGRPO 的 1.314;这支持一定的跨奖励泛化,不等于排除所有奖励投机。
- Flash* 并非所有指标都胜过官方 DanceGRPO:表 1 的 Pick Score 为 0.232,对比 0.233。SD3.5-M 的表 3 也不是全面领先,MixGRPO 的 ImageReward 为 1.485,低于 Online Flow-DPO 的 1.500。
亮点与洞察¶
- 真正有效的省算改变了探索过程本身,而不只是少做梯度更新。将随机区间与优化区间对齐,使等预算比较能区分两者。
- 不需要策略密度的确定性后缀可以独立使用高阶求解器。这提示生成式 RL 的采样器设计与训练目标可以联合优化,而非固定采样器后只调整损失。
- 同一窗口调度既是计算预算分配,也是从全局到局部的课程。迁移时应先确认目标生成过程是否具有类似的阶段性,不能默认任意连续模型都满足这一经验规律。
局限与展望¶
- 作者明确承认,奖励模型的能力限制仍会造成奖励投机,尤其在训练后期;MixGRPO 的目标是更快、更有效地利用现有奖励,并没有解决奖励与真实偏好的根本错位。
- 作者也指出窗口长度、间隔和步幅仍是预设超参数。根据奖励收敛或梯度方差自适应移动窗口,是尚待验证的方向。
- 本笔记的证据边界:缓存只有主文及参考文献,没有被引用的附录。80B HunyuanImage-3.0 的 512 GPU 实验及 HunyuanVideo-1.5 扩展在主文中有描述,但无法据此复核其完整结果、人工盲测或训练细节。
- 本笔记的判断:跨奖励指标一致改善比单奖励上涨更有说服力,但不能替代独立人工评测;当前主文表格也没有给出足够的重复实验波动信息来判断微小差距的显著性。
相关工作与启发¶
- vs DanceGRPO / Flow-GRPO:它们为流匹配提供随机策略优化基础;MixGRPO 的主要变化是限制随机区间并调度它,而非提出新的 GRPO 裁剪目标。
- vs Flow-DPO / DiffusionNFT:这些工作采用不同的对齐目标或优化过程。表 3 支持 MixGRPO 在 SD3.5-M 上用较少更新步获得较强综合表现,但不支持其每项奖励都最优。
- vs DPM-Solver++ / CPS:前者提供确定性求解加速,后者改善随机采样稳定性。MixGRPO 的贡献是把这些已有工具放进不同职责的轨迹区间,不能把基础求解器与 CPS 都算作原创。
评分¶
- 新颖性: 4/5。创新集中在随机探索、更新区间与课程调度的联合设计。
- 实验充分度: 4/5。有等预算比较、多种消融及跨奖励评测,但附录未在缓存中,部分细节无法核验。
- 写作质量: 3/5。主线清楚,但正文、表格及版本间的数值口径需要仔细区分。
- 价值: 4/5。对昂贵的图像生成在线对齐很实用,收益仍取决于奖励与采样误差。