Enhancing LLM Safety via Constrained Direct Preference Optimization

ICLR2024 受约束的直接偏好优化

Posted by Birdie on April 9, 2025

Enhancing LLM Safety via Constrained Direct Preference Optimization

杜兰大学

ICLR 2024

摘要

随着大型语言模型(LLMs)能力的迅速提升,迫切需要将 AI 系统与多样化的人类偏好对齐,以同时增强其有用性和安全性。尽管这些目标往往存在冲突,但实现对齐是至关重要的。为了应对这一挑战,一种有前景的方法是在微调阶段通过受约束的强化学习从人类反馈(RLHF)框架来强制执行安全性约束。然而,这种方法计算成本高昂且通常不稳定。在本文中,提出了一种名为 受约束的直接偏好优化(Constrained DPO, C-DPO) 的新方法,它是最近提出的直接偏好优化(DPO)方法的扩展,用于微调大型语言模型。该方法既高效又轻量,通过结合对偶梯度下降和 DPO,在不使用强化学习的情况下,找到了有用性和无害性之间的近似最优权衡。实验表明,我们的方法为 LLMs 提供了缺失的安全性保障,同时在相同的安全性约束下,相较于最近提出的基于安全 RLHF 的方法,我们的方法能够显著提高奖励。

介绍

大型语言模型(LLMs)在聊天补全、指令遵循、编程、问题解决和决策制定等任务中展现出了卓越的能力。然而,它们也存在各种弱点和漏洞,这可能会阻碍它们在安全和安全关键领域的应用。为了使这些模型更符合人类偏好,人们采用了监督微调(SFT)以及基于人类反馈(RLHF)或人工智能反馈(RLAIF)的强化学习等技术。然而,这些技术在面对经过精心设计的对抗性输入时,无法提供强大的防御。这种局限性源于LLM训练中固有的冲突目标,例如有用性和无害性,这些目标很难通过单一的奖励或偏好模型来平衡。

一个有前景的提升安全性的方向是将奖励和安全性目标解耦,并在安全性约束下对LLM进行微调,以优化预期奖励,其中目标和约束使用来自人类(或人工智能)反馈的不同数据集进行建模。通过施加安全性约束,这种方法可以在不降低模型效用的情况下,潜在地导致更安全的模型。此外,它自然地融入了最近广泛研究的安全强化学习框架。然而,将安全强化学习技术直接应用于LLM微调是不令人满意的。特别是,基于近端策略优化(PPO)的原始对偶方法训练成本高昂,并且存在强化学习的不稳定性

我们在这项工作的目标是开发一个更具可扩展性的微调框架,以提高LLM的安全性。我们没有采用PPO,而是扩展了直接偏好优化(DPO)框架,将其应用于受约束的微调。DPO作为一种稳定且轻量级的RLHF替代方案,通过直接从离线偏好数据集中优化策略,而不使用强化学习。它进一步消除了学习奖励函数或收集新的人类偏好数据的需要,尽管最近的研究表明,在应用DPO时,学习显式的奖励函数是有益的。在这项工作中,我们开发了一种基于DPO的对偶梯度下降方法,这种方法仍然需要预训练奖励和成本函数,但比中的原始对偶PPO方法更高效。使用Llama 2进行的评估表明,我们的受约束DPO(C-DPO)方法提供了DPO所缺失的强安全性保证,同时在相同的约束下获得了比受约束PPO方法更高的奖励。

预备知识

强化学习从人类反馈(RLHF)

RLHF 的正式框架通常涉及两个关键步骤:1)奖励建模;2)强化学习优化。

奖励建模阶段:奖励建模涉及学习一个奖励模型 $r$,以近似人类对偏好和不偏好答案的评估。在本工作中,我们采用最广泛使用的 Bradley-Terry(BT)模型:给定提示 $x$ 和回答 $y$,我们假设 $y$ 给定 $x$ 的逐点奖励为 $r(x, y)$,可以解释为生成偏好的真实奖励函数。那么,BT 模型将人类偏好分布 $p^*(y_1 \succ y_2\mid x)$ 表示为两个奖励之间的差值的函数:

\[p^*(y_1 \succ y_2\mid x) = \frac{\exp(r(x, y_1))}{\exp(r(x, y_1)) + \exp(r(x, y_2))} \quad (1)\]

