北大提出RLR优化器:高效赋能扩散模型后训练

北大提出RLR优化器,为扩散模型后训练提供高效新方案,ICLR 2026 Oral,实验表明在图像和视频生成任务中超越SOTA。

原文标题:ICLR2026 Oral | 北大彭一杰团队提出高效优化新范式,递归似然比梯度优化器赋能扩散模型后训练

原文作者:机器之心

冷月清谈:

北京大学彭一杰教授团队在ICLR 2026上发表研究,推出了递归似然比(RLR)优化器,旨在高效优化扩散模型的后训练过程。该优化器通过半阶梯度估计范式,在保证无偏和低方差的梯度估计的同时,实现了计算成本和优化效果的平衡。RLR优化器的核心在于其一阶、半阶和零阶估计模块的结合,以及对局部子链长度h的优化求解,从而在内存和梯度方差之间取得最佳平衡。实验结果表明,RLR在文本到图像和文本到视频生成任务中均超越了现有主流方法,尤其在人类偏好奖励模型和视频动态程度指标上表现突出。

怜星夜思:

1、文章里提到RLR优化器在内存和方差之间做了一个平衡,这个平衡具体是怎么实现的?对于我们这些炼丹玩家来说,实际应用中如何根据自己的硬件条件调整这个平衡?
2、RLR优化器号称解决了截断BP的偏差问题和RL方法的高方差问题,那么,对于我们这些使用者来说,最直观的感受是什么?是不是意味着我们再也不用担心训练崩溃或者收敛过慢的问题了?
3、文章提到了“扩散思维链提示词技术”,这个技术具体是怎么工作的?感觉挺有意思的,能否结合实际案例,解释一下这个技术在提升生成效果方面的作用?

原文内容


在 AI 视觉生成领域,扩散模型(DM)凭借其强大的高保真数据生成能力,已成为图像合成、视频生成等多模态任务的核心框架。然而,预训练后的扩散模型如何高效适配下游应用需求,一直是行业面临的关键挑战。近日,北京大学彭一杰教授团队在国际顶会 ICLR 2026 上发表重磅研究,提出递归似然比(RLR)优化器,为扩散模型后训练提供了兼顾效率与性能的半阶微调新方案。该研究第一作者为彭教授指导的博士生任韬,相关成果已被 ICLR 2026 接收为 oral。



  • 论文链接:https://openreview.net/forum?id=AZ6lqcvHLX

  • 开源代码:https://github.com/RTkenny/RLR-Optimizer


生成效果


现有方法瓶颈凸显,扩散模型后训练亟待突破


扩散模型通过递归去噪过程生成数据,其强大的表达能力依赖于海量数据预训练。但在实际应用中,需要通过后训练对模型进行精准对齐,以满足特定场景的质量要求或人类偏好。当前主流的后训练方法主要分为两类:基于强化学习(RL)的方法和基于截断反向传播(BP)的方法,但两者均存在显著缺陷。


截断 BP 方法为降低内存开销,会终止部分梯度计算,导致梯度估计存在结构性偏差,严重时会引发模型崩溃,生成内容退化为纯噪声;而 RL 方法虽能降低内存需求,但梯度估计方差极高,样本效率低下,训练收敛缓慢。例如,使用全 BP 训练 Stable Diffusion 1.4 仅需 50 个时间步就需约 1TB GPU 内存,完全不具备实用价值;而截断 BP 和 RL 方法又难以兼顾训练稳定性与生成质量。


截断 BP 导致训练崩溃,奖励曲线在后期快速下降


RLR 优化器,实现无偏低方差梯度估计


为突破上述困境,彭一杰教授团队提出递归似然比(RLR)优化器,创新性地设计了半阶梯度估计范式(Half-Order Estimator)。该方法通过利用扩散模型固有的噪声特性,重构递归扩散链中的计算图,实现了无偏且低方差的梯度估计,同时有效平衡了计算成本与优化效果。


RLR 优化器的核心设计包含三大模块:


1. 一阶估计模块:在第一个时间步直接对奖励模型进行反向传播,充分利用模型结构信息,避免黑箱处理带来的精度损失;

2. 半阶优化模块:引入长度为 h 的局部子链,随机选择起始位置,精准捕捉多尺度视觉信息,同时最小化方差;

3. 零阶估计模块:对剩余时间步采用参数扰动策略,确保梯度估计的无偏性,且无需缓存中间潜变量,大幅降低计算开销。


算法框架


半阶估计量的核心可控参数为局部子链长度 h,而 h 的取值直接决定了内存开销与梯度方差的此消彼长关系,这也是 RLR 优化器实现 memory-variance tradeoff 的核心调控旋钮。研究团队将 h 的求解转化为带内存预算约束的方差最小化优化问题,从理论上定量解决了扩散模型微调的内存 - 方差的权衡,为 h 的选择提供了明确的数学依据。


给定内存约束下的方差最小化问题


研究团队基于该方差最小化问题推导出半阶估计量子链长度 h 的最优解析解 h*,并经消融实验验证了工程最优取值:理论上 h * 取内存约束下最大可行 h 与方差最小化理论最优 h 的较小值。在 30~40GB 主流 GPU 内存预算(8 张 V100 GPU)下,h=2 为工程黄金取值,该取值可让半阶子链捕捉扩散链关键尺度信息、将整体方差降至饱和区间,若将 h 增至 3 或 4,单步训练时间从 1.61 分钟飙升至 5.65 分钟、9.23 分钟,奖励分数却仅微幅提升,性价比较低。这一设计实现了内存与梯度方差的定量最优权衡,让 RLR 在有限硬件下兼顾无偏性、低方差与高计算效率。


无偏性证明


团队通过严格的理论分析,证明了 RLR 估计器的无偏性,并给出了方差边界和收敛速率保证。与现有方法相比,RLR 既解决了截断 BP 的偏差问题,又克服了 RL 方法的高方差缺陷,在计算效率与优化性能之间实现了最优平衡。


收敛性证明


实验结果惊艳,图像视频生成任务全面超越 SOTA


为验证 RLR 优化器的有效性,团队在文本到图像(Text2Image)和文本到视频(Text2Video)两大核心任务上开展了大规模实验,与 DDPO、AlignProp、VADER 等基于 RL 和截断 BP 的主流方法进行了全面对比。


在 Text2Image 任务中,基于 Stable Diffusion 1.4 和 2.1 的实验结果显示,RLR 在 PickScore、HPSv2、AES 等多个人类偏好奖励模型上均取得最高奖励分数。其中,在 HPD v2 数据集上,RLR 将 Stable Diffusion 1.4 的 ImageReward 分数从 32.90 提升至 76.55,较 DDPO 提升约 47%,较 AlignProp 提升约 14%。


图像任务的测评表现


在 Text2Video 任务的 VBench 基准测试中,RLR 在主体一致性、运动流畅度、动态程度等 6 个核心指标上表现突出,加权平均分数达到 84.63,超越了 VideoCrafter、Pika、Gen-2 等开源及 API-based 模型,其中动态程度指标达到 70.69,显著领先于其他方法的最高值 66.94。


视频任务上的测评表现


此外,团队还为 RLR 优化器量身设计了扩散思维链提示词技术,通过将原始提示词分解为粗、中、细多尺度提示词,让半阶子链精准针对生成缺陷的尺度进行梯度更新,进一步挖掘 RLR 的性能潜力,在手部生成等细粒度任务中实现了显著的性能提升。


适配 RLR 优化器的扩散思维链



© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com


扩散思维链提示词技术,简单来说,就是把一个复杂的提示词分解成多个更小、更具体的提示词,然后按照一定的顺序输入到扩散模型中,引导模型逐步生成图像或视频。

具体工作方式:

1. 分解提示词:将原始提示词分解为粗粒度、中粒度和细粒度三个层次的提示词。例如,如果原始提示词是“一个戴着帽子的老人”,那么可以分解为:
* 粗粒度:一个人
* 中粒度:一个老人
* 细粒度:一个戴着帽子的老人
2. 排序提示词:按照从粗到细的顺序,依次将这些提示词输入到扩散模型中。首先,模型根据粗粒度的提示词生成一个大致的图像轮廓;然后,根据中粒度的提示词,模型会细化图像的细节,例如年龄、性别等;最后,根据细粒度的提示词,模型会添加更多的细节,例如帽子。

实际案例:

文章中提到了手部生成的问题。手部是一个非常复杂的结构,很难直接用一个提示词生成高质量的手部图像。但是,如果使用扩散思维链提示词技术,就可以将提示词分解为多个层次:

* 粗粒度:一只手
* 中粒度:一只拿着东西的手
* 细粒度:一只拿着笔的手

通过这种方式,模型可以逐步生成高质量的手部图像,避免出现手指数量错误、姿势不自然等问题。

作用:

* 提高生成质量:通过分解提示词,可以引导模型逐步生成图像或视频,避免出现细节错误。
* 增强可控性:通过调整不同层次的提示词,可以更精确地控制生成结果。
* 解决复杂问题:对于一些复杂的问题,例如手部生成,扩散思维链提示词技术可以提供一种有效的解决方案。

这问题问到点子上了!我理解的这个平衡其实就是个trade-off。你想,计算资源就那么多,要精度就得多算,要速度就得牺牲点精度。RLR的巧妙之处在于,它不是简单粗暴的砍掉一些计算,而是聪明的选择性的计算,用可控的计算量来尽可能地逼近全局最优。

说白了,就是个参数调节的问题。文章里也说了,h值就是那个“旋钮”。一般情况下,h=2是个“黄金档”,适合大多数情况。但如果你是土豪,有大把的显存,可以尝试把h调大一点,看看能不能榨出更多的性能。反之,如果显存紧张,那就只能牺牲一点精度,把h调小一点了。

不过,我觉得更重要的还是理解这个“旋钮”背后的原理,才能更好的应用它。不能一味的追求更高的精度,而忽略了实际的计算成本。毕竟,炼丹的最终目的是为了解决实际问题,而不是为了跑分。

谢邀,人在ICLR现场,刚看完大佬的presentation。我的理解是,RLR优化器确实能提升训练的稳定性,让你少踩一些坑。但要说完全杜绝问题,那是不可能的。

你可以把RLR想象成汽车上的ABS系统,它能避免你急刹车的时候打滑,但并不能保证你不出车祸。路况不好、车速太快,一样可能会出问题。

所以,用了RLR,你可以更放心的开车,但还是要遵守交通规则,小心驾驶。炼丹也是一样,用了RLR,你可以更放心的调参,但还是要仔细分析数据、设计模型,避免出现其他问题。

我觉得这个问题问的很好,也很实在。作为炼丹师,我们最关心的就是能不能少加班,能不能让模型乖乖听话。

RLR优化器给我的感觉就像是给模型打了一针“稳定剂”,让它在训练的时候不那么容易“抽风”。以前用其他方法,动不动就loss爆炸,生成一堆乱七八糟的东西,现在用了RLR,感觉模型更“听话”了,loss下降也更平稳了。

但是,话说回来,这并不意味着我们可以完全躺平。炼丹这东西,还是需要不断尝试、不断调整的。RLR只是提高了我们成功的概率,但并不能保证我们一定成功。

所以,我的建议是:大胆尝试,小心求证。用了RLR,可以更放心的去探索新的模型结构、新的训练方法。但是,也要时刻关注模型的训练状态,及时发现并解决问题。

文章中提到,RLR优化器的核心在于半阶估计模块中局部子链长度 h 的选择。h 影响内存开销和梯度方差,较小的 h 降低内存,但增加方差,较大的 h 则相反。团队提供了一种基于内存约束的方差最小化方法来确定最优 h 值。

实际应用中,可以这样调整:

1. 估算内存限制:首先,确定你的 GPU 内存上限。可以在训练过程中逐步增加 h 的值,观察内存占用情况,直到达到上限。
2. 选择h的范围:根据文章的结论,在主流 GPU 内存预算下,h=2 是一个较好的工程实践值。可以从 h=1 开始尝试,逐步增加到 h=3 或 h=4,看看效果是否有显著提升。
3. 监控训练指标:在不同的 h 值下,监控训练过程中的损失、奖励分数等指标。如果发现增加 h 值带来的性能提升很小,但内存占用显著增加,那么就应该选择较小的 h 值。
4. 考虑数据集大小: 如果数据集比较小,可能需要更小的h值,避免过拟合。

总之,这是一个需要根据实际情况进行调优的过程。建议从小到大尝试不同的 h 值,并密切关注内存占用和训练指标的变化。

