[DPO] 简单有效的后训练方法 Direct Preference Optimization,Your Language Model is Secretly a Reward Model

https://arxiv.org/abs/2305.18290

Direct Preference Optimization (DPO) 是一种无需强化学习的新方法,用于从人类偏好中直接训练语言模型。通过将偏好学习转化为简单的交叉熵优化问题,DPO 降低了训练复杂度,同时实现了与现有基于 RLHF 方法相当甚至更优的性能。

DPO 的两大重要贡献
  1. 去强化学习的偏好优化框架
    DPO 避免了传统 RLHF 方法中复杂的强化学习训练过程,如 PPO,而是通过一个简单的交叉熵损失函数直接优化策略,极大地降低了训练复杂度,同时保持了泛化能力和高效性。这种方法减少了对超参数调优的依赖,使得从人类偏好中训练语言模型的门槛显著降低。

  2. 奖励函数与策略的直接映射
    DPO 建立了语言模型策略与奖励函数之间的显式映射,绕过了显式奖励模型的拟合和分区函数计算问题。这种重新参数化方法不仅保留了所有可表示的奖励函数类别,还实现了高效的优化过程,确保了策略的解析解(closed-form solution)。

前置知识

三个阶段:

1. SFT

2. Reward Modelling Phase:

在第二阶段,SFT 模型会使用提示 x 生成一对答案   (y_1, y_2) \sim \pi_{\text{SFT}}。这些答案随后会呈现给人类标注者,由他们对其中一个答案表达偏好,记作 y_w \succ y_l,其中 yw 和 yl分别表示偏好和不偏好的答案(即 (y1,y2)中的两个答案)。这些偏好被假定是由某个潜在的奖励模型 r^*(x,y)生成的,但我们无法直接访问该模型。

BT 模型是一种用来建模人类偏好的数学工具。它的核心思想是:

  • 我们可以假设人类对候选答案的偏好来源于一个“潜在奖励分数” r^*(x, y),这个分数反映了某个答案 y 的质量或人类对它的满意程度。
  • 如果 y_1的分数比 y_2的分数高,人类就更可能选择 y_1

BT 模型用以下公式来表示人类选择的概率:

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)}                                             (1)

\mathcal{D} = \left\{ \left( x^{(i)}, y_w^{(i)}, y_l^{(i)} \right) \right\}_{i=1}^N  这是sample的标注数据对,x是prompt,y_w 和 y_l分别表示偏好和不偏好的答案

配一个negative log-likelihood loss

\mathcal{L}_R(r_\phi, \mathcal{D}) = - \mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \log \sigma\left(r_\phi(x, y_w) - r_\phi(x, y_l)\right) \right]                 (2)

语言模型背景下,reward network r_\phi(x,y) 通常用SFT的模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值