DPO直接偏好优化

Ryan Lu Lv4

DPO 产生的背景

RLHF(Reinforcement Learning with Human Feedback)基于人类反馈的强化学习,是近年来在人工智能,尤其是大型语言模型训练中非常关键的一种技术方法,可以使 AI 模型的回复更加符合用户的偏好和期望。

为什么需要 RLHF?大模型基于海量数据的无监督学习,可以生成连贯的句子,但是生成内容不一定符合人类的偏好和期望,不够有帮助不够人性化。

RHLF 的核心流程主要包括:

  • 监督微调(SFT):用人类标注的“好答案”微调模型,使模型初步学会按照人类意图输出。
  • 训练奖励模型(RM):对模型的输出进行人为评分,训练一个能预测“好答案得分”的模型。
  • 强化学习优化:用强化学习算法让模型学会生成更高奖励的回答。

其中 PPO(Proximal Policy Optimization)是由 OpenAI 提出的一种强化学习算法,广泛应用于策略优化任务中。PPO 引入了“近端约束”(防止策略更新太激进)

但是这套流程过于复杂,在此基础上拉斐尔·拉法伊尔(Rafael Rafailov)等人提出直接偏好优化(Direct Preference Optimization, DPO)

DPO 的核心动机是将 RLHF 多阶段多模型的流程,简化为一个单一阶段、端到端的微调过程。抛弃奖励模型,告别强化学习,实现端到端优化。可以省去训练和存储一个独立奖励模型的巨大开销,摆脱 PPO 算法的训练不稳定性和复杂超参数调优问题,直接在一个简单的损失函数下,对 SFT 模型进行微调,使其符合人类偏好。

DPO 实现的可能性

强化学习的目标函数,奖励函数和最优策略之间,存在一个确定的解析性的关系。

基于推导,DPO 构建了一个形式类似于逻辑回归的损失函数

损失函数的目标,就是最大化模型在 chosen 回答和 rejected 回答上的“进步程度”之差。通过最小化这个损失,模型被引导去增加生成 chosen 回答的几率。

DPO算法的局限性

相比于 PPO,DPO 使用离线数据而非在线采样数据训练。经分析,DPO 算法会导致训练出的模型对训练数据分布之外的输出产生偏好,在某些情况下产生不可预料的回复。

于是,为了提升 DPO 算法的能力,吴翼研究团队总结了两个关键技术:在 RLHF 训练前进行额外的 SFT 训练,以及使用在线采样数据而非离线数据

实验表明,使用额外的 SFT 训练可以使 base 模型以及 reference 模型更偏向于数据集内的分布,大大提升 DPO 算法效果;另一方面,使用在线采样数据进行迭代训练的 DPO 算法可以得到稳步提升,表现远远优于基础的 DPO 算法。

  • Title: DPO直接偏好优化
  • Author: Ryan Lu
  • Created at : 2025-11-11 16:04:00
  • Updated at : 2025-11-13 03:13:49
  • Link: http://ryan-hub.site/6f1863032231/
  • License: This work is licensed under CC BY-NC-SA 4.0.