一个更刁钻的问题——如果我的部署模型是少步生成器,还能不能愉快地吃下 RL 的奖励?
2026/7/21 23:58:12 网站建设 项目流程

论文:MeanFlowNFT: Bringing Forward-Process RL to Average-Velocity Generators
项目页 | GitHub | Hugging Face
作者团队:Tencent Hunyuan


一、为什么这篇论文值得你停下来读?

如果你接触过MeanFlow、DMD、CDM、AnyFlow这类少步生成器,你一定被一个问题折磨过:模型是少步了,但想做奖励对齐(RL finetuning)时,怎么套都套不稳。

少步生成器靠“平均速度”做大步采样,而 DiffusionNFT 这类 forward-process RL 原本优化的是“瞬时速度”。两者看起来都属于 flow/diffusion 后训练,但接口并不一样,不能简单把 DiffusionNFT 直接套到 MeanFlow 上。

MeanFlowNFT提出了一个干净利落的解决方案:

推理时仍然保留 MeanFlow 的平均速度和少步采样;训练时从平均速度网络里构造一个诱导的瞬时速度预测器,再把 DiffusionNFT 的负样本感知奖励目标作用到这个诱导速度上。

这样既能吃到 forward-process RL 的奖励优化,又不牺牲 MeanFlow 的4-step / few-step 部署优势。这不是又一个在少步模型上硬塞 RL 的“补丁”工作——它从根上回答了“average-velocity generator 的 RL 接口应该长什么样”,并把它落地到了Wan2.1 视频生成的真实场景里,拿到了VBench 84.33的硬指标。


二、核心思想:从“瞬时速度”到“平均速度”的接口适配

2.1 传统 DiffusionNFT 在做什么?

DiffusionNFT 的核心是forward-process negative-aware finetuning:用旧策略采样,用 reward 区分好坏,再在 forward matching 中构造正负方向。它面对的是瞬时速度模型,所以目标直接作用在瞬时速度 v_theta 上。

这套方法在多步扩散模型上效果不错,但当我们把它硬套到少步生成器时,问题来了:平均速度跟瞬时速度在参数化上根本不是一回事

2.2 MeanFlowNFT 的做法:构造诱导瞬时速度

MeanFlowNFT 的关键改造是一个“接口层”。它不直接把 DiffusionNFT 套在平均速度 u 上,而是先构造一个和 DiffusionNFT 接口兼容的瞬时速度对象 V。

理解这篇文章,最容易卡在符号上。论文里有三类速度

符号名称含义
vinstantaneous velocity某个时间点 t 上的瞬时速度场,传统 Flow Matching 或 DiffusionNFT 主要在这个空间里工作
uaverage velocityMeanFlow 的“平均速度”,描述从时间 t 到更早时间 s 整个区间的平均速度,天然适合少步生成
Vinduced instantaneous velocity predictor从平均速度网络 u_theta 诱导出来的瞬时速度预测器,不是独立网络,由 u_theta、时间导数和空间导数组合而来

训练目标作用在V上,但参数更新最终回到u_theta

2.3 一句话总结区别

维度直接套 DiffusionNFTMeanFlowNFT
优化对象直接优化瞬时速度从平均速度诱导出瞬时速度再优化
推理效率可能破坏少步结构保留MeanFlow 的 4-step 少步采样
训练稳定性容易崩塌有理论保证,训练更稳
能否迁移到视频不稳定Wan2.1 上拿到 84.33

三、三种速度先分清:u、v、V 不是一回事

公式一:MeanFlow 的采样身份

这个公式说明 MeanFlow 为什么能少步采样:

x_t是当前噪声状态,x_s是更早时间 s 的状态,u_theta(x_t,s,t)是模型预测的从 t 到 s 的平均速度。只要平均速度预测准确,就可以用一次大步更新从 x_t 直接跳到 x_s,而不是像普通 ODE solver 那样做很多细小瞬时速度积分。

公式二:诱导瞬时速度 V_theta 是怎么来的