其中 $y_1 \succ y_2\mid x$ 表示在一对回答中,$y_1$ 是偏好的,$y_2$ 是不偏好的。假设我们有一个数据集 $D = \lbrace x_i, y_i^\omega \succ y_i^l\rbrace _{i=1}^N$,该数据集是从方程 (1) 中的相同分布中采样的,其中每个提示 $x$ 有一对答案 $(y^\omega, y^l)$,且 $y^\omega$ 比 $y^l$ 更受偏好。然后,我们可以参数化奖励模型 $r(x, y)$,并通过最小化以下逻辑回归损失来拟合参数:

\[L(r; D) = -\mathbb{E}_{(x,y^\omega,y^l) \sim D}[\log(p(y^\omega \succ y^l\mid x))] \quad (2)\] \[= -\mathbb{E}_{(x,y^\omega,y^l) \sim D}[\log \sigma(r(x, y^\omega) - r(x, y^l))] \quad (3)\]

其中 $\sigma$ 是逻辑函数。

强化学习优化阶段:在强化学习阶段,我们通过以下目标函数来表述问题:

\[\max_{\pi_\theta} \mathbb{E}_{x \sim D, y \sim \pi_\theta(y\mid x)}[r(x, y)] - \beta D_{\text{KL}}[\pi_\theta(y\mid x) \mid \mid \pi_{\text{ref}}(y\mid x)] \quad (4)\]

该目标可以通过强化学习方法(如 PPO)或类似方法进行优化。此外,最近的研究也探索了无强化学习的范式,例如 DPO。

安全强化学习从人类反馈(Safe RLHF)

与上述传统的 RLHF 流程相比,Safe RLHF 范式增加了额外的步骤,以减少语言模型的潜在危害。

成本建模阶段:引入成本模型 $c$ 来区分安全和不安全的响应。给定数据集 $D = \lbrace x_i, y_i^\omega \succ y_i^l, s_i^\omega, s_i^l\rbrace _{i=1}^N$,其中 $y^\omega \succ y^l$ 表示 $y^l$ 比 $y^\omega$ 更安全,

\[s(y) = \begin{cases} 1 & \text{如果 } y \text{ 是不安全的} \\ -1 & \text{否则} \end{cases}\]

我们可以使用以下成对比较损失来学习成本模型,该损失与 BT 模型一致:

\[L(c; D) = -\mathbb{E}_{(x,y^\omega,y^l) \sim D}[\log \sigma(c(x, y^\omega) - c(x, y^l))]\] \[-\mathbb{E}_{(x,y^\omega,y^l,s^\omega,s^l) \sim D}[\log \sigma(s^\omega c(x, y^\omega)) + \log \sigma(s^l c(x, y^l))] \quad (5)\]

安全强化学习优化阶段:在安全强化学习阶段,引入额外的约束条件,以确保优化策略 $\pi_\theta(y\mid x)$ 的预期成本低于某个预定义的阈值 $C_{\text{limit}}$:

\[\max_{\pi_\theta} \mathbb{E}_{x \sim D, y \sim \pi_\theta(y\mid x)}[r(x, y)] - \beta D_{\text{KL}}[\pi_\theta(y\mid x) \mid \mid \pi_{\text{ref}}(y\mid x)] \quad (6)\] \[\text{subject to } \mathbb{E}_{x \sim D, y \sim \pi_\theta(y\mid x)}[c(x, y)] \leq C_{\text{limit}} \quad (7)\]

与传统的 RLHF 类似,此目标也可以通过 PPO 的变体(例如中采用的原始对偶 PPO 算法)进行优化。

方法

安全强化学习从人类反馈(Safe RLHF)框架提供了一种有前景的方法,用于优化语言模型(LMs),使其同时符合有用性和安全性的对齐目标。然而,基于强化学习(RL)的微调成本高昂且通常不稳定,并且在引入约束条件时情况会更加复杂。另一方面,原始的直接偏好优化(DPO)算法不能直接用于优化方程 (6) 中的 Safe RLHF 目标。因此,我们提出了受约束的直接偏好优化(Constrained DPO, C-DPO),它结合了对偶梯度下降和 DPO,以获得一种无需使用强化学习即可实现 Safe RLHF 目标的高效且轻量级的解决方案。

