《Direct Preference Optimization: Your Language Model is Secretly a Reward Model》,就是著名的DPO
论文链接:https://arxiv.org/html/2305.18290v2
前面文章提到,后训练(Post-Training)的重要性,所以也一直想看看RLHF、DPO等技术,可惜,一直给自己挖坑,要学的东西一个接着一个。
先来看一篇通俗的文章,《深度解密大语言模型: 数据, 评估和系统 | 斯坦福最新“构建LLM大语言模型”讲座三万字全文》(文章链接:https://mp.weixin.qq.com/s/PibyYvXDi7En69ppna_5yg),文章有点长,不过对于大模型的介绍,全面、深刻又通俗易懂。
其中,关于DPO的一些论述,进行摘录:
1、PPO 面临许多挑战。强化学习在理论上非常好,但在实践中,任何曾经使用过强化学习的人都知道它很复杂。……所有这些都表明,我们需要一种新的方法。大约一年前,斯坦福大学提出了一种新方法,叫做直接偏好优化(DPO),本质上是PPO的简化。他们的思路是,不使用强化学习,而是最大化生成你喜欢的东西的概率,并最小化你不喜欢的东西的概率
2、如果你考虑人类的偏好,红色和绿色会最小化绿色,最大化红色。所以损失实际上是模型在给定输入情况下生成人类喜欢的东西的可能性。你试图做的基本上是最大化生成你喜欢的东西的可能性,最小化你不喜欢的东西的可能性。其他所有术语在这里都不太重要,理解起来并不复杂。但在高层次上,它实际上只是最大化你喜欢的东西,最小化其他的东西。
有一点需要注意,实际上所有其余的选择在某些假设下,PPO的全局最小值和DPO的全局最小值基本上是等价的。所以从数学上来说,这是正确的做法。
PPO的情况完全不同。使用PPO,你需要收集人类偏好,然后训练具有最大似然的奖励模型,再使用强化学习。现在你所做的基本上就是最大似然,简单多了。
今天恰好看到一篇文章,《实测3款AI助手,哪个才是读文献的最佳神器?》,介绍腾讯元宝的论文阅读功能。
就拿DPO这篇论文做一个试用。
按照介绍文章,使用Prompt :
这是关于大模型的DPO方法的论文,帮我总结主要的技术创新点,可以从模型结构、训练数据、训练目标(损失函数)等几方面来总结。写成小红书的笔记格式,参考格式如下:
🌟简单概括论文主要贡献,给出论文标题
✈️模型结构:模型结构方面的技术方案概括,突出强调创新点
⛰️训练数据:训练数据方面的技术方案,主要是训练数据的数目、来源和配比
🔥训练目标:各阶段训练的目的和损失函数
💻实验评测:和现有大模型的实验对比,突出该模型的优越性能
输出:
🌟 Direct Preference Optimization (DPO): 一种无需显式奖励建模或强化学习的语言模型训练方法,直接从人类偏好中学习。
✈️ 模型结构: 传统方法使用强化学习从人类反馈中优化奖励模型,然后使用该奖励模型进行策略优化。DPO通过引入一种新的奖励模型参数化方式,使得最优策略可以直接以封闭形式提取,避免了复杂的强化学习训练过程。具体来说,DPO将策略网络同时作为语言模型和隐式奖励模型,简化了训练流程。
⛰️ 训练数据: DPO使用人类对模型响应的偏好数据集进行训练。这些数据集是通过大规模无监督预训练得到的,涵盖了广泛的知识和能力。与现有方法相比,DPO不需要额外的标注数据,而是直接利用已有的预训练模型生成偏好数据。
🔥 训练目标: DPO的训练目标是最小化一个基于二元交叉熵的损失函数,该损失函数直接反映了人类偏好。这种方法不仅简化了训练流程,还提高了模型的稳定性和计算效率。
💻 实验评测: 在情感调节、摘要生成和单轮对话等任务中,DPO的表现至少与现有的基于PPO的强化学习从人类偏好中学习方法相当,甚至在某些情况下表现更好。实验结果表明,DPO在控制生成情感方面优于PPO,并且在摘要质量和单轮对话响应质量上也有显著提升。此外,DPO在实现和训练上更为简单,显著降低了从人类偏好中训练语言模型的门槛。
继续点击深度阅读,输出如下: