基于人类反馈的强化学习

面向语言模型的后训练RLHF简明指南

作者:Nathan Lambert 译者:Junwei He

本章目录

直接对齐算法

直接对齐算法(Direct Alignment Algorithms, DAAs)允许我们在无需训练奖励模型或使用强化学习优化器的情况下,直接优化RLHF目标。 其中最具代表性、并掀起学术界大规模关注的,是直接偏好优化(Direct Preference Optimization, DPO)[1]。 DPO 将 KL 正则化奖励最大化问题中的最优策略关系代入偏好模型,得到可直接训练策略的分类损失。实际训练最小化偏好损失,并不保证有限数据和有限优化步骤下达到原目标的全局最优。 自2023年5月发布以来,经过社区对数据和超参数(尤其是意外地低学习率)的探索,DPO及其变体被广泛应用于主流模型,如Zephyr-\(\beta\)(2023年10月)[2]、Llama 3 Instruct [3]、Tülu 2 [4]、Tülu 3 [5]、Nemotron 4 340B [6]等。 严格来说,Sequence Likelihood Calibration(SLiC-HF)[7]更早提出,但因有效性和运气等原因未被广泛采用。

DPO和DAAs最重要的意义,是极大降低了语言模型后训练的技术门槛。

直接偏好优化(Direct Preference Optimization, DPO)

下面我们将直观解释DPO的原理,并推导其核心公式。

DPO的原理

DPO表面上是直接优化策略以求解RLHF目标。 其损失函数本质上是log概率的成对关系。 Bradley-Terry奖励模型推导出的损失函数如下:

\[ \begin{aligned} h_\theta(x,y_c,y_r)&=\log\frac{\pi_\theta(y_c|x)}{\pi_{\mathrm{ref}}(y_c|x)} -\log\frac{\pi_\theta(y_r|x)}{\pi_{\mathrm{ref}}(y_r|x)},\\ \mathcal{L}_{\mathrm{DPO}}&=-\mathbb{E}_{(x,y_c,y_r)\sim\mathcal{D}} \big[\log\sigma(\beta h_\theta(x,y_c,y_r))\big]. \end{aligned} \qquad{(1)}\]

这里用到DPO的隐式奖励:

\[r(x, y) = \beta \log \frac{\pi_\theta(y \mid x)}{\pi_{\text{ref}}(y \mid x)}\qquad{(2)}\]

这个奖励来自Bradley-Terry模型下的最优策略推导(见式 8)。 这是用策略与参考策略的 log 概率比参数化的隐式奖励,不是一个概率。完整奖励还可包含仅依赖 prompt 的加法项 \(\beta\log Z(x)\);该项在成对奖励差中抵消。

观察式 1中的损失,优化目标是让选中回复的log比率大于被拒回复(归一化参考模型)。 实际中,这就是对模型在数据中token序列的log概率求和。 因此,DPO实质上是在拉大选中与被拒回复概率的差距。

有了式 2中的奖励,我们可以写出损失的梯度,进一步理解机制:

\[ \begin{aligned} \nabla_\theta\mathcal{L}_{\mathrm{DPO}} =-\beta\mathbb{E}_{\mathcal{D}}\Big[&\sigma(r_\theta(x,y_r)-r_\theta(x,y_c))\\ &\cdot\big(\nabla_\theta\log\pi_\theta(y_c|x)-\nabla_\theta\log\pi_\theta(y_r|x)\big)\Big]. \end{aligned} \qquad{(3)}\]

直观理解如下:

核心直觉是,DPO“隐式拟合了一个奖励模型,其对应最优策略可解析写出”(归功于梯度上升和ML工具)。 DPO 确实直接更新策略参数;同一个语言模型同时给出了隐式奖励的参数化,而不是先独立训练奖励模型再用 RL 优化策略。

在 Bradley-Terry 偏好假设、足够的模型表达能力与充分优化等条件下,可以通过这一参数化联系偏好拟合与 KL 正则化目标的最优策略。经验训练效果仍受数据覆盖、模型容量和优化过程限制。 与策略梯度类RL方法的区别在于,DPO的生成不是在线的,而是离线的,因此\(\beta\)更易调节,但最优值依赖于具体模型与数据。

对每批偏好数据,DPO 直接计算离线偏好损失并更新策略,省去了训练循环中的在线 rollout 和显式价值估计。

图 1: DPO简洁性梗图,致谢Tom Goldstein。

DPO公式推导

DPO推导分两步: 1. 推导RLHF目标的最优策略形式; 2. 用Bradley-Terry模型推导如何从偏好数据获得该解。

1. RLHF最优解推导

对固定奖励函数 \(r\)、\(\beta>0\) 和参考策略,在其支持集上考虑:

\[ \begin{aligned} \pi^* &= \arg\max_\pi J(\pi),\\ J(\pi) &= \mathbb{E}_{x\sim\mathcal{D}}\left[ \mathbb{E}_{y\sim\pi(\cdot|x)}r(x,y) -\beta D_{\mathrm{KL}}(\pi(\cdot|x)\|\pi_{\mathrm{ref}}(\cdot|x))\right]. \end{aligned} \qquad{(4)}\]

展开 KL,并将目标乘以负数 \(-1/\beta\),最大化转为最小化。这里相等的是最优策略集合,不是目标函数的数值:

\[ \pi^*=\arg\min_\pi\mathbb{E}_{x\sim\mathcal{D},\,y\sim\pi(\cdot|x)} \left[\log\frac{\pi(y|x)}{\pi_{\mathrm{ref}}(y|x)}-\frac{r(x,y)}{\beta}\right]. \qquad{(5)}\]

定义有限的配分函数(partition function):

\[Z(x)=\sum_y\pi_{\mathrm{ref}}(y|x)\exp(r(x,y)/\beta).\qquad{(6)}\]

令 \(q(y|x)=\pi_{\mathrm{ref}}(y|x)\exp(r(x,y)/\beta)/Z(x)\),则:

\[ \pi^*=\arg\min_\pi\mathbb{E}_{x\sim\mathcal{D}} \left[D_{\mathrm{KL}}(\pi(\cdot|x)\|q(\cdot|x))-\log Z(x)\right]. \qquad{(7)}\]

\(Z(x)\) 与待优化策略无关。由 KL 非负性,当策略等于 \(q\) 时取得最小值,因此:

\[\pi^*(y|x)=\frac{1}{Z(x)}\pi_{\mathrm{ref}}(y|x)\exp(r(x,y)/\beta).\qquad{(8)}\]

2. Bradley-Terry模型下的DPO目标

回顾第7章奖励建模与第6章偏好数据,Bradley-Terry模型为:

\[p^*(y_1 \succ y_2 \mid x) = \frac{\exp\left(r^*(x,y_1)\right)}{\exp\left(r^*(x,y_1)\right) + \exp\left(r^*(x, y_2)\right)} \qquad{(9)}\]

对式 8取对数并代入,得DPO奖励:

\[r^*(x, y) = \beta \log \frac{\pi^*(y \mid x)}{\pi_{\text{ref}}(y \mid x)} + \beta \log Z(x)\qquad{(10)}\]

代入Bradley-Terry公式,化简后得:

\[p^*(y_1 \succ y_2 \mid x) = \sigma\left(\beta \log \frac{\pi^*(y_1 \mid x)}{\pi_{\text{ref}}(y_1 \mid x)} - \beta \log \frac{\pi^*(y_2 \mid x)}{\pi_{\text{ref}}(y_2 \mid x)}\right) \qquad{(11)}\]

这正是DPO的损失函数(见式 1)。

3. Bradley-Terry DPO梯度推导

DPO梯度如式 3所示,推导如下:

\[ \nabla_\theta\mathcal{L}_{\mathrm{DPO}}=-\mathbb{E}_{\mathcal{D}}\left[\nabla_\theta\log\sigma(\beta h_\theta)\right]. \qquad{(12)}\]

利用sigmoid和log的求导性质,可化为:

\[ \begin{aligned} \nabla_\theta\mathcal{L}_{\mathrm{DPO}} &=-\beta\mathbb{E}_{\mathcal{D}}\left[\sigma(-\beta h_\theta)\nabla_\theta h_\theta\right],\\ \nabla_\theta h_\theta &=\nabla_\theta\log\pi_\theta(y_c|x)-\nabla_\theta\log\pi_\theta(y_r|x). \end{aligned} \qquad{(13)}\]

数值问题、局限与变体

