赞
踩
AI中的**直接偏好优化(DPO)**是指一种方法,其中AI系统根据直接优化用户偏好来进行决策或预测。这与传统方法形成对比,传统方法是训练模型以最小化预定义的损失函数,这个损失函数可能与实际用户偏好完全一致,也可能不完全一致。
因此,不多说了,让我们深入探讨如何将我们的LLM与人类偏好对齐。
让我们快速描述LLM训练流程,然后我们将了解DPO如何帮助我们。
步骤1后的输出:
步骤2后的输出:
步骤3:从人类反馈中进行强化学习(RHFL)
RHFL的目的:
在AI中,直接偏好优化(DPO)是一种关键方法,原因有几个,特别是在传统模型可能无法充分与复杂而微妙的人类偏好相一致的情况下。
预定义的指标(如准确性、精确度、召回率)是我们认为用户想要的东西的代理。它们往往无法捕捉到用户满意度的所有方面,特别是在复杂的决策场景中。不同的应用可能需要不同类型的优化。DPO使得模型的目标可以根据特定的用户需求和场景进行定制。
通过直接融入用户反馈,DPO使模型的输出更加贴近用户实际认为有价值或可取的内容。人类的偏好会随着时间的推移而变化,并在不同的环境中有所不同。DPO允许模型动态适应这些不断变化的偏好,保持其相关性和有效性。
在推荐系统、个性化医疗保健或客户服务等应用中,理解和适应个体用户偏好可以显著提高AI系统的效果。而像DPO这样的方法可以潜在地减少AI输出中的偏见。通过从多样化的用户反馈中学习,模型可以更加公平,并且不太可能延续训练数据中存在的现有偏见。
DPO非常重要,因为它可以用来将模型对齐到安全的响应。我们可以很容易地想象,在预训练阶段,模型可能已经学到了关于性行为、化学战争、核技术等方面的知识。DPO可以帮助我们不让这些非常强大的模型进入危险领域。
为了充分理解这一点,让我们谈谈端到端RLHF所需的模型总数。为此,我们需要复制我们的基础模型四次。
所有四个模型及其之间的区别RLHF(奖励模型+PPO)(图片来源)
让我们更详细地了解第三和第四个模型,我假设上面的解释至少清楚地解释了基础LLM和SFT。
奖励模型只是复制了SFT模型,并对其进行修改,以删除非嵌入层(最终层的非嵌入层将文本的内部表示转换为可读的文本),并添加一个标量奖励头。该模型接收一个提示并输出一个标量奖励。该层不输出文本,而是输出一个标量值,即表示给定输入的“奖励”或“分数”的单个数字。奖励模型是使用人类反馈进行训练的。这个反馈可以是对AI生成的响应进行排名或评分的形式。
奖励模型是RLHF中的一个关键组成部分。它提供了衡量AI生成响应质量的可量化指标。在进一步训练AI时,这个奖励信号被用来增强好的响应(那些获得更高奖励的响应)并抑制不好的响应(那些获得较低奖励的响应)。
近端策略优化(PPO)模型也是SFT模型的副本,其中的参数将被更新以与人类偏好对齐。PPO是一种强化学习算法,用于微调AI模型(最初的SFT模型)。它优化“策略”,在这个上下文中指的是根据人类价值观生成文本响应的策略。PPO训练的目标是最大化从奖励模型获得的奖励。
希望现在有更多事情变得清晰了,我知道你可能还有一些关于ChatGPT训练方式的问题,请在评论中提出,否则这篇文章会变得太长。
DPO通过完全移除奖励模型来简化这个过程。
DPO (图片来源)
他们通过修改最后一步的损失函数,直接向最终模型提供一个比较数据集。这是一个消除依赖关系的很好的例子,以及简单化可以带来更好结果的方式。
让我们看看它在实践中是如何工作的。
假设任务是使我们的模型只生成积极的评论。 *提示 x* 是来自IMDB数据集的电影评论的前缀,策略必须生成一个带有积极情感的完成 *Y*。
x: 钢铁侠是...
y_w: 史上最好的电影,因为...
y_l: 我认为是我看过的最糟糕的漫威电影...
首先,我们训练一个在IMDB电影评论数据集的训练集上生成类似电影数据的SFT。然后,我们使用一个预训练的情感分类器生成带有标签的偏好数据集。
根据分类器的评估,将每个完成标记为“首选”(positive)如果它具有积极情感,标记为“非首选”(non-preferred)如果它具有消极情感。例如,y_w
(最差的电影)将被标记为非首选,y_l
(最好的电影)将被标记为首选。
然后,我们微调模型的参数,最大化生成被情感分类器分类为积极的回复的可能性。为了实现这个目标,在训练过程中我们使用了一个排序损失函数,对于更喜欢负面完成而不是积极完成的模型进行更严厉的惩罚。
我们不断生成新的完成,应用情感分类器,并使用这些数据进一步微调模型。这个迭代的过程帮助模型更擅长生成积极的评论。模型学会调整其语言生成方式,更有可能产生积极情感的完成。
上图显示了模型在各种KL散度分数下生成一系列积极情感句子(高奖励)。他们运行了一套22种不同超参数设置的实验,为不同类型的模型生成了这些数据。(第6.1节)
结论是,DPO在概率分布与原始参考模型不同的完成中提供了最高的偏好一致性。
在另一个摘要任务中,他们以Reddit的论坛帖子作为输入 X*,然后策略必须生成帖子主要观点的摘要 Y*。
他们在这个实验中使用了Reddit TL;DR摘要数据集以及已经收集到的人类偏好。
同样地,首先对Reddit的回复进行监督微调,以学习生成摘要。然后,他们使用了Anthropic的包含17万个人与助手之间对话的有益和无害对话数据集来使模型与人类偏好保持一致。
让我们看一些看起来吓人的方程式,并试着理解这里发生了什么。论文中指出,我们可以用“一个简单的分类损失”来替换RL。让我们看看他们是什么意思。
损失是衡量我们的模型在给定数据下表现如何的度量。最终,如果我们能最小化损失,我们就赢了,我们的模型正在正确地进行训练。
让我们从一个有赢家(W)和输家(L)的简化版本的方程式开始。
损失 = 赢家(W)- 输家(L)
在我们的情况下,赢家将是我们标记为
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。