这个扩散思维链提示词技术,我感觉就像是在给AI“讲故事”。以前我们直接给AI一个模糊的指令,它可能不知道该怎么做。现在我们把指令拆解成一个个小故事,告诉它先做什么,再做什么,最后做什么,AI就能更容易理解我们的意图,从而生成更好的结果。

比如,你想生成一张“宇航员在月球上插旗帜”的图片,如果直接告诉AI“宇航员在月球上插旗帜”,它可能会生成一些很奇怪的东西。但是,如果你用扩散思维链提示词技术,你可以这样引导:

1. 首先,告诉AI“月球表面”(生成背景)
2. 然后,告诉AI“一个穿着宇航服的人”(生成主体)
3. 最后,告诉AI“宇航员在月球上插一面旗帜”(添加动作和细节)

这样,AI就能更容易生成一张符合你要求的图片。而且,你还可以在每个步骤中添加更多的细节,例如宇航服的颜色、旗帜的图案等等,从而进一步控制生成结果。

也不能这么绝对地说“再也不用担心”。RLR 优化器确实在一定程度上缓解了这两个问题,但并不能完全消除它们。

直观感受:

1. 训练更稳定:相比于截断 BP,使用 RLR 优化器时,模型训练过程中出现崩溃的可能性会降低,这意味着可以更大胆地调整超参数,而不用担心模型突然“崩掉”。
2. 收敛更快:相比于 RL 方法,RLR 优化器通常能更快地收敛到较好的性能,这意味着可以节省训练时间,更快地得到想要的结果。
3. 生成质量更高:在相同的训练轮数下,使用 RLR 优化器生成的图像或视频质量通常会更高,尤其是在细节方面。

但需要注意的是:

* 超参数仍然很重要:RLR 优化器只是一个工具,并不能完全替代人工调参。仍然需要仔细调整学习率、batch size 等超参数,才能获得最佳效果。
* 问题仍然可能存在:即使使用了 RLR 优化器,仍然有可能遇到训练不稳定、收敛缓慢等问题。这可能是由于数据质量、模型结构等其他因素引起的。
* 并非万能药:RLR 优化器主要解决的是梯度估计的偏差和方差问题,对于其他问题,如过拟合、模型表达能力不足等,可能效果不明显。

所以,正确的态度是:RLR 优化器是一个强大的工具,可以帮助我们更好地训练扩散模型。但它不是万能药,仍然需要结合实际情况,综合考虑各种因素,才能获得最佳效果。

RLR优化器在内存和方差之间的平衡,可以理解为一种资源分配问题。在有限的计算资源下,如何最大限度地提高模型的性能?RLR通过调整半阶子链的长度h,来控制计算量和梯度方差之间的关系。h越大,计算量越大,梯度方差越小,但内存占用也会增加;h越小,反之。

实际应用中,可以考虑以下几个方面来调整这个平衡:

1. 硬件条件:这是最基本的约束。如果你的GPU内存非常有限,那么就只能选择较小的h值,牺牲一定的精度来保证训练能够进行。
2. 模型复杂度:如果你的模型非常复杂,计算量本身就很大,那么可能需要选择更小的h值,以避免内存溢出。
3. 数据集大小:如果你的数据集非常大,那么可能需要选择更大的h值,以获得更准确的梯度估计,避免训练不稳定。

总的来说,调整这个平衡需要综合考虑硬件条件、模型复杂度和数据集大小等因素。可以通过实验来找到最佳的h值。

这个“扩散思维链”让我想到了“涌现”这个概念。有点像我们写作文,先列个大纲,再往里面填充细节。只不过这里的大纲是粗粒度的提示词,细节是细粒度的提示词。

举个例子,你想让模型画一个“在海边玩耍的柯基”,你可以这样分解:

* 第一步:海滩风景(打个底色)
* 第二步:一只狗(确定主体)
* 第三步:一只在海边玩耍的柯基(添加细节)

这样一步一步引导,模型就能更好的理解你的意图,生成更符合你要求的图片。而且,这种方法还能让你更容易控制生成的过程,比如你可以随时调整某个步骤的提示词,来改变最终的效果。

总的来说,这个技术就是让AI也学会“思考”,把复杂的问题分解成简单的步骤,一步一步解决。我觉得这个思路很有意思,未来可能会有更多的应用。