直接偏好优化(Direct Preference Optimization, DPO)是一种用于对齐大型语言模型与人类偏好的训练方法。它通过直接利用人类对模型输出的偏好排序数据来优化模型,绕过了传统方法中复杂且不稳定的强化学习步骤。
理解DPO原理的一个关键类比是“老师批改选择题”。传统方法(如基于人类反馈的强化学习, RLHF)需要两步:先训练一个“评分老师”(奖励模型)学会给每个答案打分,再让“学生”(语言模型)通过反复试错来学习如何获得高分。这个过程复杂且容易出错。

而DPO则像是一位更直接的老师。它不单独训练评分模型,而是直接给“学生”展示一对答案(一个好答案,一个稍差的答案),并告诉学生:“你应该像这个好答案一样思考,而不是那个差的。” 在数学上,DPO巧妙地利用了一个洞察:在给定的人类偏好数据下,最优的语言模型策略可以直接用其自身参数和参考模型来表示,从而将复杂的强化学习问题转化为一个更稳定、更高效的有监督分类损失函数进行优化。模型学习的目标,是直接调整自身参数,使其生成被偏好答案的概率,远高于生成被拒绝答案的概率。

基于人类反馈的强化学习(RLHF)、
奖励模型(Reward Model)、
对齐(Alignment)、
有监督微调(SFT)、
Kahneman-Tversky优化(KTO)

若想深入了解DPO,建议从其原始论文《Direct Preference Optimization: Your Language Model is Secretly a Reward Model》入手。同时,可以对比阅读关于RLHF的经典文献,如《Training language models to follow instructions with human feedback》,以全面理解对齐技术从RLHF到DPO的演进脉络。许多AI技术博客和课程也提供了关于DPO的代码实现和实战教程,是很好的实践学习资源。