为了解决约束问题 (6),首先通过拉格朗日方法将其转换为无约束形式。定义目标函数 $J_r(\pi_\theta) = \mathbb{E}_{x \sim D, y \sim \pi_\theta(y\mid x)}[r(x, y)] - \beta D_{\text{KL}}[\pi_\theta(y\mid x) \mid \mid \pi_{\text{ref}}(y\mid x)]$ 和约束函数 $J_c(\pi_\theta) = \mathbb{E}_{x \sim D, y \sim \pi_\theta(y\mid x)}[c(x, y)] - C_{\text{limit}}$。然后,我们可以定义相关的拉格朗日函数 $J(\pi_\theta, \lambda)$ 和对偶函数 $g(\lambda)$,如下所示:

\[J(\pi_\theta, \lambda) = J_r(\pi_\theta) - \lambda J_c(\pi_\theta) \quad (8)\] \[g(\lambda) = J(\pi^*_\lambda, \lambda) \quad (9)\]

其中 $\pi^\ast_\lambda = \arg\max_{\pi_\theta} J(\pi_\theta, \lambda)$。这里,$\pi_\theta$ 是原始变量,而 $\lambda \geq 0$ 是对偶变量。众所周知,对偶函数 $g(\lambda)$ 是原始问题 (6) 的上界。此外,可以证明目标函数在 $\pi_\theta$ 上是凹的,因此强对偶性(strong duality)成立,即 $g(\lambda)$ 的最小值等于原始问题 (6) 的最大值。因此,可以通过对偶梯度方法来解决原始问题,该方法通过迭代执行以下两个步骤:1)基于当前的 $\lambda$ 值找到 $\pi^\ast_\lambda = \arg\max_{\pi_\theta} J(\pi_\theta, \lambda)$;2)对对偶函数 $g(\lambda)$ 进行梯度下降。

给定 $\lambda$ 时找到最优的 $\pi^*_\lambda$:算法从初始的 $\lambda$ 开始,解决无约束问题:

\[\arg\max_{\pi_\theta} J(\pi_\theta, \lambda) \quad (10)\]

可以证明无约束问题的最优解具有以下形式:

\[\pi^*_\lambda(y\mid x) = \frac{1}{Z_\lambda(x)} \pi_{\text{ref}}(y\mid x) \exp\left(\frac{1}{\beta} (r(x, y) - \lambda c(x, y))\right) \quad (11)\]

其中 $Z_\lambda(x) = \sum_y \pi_{\text{ref}}(y\mid x) \exp\left[\frac{1}{\beta} (r(x, y) - \lambda c(x, y))\right]$ 是一个归一化函数。

我们现在定义一个新的奖励函数 $r_\lambda(x, y) = r(x, y) - \lambda c(x, y)$,它通过 $\lambda$ 确定的权衡将 LLM 的回答的有用性和有害性结合起来。然后,(11) 式表明,给定 $\lambda$ 时的最优策略可以直接从 $r_\lambda$ 推导出来。然而,由于归一化函数难以计算,这在实际中很难实现。在 DPO 中,当 $\lambda = 0$ 时,通过将真实奖励 $r^\ast$ 用最优策略 $\pi^\ast$ 表示(根据 (11) 式),然后将其代入 BT 偏好模型 (1) 中,其中归一化函数会相互抵消。这样,最优策略可以通过最小化 (3) 式中的回归损失来获得。为了将这种方法适应到我们的设置中,关键思想是根据 $r_\lambda(x, y)$ 定义一个新的 BT 偏好模型,如下所示:

\[p^*_\lambda(y_1 \succ y_2\mid x) = \frac{\exp(r_\lambda(x, y_1))}{\exp(r_\lambda(x, y_1)) + \exp(r_\lambda(x, y_2))} \quad (12)\]

其中 $y_1 \succ y_2\mid x$ 表示 $r_\lambda(x, y_1) = r(x, y_1) - \lambda c(x, y_1) \succ r_\lambda(x, y_2) = r(x, y_2) - \lambda c(x, y_2)$。然后,我们根据新的偏好模型生成一个新的数据集,其提示与原始数据集 $D$ 中的相同,而回答则是根据新的偏好模型采样的。这一步是必要的,因为原始数据集 $D$ 中的提示回答对的偏好通常不是根据我们的偏好函数 $r_\lambda$ 生成的。幸运的是,如果我们有预训练的奖励和成本函数,我们可以计算原始数据集中每个提示回答对的奖励和成本,然后根据 (12) 式生成一个新的偏好数据集 $D_{r_\lambda}$。

