https://arxiv.org/abs/2305.18290
Direct Preference Optimization (DPO) 是一种无需强化学习的新方法,用于从人类偏好中直接训练语言模型。通过将偏好学习转化为简单的交叉熵优化问题,DPO 降低了训练复杂度,同时实现了与现有基于 RLHF 方法相当甚至更优的性能。
DPO 的两大重要贡献:
-
去强化学习的偏好优化框架
DPO 避免了传统 RLHF 方法中复杂的强化学习训练过程,如 PPO,而是通过一个简单的交叉熵损失函数直接优化策略,极大地降低了训练复杂度,同时保持了泛化能力和高效性。这种方法减少了对超参数调优的依赖,使得从人类偏好中训练语言模型的门槛显著降低。 -
奖励函数与策略的直接映射
DPO 建立了语言模型策略与奖励函数之间的显式映射,绕过了显式奖励模型的拟合和分区函数计算问题。这种重新参数化方法不仅保留了所有可表示的奖励函数类别,还实现了高效的优化过程,确保了策略的解析解(closed-form solution)。
前置知识
三个阶段:
1. SFT
2. Reward Modelling Phase:
在第二阶段,SFT 模型会使用提示 x 生成一对答案 。这些答案随后会呈现给人类标注者,由他们对其中一个答案表达偏好,记作
,其中 yw 和 yl分别表示偏好和不偏好的答案(即 (y1,y2)中的两个答案)。这些偏好被假定是由某个潜在的奖励模型
生成的,但我们无法直接访问该模型。
BT 模型是一种用来建模人类偏好的数学工具。它的核心思想是:
- 我们可以假设人类对候选答案的偏好来源于一个“潜在奖励分数”
,这个分数反映了某个答案 y 的质量或人类对它的满意程度。
- 如果
的分数比
的分数高,人类就更可能选择
BT 模型用以下公式来表示人类选择的概率:
(1)
这是sample的标注数据对,x是prompt,y_w 和 y_l分别表示偏好和不偏好的答案
配一个negative log-likelihood loss
(2)
语言模型背景下,reward network 通常用SFT的模型