这条公式是 MeanFlowNFT 的核心。左边V_theta(x_t,s,t)是要拿去做 RL 优化的诱导瞬时速度。右边第一项u_theta(x_t,s,t)是 MeanFlow 原本预测的平均速度,后面乘以t-s的大括号项是平均速度沿时间和状态变化的总导数修正。

直觉上,这个公式是在问:如果一个区间平均速度 u 想对应某个真实瞬时速度,那么它不仅要给出区间平均值,还要补偿这个平均值随时间和状态变化的趋势

这一步的意义是把 MeanFlow 的 average-velocity 参数化翻译成 DiffusionNFT 能理解的 instantaneous-velocity 接口。没有这个翻译,直接把 DiffusionNFT 套到 u 上会丢掉理论保证,也容易训练不稳。

公式三:MeanFlowNFT 的奖励加权目标

这个损失函数可以按正负两条线读:

  • 高奖励样本:推动模型朝高奖励方向靠近
  • 低奖励样本:从低奖励方向拉开

这个结构继承了 DiffusionNFT 的negative-aware思想:不是只学习好样本,而是同时利用低奖励样本形成反方向约束


四、训练流程:一轮更新到底发生了什么

MeanFlowNFT 的一次训练更新可以拆成六步:

  1. 采样 prompt c,用旧的 MeanFlow 策略 u_old 做少步 rollout 得到 x0
  2. Reward model 对 x0 和 c 打分,得到 r
  3. 随机采样时间区间 s ≤ t 和噪声 epsilon,走 forward process 得到 x_t,同时计算条件速度 v_t
  4. 用 u_old 的有限差分估计总导数项
  5. 构造 V_theta、V_old、V_theta+、V_theta-
  6. 用奖励加权的 MSE 更新 theta

这里和 reverse-process RL 最大不同是,训练不需要展开完整反向生成轨迹,也不需要每一步 likelihood。它把奖励优化重新写进 forward matching 目标里,因此更像“带奖励的流匹配后训练”,而不是普通策略梯度。


五、工程细节:两个让大规模训练成为可能的关键设计

5.1 有限差分:为什么不用自动微分?

理论公式里有 partial_t u_theta 和 partial_x u_theta 乘 v_hat_theta,本质是 Jacobian-vector product。直接用自动微分算 JVP 很贵,而且和大规模 FSDP 训练兼容性差。

论文实际实现用central finite difference近似总导数:沿着速度方向把 x_t 和 t 向前/向后挪一个很小的 delta t,再看 u_old 的差分。

这有两个工程意义:

  1. 避免了昂贵的高阶自动微分
  2. 让 MeanFlowNFT 可以放到视频模型这种更大规模训练

否则,一个理论上漂亮的诱导速度公式可能因为计算成本而无法用于Wan2.1这类模型。

5.2 共享导数:为什么让新旧策略共享导数更稳?

论文强调shared total derivative。原因在于,u_theta 和 u_old 通过 EMA 保持接近,但它们各自的导数不一定接近。如果正负预测器用各自导数,差异项会被导数噪声放大,训练信号就不再是受控的 u_theta - u_old,而可能变成不稳定的导数差。

论文选择让两者共享由 u_old 估计的导数,这样 V_theta 和 V_old 的差异主要来自平均速度本身。


六、实验结果:从图像到视频,4 步打出全场最佳

6.1 图像生成:SD3.5-M 上的全面领先

在 1024 分辨率下,MeanFlowNFT 在 few-step 组里多项指标拿到最佳

指标MeanFlowNFT (4-step)说明
ImageReward1.4504最高
CLIPScore0.2967最高
PickScore23.5019最高
HPSv20.3269最高
GenEval20.2375最高
OCR0.6534最高

这个结果说明它不是只优化单一 reward,而是在多种偏好、文本对齐、OCR 和综合生成指标上同时改善。

表里还暴露了直接套 DiffusionNFT 的问题:DMD + DiffusionNFT、CDM + DiffusionNFT 的指标并不稳定,甚至 HPSv3 出现明显退化。这支持论文的主张:少步生成器需要匹配自身参数化的 RL 目标,不能把 forward-process RL 当成即插即用外挂

6.2 视频生成:Wan2.1 4 步冲到 VBench 84.33

