生成模型与人类偏好对齐的根本动因,是模型优化目标(最大似然)与人类真实需求(感知质量、语义准确性)之间存在不可弥合的分布鸿沟——这一矛盾在语言模型中催生了RLHF,而在连续生成模型(图像、语音、视频)中,如何将奖励信号反向传播穿越复杂的生成轨迹,至今仍是核心难题。
OpenAI与DeepMind分别发表"Learning from Human Feedback"系列工作,确立了"奖励模型 + 策略优化"的两阶段范式。但彼时对象是离散token序列,奖励梯度可通过策略梯度(REINFORCE)绕过不可微采样步骤传递,连续生成模型尚未进入视野。
DDPM(Ho et al., NeurIPS 2020)和Score Matching系列工作将扩散过程确立为图像生成主流范式。扩散模型的生成轨迹是一条长达数百步的马尔可夫链,每步引入随机噪声。若要对最终输出的奖励信号做反向传播,需要沿整条轨迹展开计算图,内存消耗与步数成线性关系,梯度爆炸/消失问题极为严重。这使得直接微分方法几乎不可行。
Lipman et al.(ICLR 2023)提出Conditional Flow Matching(CFM),以确定性常微分方程(ODE)轨迹替代随机扩散过程,大幅减少推理步数(从1000步降至数十步),同时轨迹更平滑、可微性更好。这为奖励梯度的反向传播提供了新的可能性:ODE轨迹是确定性的,理论上可以直接对其求导。
DRaFT(Clark et al., 2023)、DPOK等工作率先尝试在扩散模型中通过截断反向传播(Truncated Backpropagation Through Time, TBPTT)实现奖励对齐,但截断引入了严重的梯度偏差。ReFL、AlignProp等工作进一步探索在少步生成器上直接反向传播奖励梯度,证明了可行性,但仍受制于长轨迹的内存瓶颈。
LeapAlign(本日论文)等工作提出"构造两步轨迹"的思路:不在完整生成轨迹上反向传播,而是在任意中间时间步 $t$ 构造一条仅含两步的局部轨迹,使奖励梯度只需穿越极短路径即可到达模型参数,从根本上解决了内存与梯度稳定性问题。这一思路与强化学习中的TD(时序差分)学习有深刻的哲学联系。
流匹配模型定义一个速度场 $v_\theta(x_t, t)$,将噪声分布 $p_0$ 沿ODE轨迹传输到数据分布 $p_1$: $$\frac{dx_t}{dt} = v_\theta(x_t, t), \quad t \in [0, 1]$$ 给定奖励函数 $r(x_1)$,对齐目标为最大化期望奖励: $$\mathcal{J}(\theta) = \mathbb{E}_{x_1 \sim p_\theta}[r(x_1)]$$ 直接计算 $\nabla_\theta \mathcal{J}$ 需要通过整条ODE轨迹反向传播,代价为 $O(T \cdot d)$($T$为步数,$d$为参数维度),且梯度范数随 $T$ 指数增长。 两步轨迹构造的核心思想:在时间步 $t$ 处,用当前速度场做一步前向积分到 $t'$,再做一步到终点 $x_1$,构造局部近似: $$\hat{x}_{t'} = x_t + (t' - t) \cdot v_\theta(x_t, t)$$ $$\hat{x}_1 = \hat{x}_{t'} + (1 - t') \cdot v_\theta(\hat{x}_{t'}, t')$$ 奖励梯度只需通过这两步传播: $$\nabla_\theta \mathcal{J} \approx \mathbb{E}\left[\nabla_\theta r(\hat{x}_1)\right]$$ 其中 $\nabla_\theta \hat{x}_1$ 通过链式法则展开,计算图深度仅为2,内存复杂度降至 $O(d)$。这与TD(1)估计的思想一致:用局部自举(bootstrapping)代替完整蒙特卡洛展开,以偏差换方差和计算效率。对齐损失可写为: $$\mathcal{L}(\theta) = -\mathbb{E}_{t \sim U[0,1], x_t \sim p_t}[r(\hat{x}_1(x_t, \theta))]$$
流匹配对齐的整体逻辑是:在预训练流匹配模型的基础上,通过在随机采样的中间时间步构造两步局部轨迹、计算奖励梯度、更新速度场参数,逐步将生成分布推向高奖励区域,同时保持生成多样性。
首先需要一个已收敛的流匹配基础模型 $v_\theta$,它定义了从噪声到数据的确定性ODE轨迹。这一步的关键是:流匹配相比扩散模型的优势在于轨迹是直线型的(Conditional Flow Matching中条件轨迹为线性插值 $x_t = (1-t)x_0 + tx_1$),速度场更平滑,使得局部线性近似的误差更小,两步构造的精度更高。
在对齐训练的每个迭代中,从均匀分布 $t \sim U[0, 1]$ 采样一个时间步,并从对应的边际分布 $p_t$ 采样状态 $x_t$。这里的设计哲学是:不固定在某一特定时间步(如 $t=0$ 或 $t=0.5$),而是覆盖整条轨迹,确保速度场在所有时间步上都朝着高奖励方向调整,避免局部过拟合。实现细节:$x_t$ 可通过对真实数据 $x_1$ 和噪声 $x_0$ 做线性插值获得,无需实际运行ODE求解器。
以 $x_t$ 为起点,用速度场做两次欧拉步:第一步到中间点 $\hat{x}_{t'}$($t' = (t+1)/2$ 或其他中间时刻),第二步到终点 $\hat{x}_1$。关键设计选择:为什么是两步而非一步?一步直接到终点的近似误差过大(尤其在 $t$ 较小时),奖励梯度信号噪声极高;而两步在计算代价仅翻倍的情况下,显著降低了终点近似误差,梯度信号质量大幅提升。整个两步前向过程保留完整计算图,以支持后续反向传播。
将 $\hat{x}_1$ 送入奖励模型(可以是人类偏好判别器、CLIP评分、音频质量评估器等),计算标量奖励 $r(\hat{x}_1)$。随后对 $-r(\hat{x}_1)$ 做反向传播,梯度仅需穿越两个欧拉步的计算图,链式法则展开深度为2。关键实现细节:需要对速度场的Jacobian做向量积(VJP),现代自动微分框架(PyTorch/JAX)可高效完成,内存峰值与单次前向传播相当。
纯奖励最大化会导致模式崩塌(mode collapse)——模型收敛到少数高奖励样本。通常需要加入KL散度正则项,约束对齐后模型 $p_\theta$ 与参考模型 $p_{\text{ref}}$ 的偏离:$\mathcal{L} = -r(\hat{x}_1) + \beta \cdot \text{KL}(p_\theta \| p_{\text{ref}})$。在流匹配框架中,KL项可近似为速度场差异的L2范数,实现简洁高效。
流匹配对齐原理在图像生成(Stable Diffusion 3、FLUX系列)、语音合成(Voicebox、E2 TTS)和视频生成(Sora类架构)中均有直接应用价值。它解决了连续生成模型对齐的根本计算瓶颈,使得在消费级GPU上对大型生成模型做偏好微调成为可能。随着流匹配逐步取代扩散模型成为生成主流范式,这一对齐方法论的重要性将持续上升,预计未来2-3年内成为多模态生成模型后训练的标准工具链之一。
当前开放问题包括:①奖励模型本身的可靠性——如何防止对齐过程利用奖励模型的盲点(reward hacking);②多目标对齐(音质、自然度、说话人相似度同时优化)时的Pareto前沿探索;③离散token生成(如音频codec token)与连续流匹配对齐的统一框架;④对齐过程中的遗忘问题(catastrophic forgetting of generation diversity)。