在得到新的偏好数据集 $D_{r_\lambda}$ 后,我们可以像 DPO 那样,为给定的 $\lambda$ 优化策略 $\pi_\theta$,并制定以下类似于 DPO 的最大似然目标:

\[L(\pi_\theta; \pi_{\text{ref}}) = -\mathbb{E}_{(x,y^\omega,y^l) \sim D_{r_\lambda}} \left[ \log \sigma\left(\beta \log \frac{\pi_\theta(y^\omega\mid x)}{\pi_{\text{ref}}(y^\omega\mid x)} - \beta \log \frac{\pi_\theta(y^l\mid x)}{\pi_{\text{ref}}(y^l\mid x)}\right) \right] \quad (13)\]

请注意,这个目标与原始的优化问题 (10) 并不相同。然而,我们可以证明,如果新的 BT 偏好模型 $p^\ast_\lambda$ 是根据我们的偏好函数 $r_\lambda = r(x, y) - \lambda c(x, y)$ 生成的,并且新的数据集 $D_{r_\lambda}$ 足够大且完美地拟合新的偏好 $p^\ast_\lambda$,使得可以通过最小化 $L(r; D_{r_\lambda})$ 得到 $r_\lambda$,那么最小化 (13) 式的最优策略与最大化原始目标 (10) 的最优策略是一致的。

对 $\lambda$ 进行梯度下降:接下来,我们对对偶函数 $g(\lambda)$ 应用梯度下降,以更新 $\lambda$ 并最小化对偶函数 $g(\lambda)$。如附录 A.2.4 所示,对偶函数 $g(\lambda)$ 的梯度可以表示为:

\[\frac{dg(\lambda)}{d\lambda} = \mathbb{E}_{x \sim D, y \sim \pi^*_\lambda(y\mid x)}[C_{\text{limit}} - c(x, y)] \quad (14)\]

它表示所学策略 $\pi^\ast_\lambda$ 的预期约束违反情况。

实验

基准模型:除了 C-DPO,我们还考虑了基于预训练的 Llama-27B 模型的几种基准模型,包括使用监督微调(SFT)微调的模型、原始的直接偏好优化(DPO),以及 Beaver-v1,后者是使用原始对偶 PPO 训练的 Safe-RLHF 方法。

评估方法:从 BEAVERTAILS 测试数据集中随机抽取 2000 个提示,为每个提示生成 5 个回答,并计算这些回答的预期奖励和成本,以及它们的方差。

实验结果:表 1 展示了不同模型在测试数据集上的性能比较,重点关注有用性和无害性。所有评估模型的一个显著观察结果是性能指标的方差很大,尤其是在成本领域,这表明模型生成的回答存在不稳定性。原因之一是允许的奖励和成本值范围较大。回答的多样性导致成本和奖励值存在较大差距。此外,当前的优化目标侧重于策略的预期成本,而对整体方差的关注较少。尽管如此,我们发现 SFT 模型倾向于生成有害性较高且奖励相对较低的回答,而 DPO 获得了最高的奖励,但也承受了最高的成本,因为它旨在提高有用性,这通常与无害性相冲突。Beaver-v1 显著提高了无害性,但导致奖励大幅下降。相比之下,C-DPO($\lambda = 1$)在奖励方面优于 Beaver-v1,同时在成本方面仅略有增加,实现了在不违反安全约束的情况下最大化预期奖励的主要目标。此外,C-DPO($\lambda = 0.4$)在当前 $C_{\text{limit}} = 0$ 的情况下成为最优策略,超过了 C-DPO($\lambda = 1$)的奖励,同时遵守安全约束。这表明我们在算法中对对偶变量 $\lambda$ 的微调有助于在有用性和有害性之间实现有效的权衡。

image-20250409142030283

附录

A.1 讨论

A.2 分析结果

  • A.2.1 安全强化学习的强对偶性
  • A.2.2 无约束目标的最优解推导
  • A.2.3 安全强化学习与最大似然目标的等价性
  • A.2.4 对偶函数的梯度推导

A.3 相关工作

A.4 关于受约束直接偏好优化(C-DPO)算法的详细信息

A.5 关于实验设置的详细信息

  • A.5.1 数据集
  • A.5.2 预训练的奖励和成本函数
  • A.5.3 实现细节
  • A.5.4 评估细节

A.6 额外的实验结果

  • A.6.1 训练曲线
  • A.6.2 额外的测试性能
  • A.6.3 不同模型生成的样本