LFPO:面向掩码扩散模型的无似然策略优化 LFPO: Likelihood-Free Policy Optimization for Masked Diffusion Models
绕过扩散LLM不可计算的似然,用速度场整流实现精准对齐
前置知识
扩散大语言模型 (dLLM)
一种非自回归的文本生成范式,通过并行的迭代去掩码(unmasking)来生成 token。代表性工作包括 LLaDA 8B 和 DiffuCoder。与传统的从左到右逐 token 生成不同,dLLM 在每一步可同时更新多个位置的 token,因而天然支持全局规划和并行解码,但也带来了精确似然难以计算的难题。
本文的核心研究对象是 dLLM 的对齐,理解 dLLM 与 AR 模型在生成机制上的本质差异(整体去噪 vs 顺序生成),才能理解为什么标准策略梯度方法难以直接迁移。
Flow Matching (FM)
一种 simulation-free 的连续生成建模框架,通过让神经网络回归一个时变向量场 $v_\theta(x,t)$ 来拟合从简单先验分布 $p_0$(如高斯)到复杂数据分布 $p_1$ 的概率路径。典型选择是条件最优传输路径 $x_t = (1-t)x_0 + t x_1$,对应常值目标速度 $u_t = x_1 - x_0$。训练目标是最小化 $\mathbb{E}_{t,x_1,x_0}\|v_\theta(x_t,t)-(x_1-x_0)\|^2$。
FM 是 LFPO 全部理论推导的基石:本文证明 dLLM 的去噪 logit 恰好是连续速度场在概率单纯形上的离散投影,从而把对齐问题重写为速度场整流问题。
RLVR 与策略梯度
RLVR(Reinforcement Learning with Verifiable Rewards)是当前对齐推理模型的主流范式,使用可验证的稀疏奖励(如数学题答案正确率、代码执行通过率)。GRPO 等策略梯度方法是其代表算法,核心公式依赖重要性采样权重 $\pi_\theta/\pi_{\text{ref}}$,而该比值的精确计算又依赖于模型的精确似然 $p_\theta(x)$。
理解 RLVR 的似然依赖是读懂本文 motivation 的关键:dLLM 的精确似然不可计算导致所有现有方法都只能做高方差近似,进而催生 LFPO 的绕道设计。
概率单纯形与离散几何
本文将词汇表 $V$ 的所有 token 视为 $(V-1)$ 维概率单纯形 $\Delta_{V-1}\subset\mathbb{R}^V$ 的顶点,单个 token 对应 one-hot 向量,[MASK] 对应均匀分布 $m\in\Delta_{V-1}$(位于单纯形中心)。在这种几何视角下,掩码扩散的前向过程被建模为从 $m$ 到目标 token $x_1$ 的线性插值轨迹。
这是 LFPO 把 dLLM 与 FM 联系起来的桥梁:在概率单纯形上,连续速度场被自然离散化为 logit 差 $p_\theta - x_1$,从而可以严格证明两种损失函数的梯度同构性。
研究动机
Diffusion Large Language Models(dLLM,如 LLaDA 8B、DiffuCoder)凭借并行迭代去噪机制,在数学推理和代码生成任务上展现出与自回归模型竞争的潜力。然而,如何用 RLVR 对 dLLM 做对齐仍是开放问题。现有方法(Diffu-GRPO、UniGRPO、SPG、Coupled-GRPO、AGRPO)无一例外都把 dLLM 强行套进马尔可夫决策过程,再用策略梯度做优化。但 dLLM 的精确似然在数学上不可计算——它通过整体去噪一次性更新多个 token,无法像 AR 模型那样逐 token 分解概率。这些方法只能用 ODE/SDE 离散化逐步近似 $p_\theta(x)$,在 token 数量动辄上千的高维离散空间中,累积误差和高方差问题被严重放大,结果是训练不稳定、计算开销大、容易陷入次优局部最优。
本文的目标是本文的目标是提出一种 dLLM 原生的强化学习框架 LFPO,使其完全不依赖似然估计就能完成高质量对齐。具体可量化的目标包括:在 HumanEval、MATH、GSM8K 等推理与代码基准上超越基于似然的 SOTA 基线(AGRPO);同时把推理所需的平均扩散步数降低约 20%(代码任务)和约 13%(推理任务),让对齐后的模型在推理时显著加速;并把训练收敛速度提升一个数量级(最高 8.0×)。
与已有工作不同的是,现有工作几乎全部把 dLLM 当成「需要先近似似然才能优化」的 AR 模型来处理,本文则另辟蹊径——从连续 Flow Matching 的视角重新审视 dLLM 的去噪过程,证明 dLLM 的预 softmax logit 实际上就是连续速度场在概率单纯形上的离散投影。据此提出对齐不应被看作概率最大化,而应是「速度场整流(velocity rectification)」:在 logit 空间直接对去噪方向做对比式回归,绕开 $p_\theta(x)$ 那个本来就不可积的积分。这个几何切入点把对齐从「近似一个不可计算量」变成「直接回归一个可观测量」,是本文与所有 likelihood-based 基线最本质的区别。
核心方法
LFPO 的核心直觉可以用一个比喻解释:把扩散语言模型想象成一支在雾天山谷里寻找出口的队伍,每个队员的方向是由去噪 logits 决定的「速度向量」。传统方法是让队员「估测自己走了多远」再去调方向(似然估计),但 dLLM 的「距离」根本测不准。LFPO 的做法是直接在山顶插一面旗(高奖励终点),用对比式的方法告诉每个队员「你应该朝旗帜方向修正你的速度向量,往旗帜偏、远离错误方向」。具体技术路线上,LFPO 由四大组件构成:(1)通过 Theorem 3.1 建立连续 FM 与离散掩码扩散之间的梯度同构定理;(2)基于此构造隐式正负策略 $\pi^+$ 和 $\pi^-$,推导出对比式速度整流损失 $L_{\text{LFPO}}$;(3)用分层轨迹采样(Stratified Trajectory Sampling)在轨迹上均匀选 K 个时间步以降低梯度方差;(4)用分块梯度累积(Block-wise Gradient Accumulation)解决内存爆炸问题。
LFPO 最本质的创新是把对齐目标从「最大化高奖励轨迹的似然」改写为「直接整流去噪速度场」。具体地说,论文证明了关键的 Theorem 3.1(梯度对齐定理):设 $z$ 是预 softmax logit、$p_\theta=\text{Softmax}(z)$、$x_1$ 是 ground-truth one-hot 向量,则 $\nabla_z L_{\text{CE}}=p_\theta-x_1=v_\theta-u_t$,其中 $v_\theta=p_\theta-m$ 是模型速度、$u_t=x_1-m$ 是目标速度。换言之,标准 dLLM 训练在数学上等价于在概率单纯形上做向量场回归。在此基础上,LFPO 定义了两个隐式策略:在 logit 空间以参考策略 $\pi_{\text{ref}}$ 为中心、沿当前策略偏差 $\Delta(x_t)=\log\pi_\theta-\log\pi_{\text{ref}}$ 推开和拉近的方向分别为隐式正策略 $\pi^+$ 和隐式负策略 $\pi^-$。最终损失为奖励加权的对比交叉熵 $L_{\text{LFPO}}=\mathbb{E}_\tau[r(\tau)\cdot CE(\pi^+,\pi_\theta)+(1-r(\tau))\cdot CE(\pi^-, \pi_\theta)]$。这条损失既不需要计算 $\pi_\theta(x)$ 的精确积分,也避免了 ODE/SDE 离散化的累积误差,直接在可观测量(logit)上做回归,因此梯度估计几乎无偏且方差极低。
方法步骤详情
LFPO 的完整训练流程(对应论文 Algorithm 1)包含四个阶段。**阶段 1(生成与奖励估计)**:对当前 batch 内每个 prompt $q$,用参考策略 $\pi_{\text{old}}$ 采样 $N$ 条轨迹 $\{y_q\}$;然后用任务相关的可验证奖励函数(数学用答案正确率、代码用执行通过率)计算标量奖励 $r_y$,组成 batch 数据集 $D_{\text{batch}}=\{(y, r_y)\}$。**阶段 2(分层轨迹采样)**:对每条轨迹长度为 $L$ 的去噪过程,把有效时间步区间均匀切成 $K$ 段,每段内独立采样一个时间步 $t_k$,得到 $K$ 个代表点。这避免了单一时间步采样带来的高方差。**阶段 3(分块整流优化)**:把 $D_{\text{batch}}$ 的 $B\times N\times K$ 个样本切成 $M$ 个 block;每个 block 内并行计算所有轨迹-时间步对的 $\nabla L_{\text{LFPO}}$(充分用 GPU 并行),block 之间串行累积梯度并立即更新参数 $\theta\leftarrow\theta-\eta\nabla_\theta L_B$,然后立即删除计算图释放显存,从而把等效 batch size 放大一个数量级。**阶段 4(参考模型更新)**:每个外层迭代结束后用 EMA 更新参考模型 $\theta_{\text{old}}\leftarrow\alpha\theta_{\text{old}}+(1-\alpha)\theta$,保证训练稳定。整个 pipeline 实现了「外层串行、内层并行」的混合执行模式。
技术新颖性
LFPO 的技术新颖性体现在三方面:第一,**理论层面**,首次严格证明 dLLM 的 CE 训练在概率单纯形上等价于连续 FM 的速度场回归,把「dLLM 是否可以用 FM 类方法训练」从直觉升格为定理,并附带完整推导(见论文 Appendix A)。第二,**算法层面**,首次把对齐目标完全搬到 logit 空间,引入 $\pi^+$ / $\pi^-$ 隐式策略对比 + 奖励加权 CE 的统一形式,绕开了所有现有方法必须做的似然近似。第三,**工程层面**,分层采样 + 分块累积的双层并行方案直接解决 RLVR 微调 dLLM 时 $B\times N\times K$ 张量爆炸的工程瓶颈,使 LFPO 能跑出比 AGRPO 等强基线快 4-8 倍的收敛速度,这是单纯改进损失函数无法达到的。
实验结果
LFPO 在代码生成和推理两大领域全面超越基于似然的 SOTA 基线。**代码生成**(基于 DiffuCoder,Table 1):LFPO 在 HumanEval 上达到 75.6 分(绝对提升 +3.6),MBPP 上达到 81.6 分(+6.5),BigCodeBench-Full 上达到 44.8 分(+9.1),七项基准的均分 60.8(+7.1)超越 AGRPO 的 60.6(+6.9)。**推理能力**(基于 LLaDA 8B,Table 2):LFPO 在 GSM8K 上从 69.7 飙升至 79.6(+9.9)、MATH 从 30.6 升至 37.6(+7.0)、Hellaswag 从 70.3 升至 85.7(+15.4),六项基准均分 67.1(+9.9),其中 GSM8K 和 MATH 的提升幅度显著超过 AGRPO。**消融实验**揭示了对比式设计的必要性:只保留吸引项(Pos. Only)平均分 58.9/64.6,只保留排斥项(Neg. Only)为 59.0/64.5,全目标 60.8/67.1,证明吸引+排斥的对比结构比单一方向更优。**推理效率**(Table 3):LFPO 在代码任务上将平均扩散步数从基线的 332.4 降到 290.6(-41.8,约 12.6%),在推理任务上从 1202.4 降到 1043.4(-159.0,约 13.2%)。注意作者在摘要里说「约 20%」其实对应的是部分子任务(如 GSM8K 单任务的 -13.8%、MBPP 的 -11%)。**训练收敛**(Figure 3):LFPO 在 HumanEval 和 MATH 上达到 AGRPO 最终性能的速度分别快 8.0×,MBPP-Diamond 上快 6.7×,Hellaswag 上快 4.4×,这主要归功于 Block-wise 优化的吞吐量和更快的推理(更少步数生成样本)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| HumanEval (代码生成) | pass@1 | 75.6 | AGRPO 75.3 / Base 72.0 | +3.6 vs Base,超越 AGRPO +0.3 |
| MBPP (代码生成) | pass@1 | 81.6 | AGRPO 80.3 / Base 75.1 | +6.5 vs Base,超越 AGRPO +1.3 |
| BigCodeBench-Full (代码生成) | pass@1 | 44.8 | AGRPO 44.6 / Base 35.7 | +9.1 vs Base,超越 AGRPO +0.2 |
| 代码生成 7 项平均 | pass@1 平均 | 60.8 | AGRPO 60.6 / Base 53.7 | +7.1 vs Base,超越 AGRPO +0.2 |
| GSM8K (数学推理) | accuracy | 79.6 | AGRPO 78.3 / Base 69.7 | +9.9 vs Base,超越 AGRPO +1.3 |
| MATH (数学推理) | accuracy | 37.6 | AGRPO 36.1 / Base 30.6 | +7.0 vs Base,超越 AGRPO +1.5 |
| Hellaswag (常识推理) | accuracy | 85.7 | AGRPO 85.1 / Base 70.3 | +15.4 vs Base,超越 AGRPO +0.6 |
| 推理 6 项平均 | accuracy 平均 | 67.1 | AGRPO 66.6 / Base 57.2 | +9.9 vs Base,超越 AGRPO +0.5 |
| 代码推理步数效率 | 平均扩散步数 | 290.6 | Base 332.4 | -41.8 步(-12.6%) |
| 推理任务步数效率 | 平均扩散步数 | 1043.4 | Base 1202.4 | -159.0 步(-13.2%) |
| 训练收敛速度 HumanEval | 达到 AGRPO 峰值的 GPU 小时倍数 | 8.0× | AGRPO 1.0× | 快 8.0× |
局限与改进
论文虽然报告了亮眼结果,但仍存在若干局限。**作者承认的局限**:(1)公式 (10) 的损失只在 reward-weighted CE 的形式下工作,对于密集奖励(如每步 reward shaping)尚未验证;(2)分块累积虽然降低显存,但 block 间的串行依赖削弱了 GPU 利用率的上限;(3)论文只验证了 LLaDA 8B 和 DiffuCoder 两个模型规模,没有在更大规模(如 >13B)或更小规模(如 1B)上验证。**独立观察的局限**:(1)Table 1 显示 BigCodeBench-Hard 上 LFPO 反而比 AGRPO 低 0.2 分(12.9 vs 13.1),说明在特别复杂、需要长链推理的代码任务上,速度整流的「直线路径」假设可能并不总成立;(2)WinoGrande 上 LFPO(86.9)也略低于 AGRPO(87.3),暗示在不需要精确推理的语义判断任务上,对比式优化可能引入不必要的方差;(3)作者把「20% 加速」作为主要卖点,但严格按 Table 3 的整体均值是 12.6%-13.2%,需要重新核实最先进展对应的子任务。
独立分析的弱点
**独立分析的弱点**:(1)**「速度整流」对长链任务的潜在失效**:论文核心假设是 dLLM 的最优生成轨迹近似一条从 $m$ 到 $x_1$ 的「直线路径」,但 BigCodeBench-Hard 这种长链复杂任务里,最优轨迹可能是曲折的,速度场整流可能错失次优但正确的非直线路径。**改进方向**:可以引入轨迹曲率正则化,或在 loss 中加入对偏离直线的容忍项。(2)**对比式优化的双向敏感性**:$L_{\text{LFPO}}$ 中 $\pi^+$ 和 $\pi^-$ 的强度都由 $\beta$ 控制,如果 reward 信号噪声大(如代码执行环境的 flaky test),$\pi^-$ 一侧的梯度可能让模型偏离好的解。**改进方向**:可以用 EMA 的 reward baseline 做归一化,或者只对 reward 极端高/低的样本用对比项。(3)**EMA 参考模型的滞后问题**:$\theta_{\text{old}}\leftarrow\alpha\theta_{\text{old}}+(1-\alpha)\theta$ 在训练后期可能让参考策略显著落后于当前策略,导致隐式策略 $\pi^\pm$ 定义的对比方向失去意义。**改进方向**:可以自适应调节 $\alpha$ 或周期性 hard-reset 参考模型。(4)**缺乏对多模态/长上下文场景的验证**:论文只在纯文本短上下文(512/2048 步)下实验,而 dLLM 的真正优势之一是长上下文并行生成。**改进方向**:在 8K+ 上下文上验证 LFPO 是否仍能保持优势。
未来方向
**作者明确提出的方向**:包括分层采样和分块优化的进一步工程化、以及扩展到其他 dLLM 架构。**基于论文成果的可延伸方向**:(1)把 logit 空间的对比式回归思想迁移到多模态 dLLM(如 UniGRPO 处理的图文任务),可能避开当前多模态对齐中的似然瓶颈;(2)把 LFPO 的速度场整流与 Process Reward Model 结合,实现更细粒度的逐步对齐;(3)研究 LFPO 加速的「直线路径」是否可被进一步形式化为可证明的最优解码策略(例如受限最短路径),把经验性加速变成理论保证;(4)探索 LFPO 是否能反过来帮助 dLLM 预训练——既然 CE 等价于 FM 回归,那 RLVR 阶段的策略梯度信号能否蒸馏回预训练目标,是一个有意义的开放问题。
复现评估
**代码与数据**:论文为 pre-print 阶段,未在正文明确说明开源链接,但作者主要来自 ByteDance 和多所高校,参考的基线模型 DiffuCoder 与 LLaDA 8B 本身已开源,训练数据 AceCode-87K 也是公开的。**算力需求**:从 Figure 3 看,AGRPO 在 HumanEval 上达到峰值需要约 1000 GPU 小时,LFPO 仅需约 125 GPU 小时即可达到同等水平,整体训练量估计需要数百 GPU 小时,对普通研究者门槛较高。**复现难度**:中等偏难。**容易复现的部分**:算法 1 描述完整,$\beta$、$\alpha$ 等超参都有明确提示,Block-wise Accumulation 是标准工程技巧。**较难复现的部分**:(1)Stratified Sampling 的具体分段数 $K$、每段采样策略需要调参;(2)需要支持并行 logit 计算的高效 dLLM 推理引擎,现成实现较少;(3)需要可验证奖励的代码执行沙箱(HumanEval/MBPP)或数学答案解析器,对工程实现要求较高。建议有 ByteDance 内部 dLLM 训练栈的团队优先尝试。
论文图表
报告每个问题平均推理步数(越低越好)。LFPO 把代码任务平均步数从 332.4 降到 290.6(-41.8 步)、推理任务从 1202.4 降到 1043.4(-159.0 步)。值得注意的是 AGRPO 在 MATH 上反而增加 73.6 步,说明 likelihood-based RL 倾向于让生成轨迹更曲折。
效率表是 LFPO「速度场整流」理论的直接验证:如果对齐鼓励学习从掩码到数据的「最短路径」,那么推理步数必然会减少。这是连接理论与实践的关键桥梁。