Direct Preference Optimization: Your Language Model is Secretly a Reward Model

文章标题:直接偏好优化:你的语言模型秘密地是一个奖励模型
作者/机构:Rafael Rafailov, Archit Sharma, Eric Mitchell, Stefano Ermon, Christopher D. Manning, Chelsea Finn (Stanford University, CZ Biohub)

A1 主要贡献

图1:DPO在避免强化学习的同时优化人类偏好。现有的使用人类反馈微调语言模型的方法首先将奖励模型拟合到提示和人类对响应对的偏好数据集上,然后使用RL找到一个最大化学习奖励的策略。相比之下,DPO通过一个简单的分类目标直接优化最能满足偏好的策略,拟合一个隐式奖励模型,其对应的最优策略可以以封闭形式提取。
图1:DPO在避免强化学习的同时优化人类偏好。现有的使用人类反馈微调语言模型的方法首先将奖励模型拟合到提示和人类对响应对的偏好数据集上,然后使用RL找到一个最大化学习奖励的策略。相比之下,DPO通过一个简单的分类目标直接优化最能满足偏好的策略,拟合一个隐式奖励模型,其对应的最优策略可以以封闭形式提取。

A3 背景知识

我们回顾了Ziegler等人【索引51,Fine-tuning language models from human preferences,2020】(以及后来的【索引40,Learning to summarize from human feedback,2022】,【索引1,Training a helpful and harmless assistant with reinforcement learning from human feedback,2022】,【索引28,Training language models to follow instructions with human feedback,2022】)中的RLHF流程。它通常包括三个阶段:1)监督微调(SFT);2)偏好采样和奖励学习;3)强化学习优化。

A2 方法细节

4 直接偏好优化

A3 关键Observation/设计原则

5 DPO的理论分析

在本节中,我们进一步解读DPO方法,提供理论支持,并将DPO的优势与用于RLHF的行动者-评论家算法(如PPO【索引39,Proximal policy optimization algorithms, 2017】)存在的问题联系起来。

5.1 你的语言模型秘密地是一个奖励模型

5.2 行动者-评论家算法的不稳定性

A4 实验环境

A4 实验结果

A5 结论

A6 附录

A 数学推导

A.1 推导KL约束奖励最大化目标的最优解

A.2 在Bradley-Terry模型下推导DPO目标

A.3 在Plackett-Luce模型下推导DPO目标

A.4 推导DPO目标的梯度

A.5 引理1和2的证明

A.6 定理1的证明

B DPO实现细节和超参数

def dpo_loss(pi_logps, ref_logps, yw_idxs, yl_idxs, beta):
    """
    pi_logps: 策略的对数概率, shape (B,)
    ref_logps: 参考模型的对数概率, shape (B,)
    yw_idxs: 偏好完成的索引 in [0, B-1], shape (T,)
    yl_idxs: 不偏好完成的索引 in [0, B-1], shape (T,)
    beta: 控制KL惩罚强度的温度

    每对 (yw_idxs[i], yl_idxs[i]) 代表一个偏好对的索引。
    """
    pi_yw_logps, pi_yl_logps = pi_logps[yw_idxs], pi_logps[yl_idxs]
    ref_yw_logps, ref_yl_logps = ref_logps[yw_idxs], ref_logps[yl_idxs]
    pi_logratios = pi_yw_logps - pi_yl_logps
    ref_logratios = ref_yw_logps - ref_yl_logps
    losses = -F.logsigmoid(beta * (pi_logratios - ref_logratios))
    rewards = beta * (pi_logps - ref_logps).detach()
    return losses, rewards

C 实验设置的进一步细节

D 额外的实验结果