DPO算法已出现多种变体,旨在解决其局限。 例如,DPO在无奖励模型评分的情况下,对每对偏好数据赋予同等权重,忽略了更丰富的标签信息。 为此,相关算法尝试重新平衡优化目标:

有些变体通过调整损失函数或内存优化提升学习信号或效率:

图 2: DPO中的偏好“位移”问题示意。

DPO的一个突出问题是:优化目标仅仅是拉大选中与被拒回复概率的间隔。 数值上,可能出现两者概率都下降、被拒回复下降更多的情况(见图 2)。 这对泛化的影响尚不明确,有研究认为这会提升未被覆盖行为的概率 [13] [14]。 如Cal-DPO [15]、AlphaPO [16]等方法通过调整优化过程或奖励形状缓解这种偏好位移。 实际影响尚不明朗,但这可能是在线RL方法优于DPO的原因之一。

另一个DPO类方法性能上限低于在线RLHF的主要原因,是其训练信号来自其他模型的补全。 在线变体如Online DPO [17],或结合奖励模型重标记的新生成数据的Discriminator-Guided DPO(D2PO) [18],通过实时生成新补全并引入偏好信号,缓解了这一问题。

还有许多DAA变体,如Direct Nash Optimization(DNO)[19]、Binary Classifier Optimization(BCO)[20]等,但目前算法选择远不如初始模型和数据重要 [5] [21] [22]。

实现注意事项

DAA如DPO的实现方式与策略梯度优化器有很大不同。 DPO损失函数的典型实现如下 [1]:

import torch.nn.functional as F

# logps 是仅对回答 token 求和的序列 log 概率;参考模型保持冻结
pi_logratios = policy_chosen_logps - policy_rejected_logps
ref_logratios = reference_chosen_logps - reference_rejected_logps

logits = pi_logratios - ref_logratios  # 即 h_{\pi_\theta}^{y_w,y_l}

losses = -F.logsigmoid(beta * logits)

chosen_rewards = beta * (policy_chosen_logps - reference_chosen_logps).detach()
rejected_rewards = beta * (policy_rejected_logps - reference_rejected_logps).detach()

这可以直接用于标准语言模型训练流程(只需加一个参考模型)。

这种方式更简单,也提升了开发体验,但有一些新的注意点:

  1. \(\beta\) 不是固定的 KL 距离:\(\beta\) 来自正则化系数,并在 DPO 损失中缩放 log 概率比。实际 KL 还受训练数据、学习率、训练步数与模型影响,不能由 \(\beta\) 直接指定,也不保证每一步都趋近全局最优。应通过评测与实际分布漂移监测选择超参数。
  2. 缓存log概率:简单实现中,policy和reference模型同时前向推理,方便损失计算,但会使显存消耗翻倍。可先离线计算参考模型log概率,训练时直接查表,显著降低显存需求。

DAA与RL:在线与离线数据

本质问题是:我们是否需要强化学习的内部机制(如值函数、策略梯度等)来实现RLHF对齐? 当然,二者各有成熟体系,关键在于理解两者的本质差异和性能表现。

多项研究发现,基于策略梯度和RL的方法在性能上优于DPO及其变体。 这些研究通过控制数据、算法对比训练模型 [23] [24],或研究RL优化循环中on-policy数据的作用 [25],都显示DPO略逊一筹。

尽管如此,DAA因其简单性在主流模型中广泛应用。 DAA为训练数据和配置的快速迭代提供了极大便利,而数据往往比算法本身更重要,因此DPO在实际中依然很有价值。

随着以RL为主的推理模型兴起,未来会有更多投资回归RL偏好微调,这将提升RL基础设施的健壮性,并进一步拉开DAA与RLHF在线优化的性能差距。

参考文献