这是最让人兴奋的部分。MeanFlowNFT 在Wan2.1 1.3B视频生成上:

指标MeanFlowNFT (4-step)说明
VBench Total84.33最高
Quality85.99最高
HPSv3-G6.5959最高
HPSv3-P10.793最高
MQ (运动质量)0.9535最高

更关键的是,它还超过了 50-step 的 Wan2.1 + LongCat-Video RL在所有报告指标上的数值,同时函数评估步数少得多。

对视频来说,少步采样尤其重要,因为每一步都要处理时空 token,步数减少会直接影响成本和交互速度。


七、测试时步数扩展:不是只能固定 4 步

MeanFlowNFT 在多数步数上保持领先,并且随着步数增加仍能获得一定收益。这说明它没有把模型训练成只能在固定 4 步下工作,而是保留了 MeanFlow/AnyFlow 类模型的 any-step 或 test-time scaling 特性。

对部署很重要:低延迟场景可用 4 步,高质量离线场景可增加步数


八、理论保证:不是纯经验拼接

论文的 policy-improvement 保证建立在 idealized setting 上:

  1. 证明诱导预测器的点态最优解等价于旧诱导速度加上一项奖励方向 Delta
  2. 说明当 beta 与 alpha 匹配时,V_theta* 可以恢复 improved policy 的 marginal instantaneous velocity v^+
  3. 利用 MeanFlow consistency 把这个瞬时速度保证转回平均速度网络 u_theta

这不是说现实训练一定单调变好。现实里有有限模型容量、有限差分误差、reward 噪声、EMA 滞后和优化不完全。但它至少说明 MeanFlowNFT不是纯经验拼接:如果诱导速度目标能被学到,那么平均速度采样器对应的策略也应该朝改进策略移动。


九、和 DiffusionNFT 的关系:继承思想,但不是直接套用

DiffusionNFT 的核心是 forward-process negative-aware finetuning。MeanFlowNFT 继承了这套思想,但关键改造是接口层

DiffusionNFT 面对的是瞬时速度模型,所以目标直接作用在 v_theta 上。MeanFlowNFT 面对的是平均速度模型,所以必须先从 u_theta 诱导出 V_theta。

这个“接口适配”就是文章的核心贡献。没有它,平均速度网络会被错误地当成瞬时速度网络优化,理论和训练稳定性都会受损。


十、谁应该关注这个项目?

人群你能从中获得什么
少步生成模型研究者一个让 average-velocity generator 吃上 RL 奖励的通用框架
视频生成工程师Wan2.1 上 4 步 VBench 84.33 的实战方案
扩散模型后训练爱好者forward-process RL 从瞬时速度到平均速度的接口适配方法论
RLHF / 奖励对齐从业者少步模型做奖励优化时避免训练崩塌的关键设计
AI 产品经理少步 = 更快的推理 =更低的部署成本

十一、总结:少步生成器 RL 的“接口层”革命

在大家都在卷“多步扩散怎么对齐奖励”的时候,MeanFlowNFT 问了一个更前置的问题:

如果我的部署模型天生就是少步的,RL 的接口应该怎么设计?

它:

  • 不追 SOTA 刷分:没有去卷更大的模型,而是扎进了“average-velocity generator 的 RL 接口”这个被忽视的基础问题
  • 理论扎实:诱导瞬时速度、policy-improvement 保证、有限差分实现,三件事环环相扣
  • 工程落地:Wan2.1 视频生成上 4 步 VBench 84.33,超过 50-step 的 LongCat-Video RL
  • 诚实透明:明确指出有限差分误差、reward noise、EMA 滞后等现实约束

如果你正在做少步生成模型、视频生成、扩散模型后训练,或者单纯对“如何让少步模型吃下 RL 奖励”感兴趣,这篇论文绝对值得你精读、复现、迁移。

论文地址:arXiv 2607.15273
项目页:MeanFlowNFT Project Page
代码:GitHub · Hugging Face
作者团队:Tencent Hunyuan

MeanFlowNFT: bringing forward-process RL to average-velocity generators.

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询