直接偏好优化,通常缩写为DPO,是一种基于人类偏好数据训练语言模型以偏好某些输出而非其他输出的方法,作为RLHF的更简单替代方案而引入。DPO并非训练单独的奖励模型,然后运行强化学习算法来优化语言模型,而是从数学上重新表述相同的偏好对齐问题,使得语言模型可以通过直接从偏好和拒绝响应配对计算出的单一、直接的监督损失进行训练,无需奖励模型,也无需强化学习循环。
起源
DPO在2023年斯坦福研究人员的一篇论文中被提出,他们证明了RLHF中通常使用的强化学习目标具有闭式最优解,可以直接用语言模型自身的输出概率来表示。这一理论结果表明,模型可以通过简单地增加其对偏好响应相对于拒绝响应的概率分配,使用从与RLHF中奖励模型训练所用的相同底层偏好模型(即成对比较的Bradley-Terry模型)推导出的损失函数,来朝着RLHF所追求的相同最优目标进行训练。
工作原理
DPO训练从RLHF奖励建模阶段使用的同类数据开始:一个包含提示的数据集,每个提示配有一个人类标注者偏好的“选中”响应和一个他们不偏好的“拒绝”响应。DPO并非使用这些数据来训练单独的奖励模型,而是直接训练语言模型,计算一个损失,该损失增加选中响应相对于拒绝响应的相对可能性,并以模型的参考版本(通常是模型在此训练步骤之前的状态)为基准,该参考版本充当隐式正则化器,以防止模型偏离合理、流畅的行为过远。由于消除了强化学习核心的采样和奖励评分循环,DPO训练在实现上比完整的RLHF流程简单得多,更稳定,且计算成本更低。
与RLHF的关系
DPO和RLHF追求相同的底层目标:将语言模型的输出与人类偏好判断对齐,通常是作为预训练基础模型监督Fine-tuning之后的阶段。RLHF通过显式奖励模型和Reinforcement learning优化循环(最常见的是近端策略优化)间接实现这一点。DPO将这两个阶段合并为一个监督目标,避免了强化学习训练可能引入的不稳定性、超参数敏感性和基础设施复杂性,但代价是灵活性稍差,因为DPO依赖于偏好数据集本身,而不是一个原则上可以对超出原始训练数据的响应进行查询的奖励模型。
采用与影响
自推出以来,DPO及密切相关的偏好优化变体在工业界和开放研究中迅速被采用,部分原因是其带来的显著工程简化:许多没有能力运行稳定强化学习训练循环的团队,仍可使用标准监督学习工具进行偏好对齐。它成为训练开放权重模型(如Hugging Face和Mistral AI等组织发布的模型)的常用技术,偏好优化变体也出现在2023年以来发布的众多模型的公开训练配方中。此后,一些衍生方法提出了改进,例如移除参考模型项或将偏好优化扩展到每次比较中多于两个候选响应。
局限性
由于DPO直接从固定的、预先收集的偏好数据集中学习,而不是从可以对任意新输出进行评分的显式奖励模型中学习,它通常被认为在泛化到与训练数据差异较大的文本分布的偏好判断方面能力较弱,并且继承了RLHF对底层人类偏好标签质量和一致性的核心依赖:标注者偏差、不一致性或狭窄的偏好标准集将直接影响最终模型的行为,就像在基于奖励模型的流程中一样。与RLHF一样,DPO本身并不能保证模型是真实或安全的;它优化的是偏好数据所奖励的任何内容,这仍然是AI alignment工作中一个活跃的研究和争论领域。