[1]
R. Rafailov, A. Sharma, E. Mitchell, C. D. Manning, S. Ermon, 和 C. Finn, 《Direct preference optimization: Your language model is secretly a reward model》, Advances in Neural Information Processing Systems, 卷 36, 2024.
[2]
L. Tunstall 等, 《Zephyr: Direct Distillation of LM Alignment》, 收入 First Conference on Language Modeling, 2024. 载于: https://openreview.net/forum?id=aKkAwZB6JV
[3]
A. Dubey 等, 《The llama 3 herd of models》, arXiv preprint arXiv:2407.21783, 2024.
[4]
H. Ivison 等, 《Camels in a changing climate: Enhancing lm adaptation with tulu 2》, arXiv preprint arXiv:2311.10702, 2023.
[5]
N. Lambert 等, 《T\(\backslash\)" ULU 3: Pushing Frontiers in Open Language Model Post-Training》, arXiv preprint arXiv:2411.15124, 2024.
[6]
B. Adler 等, 《Nemotron-4 340B Technical Report》, arXiv preprint arXiv:2406.11704, 2024.
[7]
Y. Zhao, R. Joshi, T. Liu, M. Khalman, M. Saleh, 和 P. J. Liu, 《Slic-hf: Sequence likelihood calibration with human feedback》, arXiv preprint arXiv:2305.10425, 2023.
[8]
Z. Gao 等, 《Rebel: Reinforcement learning via regressing relative rewards》, arXiv preprint arXiv:2404.16767, 2024.
[9]
M. G. Azar 等, 《A general theoretical paradigm to understand learning from human preferences》, 收入 International Conference on Artificial Intelligence and Statistics, PMLR, 2024, 页 4447~4455.
[10]
A. Amini, T. Vieira, 和 R. Cotterell, 《Direct preference optimization with an offset》, arXiv preprint arXiv:2402.10571, 2024.
[11]
J. Hong, N. Lee, 和 J. Thorne, 《Reference-free monolithic preference optimization with odds ratio》, arXiv e-prints, 页 arXiv~2403, 2024.
[12]
Y. Meng, M. Xia, 和 D. Chen, 《Simpo: Simple preference optimization with a reference-free reward》, Advances in Neural Information Processing Systems, 卷 37, 页 124198~124235, 2025.
[13]
N. Razin, S. Malladi, A. Bhaskar, D. Chen, S. Arora, 和 B. Hanin, 《Unintentional unalignment: Likelihood displacement in direct preference optimization》, arXiv preprint arXiv:2410.08847, 2024.
[14]
Y. Ren 和 D. J. Sutherland, 《Learning dynamics of llm finetuning》, arXiv preprint arXiv:2407.10490, 2024.
[15]
T. Xiao, Y. Yuan, H. Zhu, M. Li, 和 V. G. Honavar, 《Cal-dpo: Calibrated direct preference optimization for language model alignment》, arXiv preprint arXiv:2412.14516, 2024.
[16]
A. Gupta 等, 《AlphaPO–Reward shape matters for LLM alignment》, arXiv preprint arXiv:2501.03884, 2025.
[17]
S. Guo 等, 《Direct language model alignment from online ai feedback》, arXiv preprint arXiv:2402.04792, 2024.
[18]
P. Singhal, N. Lambert, S. Niekum, T. Goyal, 和 G. Durrett, 《D2po: Discriminator-guided dpo with response evaluation models》, arXiv preprint arXiv:2405.01511, 2024.
[19]
C. Rosset, C.-A. Cheng, A. Mitra, M. Santacroce, A. Awadallah, 和 T. Xie, 《Direct nash optimization: Teaching language models to self-improve with general preferences》, arXiv preprint arXiv:2404.03715, 2024.
[20]
S. Jung, G. Han, D. W. Nam, 和 K.-W. On, 《Binary classifier optimization for large language model alignment》, arXiv preprint arXiv:2404.04656, 2024.
[21]
H. Zhao 等, 《Rainbowpo: A unified framework for combining improvements in preference optimization》, arXiv preprint arXiv:2410.04203, 2024.
[22]
A. Gorbatovski, B. Shaposhnikov, V. Sinii, A. Malakhov, 和 D. Gavrilov, 《The Differences Between Direct Alignment Algorithms are a Blur》, arXiv preprint arXiv:2502.01237, 2025.
[23]
H. Ivison 等, 《Unpacking DPO and PPO: Disentangling Best Practices for Learning from Preference Feedback》, arXiv preprint arXiv:2406.09279, 2024.
[24]
S. Xu 等, 《Is dpo superior to ppo for llm alignment? a comprehensive study》, arXiv preprint arXiv:2404.10719, 2024.
[25]
F. Tajwar 等, 《Preference fine-tuning of llms should leverage suboptimal, on-policy data》, arXiv preprint arXiv:2404.14367, 2024.
← 上一章: 策略梯度 下一章: 宪法AI →