DPO直接偏好优化
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.