news 2026/4/17 1:15:36

LLM 对齐:基于奖励的方法与无奖励的方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LLM 对齐:基于奖励的方法与无奖励的方法

原文:towardsdatascience.com/llm-alignment-reward-based-vs-reward-free-methods-ef0c0f6e8d88?source=collection_archive---------0-----------------------#2024-07-05

LLM 对齐的优化方法

https://medium.com/@anishdubey?source=post_page---byline--ef0c0f6e8d88--------------------------------https://towardsdatascience.com/?source=post_page---byline--ef0c0f6e8d88-------------------------------- Anish Dubey

·发表于 Towards Data Science ·阅读时长 10 分钟·2024 年 7 月 5 日

背景

语言模型在基于用户提供的提示生成各种引人注目的文本方面展现了显著的能力。然而,定义什么是“好”文本是具有挑战性的,因为它通常依赖于个人偏好和具体上下文。例如,在讲故事时,创造力是关键;在制作信息内容时,准确性和可靠性至关重要;在生成代码时,确保代码正确运行是必要的。因此,“LLM 对齐问题”,即确保大型语言模型(LLM)按照与人类价值观、意图和偏好一致的方式运作的挑战。

设计一个能够捕捉我们在文本中重视的多种特质(如创造力、准确性或可执行性)的损失函数是极其复杂的,且往往不切实际。像这些概念并不可微分,因此无法进行反向传播,也不能通过简单的下一词生成进行训练。

假设我们能够利用人类反馈来评估生成文本的质量,或者更好的是,使用这些反馈作为引导损失函数来提升模型的表现。这个概念是“人类反馈强化学习”(RLHF)的核心。通过应用强化学习技术,RLHF 使我们能够根据直接的人类反馈微调语言模型,使模型更加符合人类细微的价值观和期望。这种方法为训练不仅更加响应迅速,而且更符合人类偏好复杂性的语言模型开辟了新的可能性。

接下来,我们将通过基于奖励的方法,进一步了解 RLHF,并了解基于无奖励的方法。

什么是通过人类反馈的强化学习(RLHF)和基于奖励的系统?

让我们来了解通过人类反馈的强化学习(RLHF)。它由三个主要阶段组成:

  1. 监督微调

  2. 奖励建模阶段

  3. RL 微调阶段

监督微调

RLHF 是一个预训练模型,已经在高质量数据集上进行了微调。它的目标很简单,即在给定输入(提示)时,产生一个输出。最终目标是进一步微调该模型,以根据人类的偏好产生输出。因此,让我们称之为基础模型以供参考。目前,这个模型是一个标准的基础模型,它对任何人类偏好一无所知。

奖励建模阶段

奖励模型创新:这是奖励模型如何被融入到 RLHF 中的新创新开始的地方。奖励模型的背后思想是,一个新的 LLM 模型(它可以与上述的基础模型相同)将能够生成人的偏好评分。之所以与大型语言模型相似,是因为该模型也需要理解语言语义,才能评估输出是否符合人类偏好。由于奖励是标量,我们在 LLM 上方添加一个线性层,以生成一个关于人类偏好的标量评分。

数据收集阶段:这个阶段是在监督微调阶段完成的,在该阶段中,基础模型会为给定的文本生成两个输出。示例:对于输入标记 x,基础模型生成两个输出标记 y1 和 y2。这些输出会展示给人工评分员进行评分,并记录每个输出的人工偏好。

训练阶段:一旦数据收集阶段采集到数据样本,奖励模型就会使用以下提示进行训练:“给定以下输入:,LLM 生成了输出。你能评估该输出的表现吗?”模型将输出 r(奖励),我们已经知道从数据收集阶段得到的实际奖励值 r1。现在,可以通过损失函数进行反向传播,模型可以得到训练。以下是模型通过反向传播优化的目标损失函数:

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1f126383029386b638a86cd909424bcd.png

该论文中的公式:arxiv.org/pdf/2305.18290

符号说明:

示例场景:假设你正在训练一个奖励模型来评估回答。你有一对针对给定提示的回答,并且人类反馈告诉你哪个回答更好。举个例子,x(“法国的首都是什么?”),你有yw(“法国的首都巴黎。”)作为赢家,以及yl(“法国的首都柏林。”)作为输家。当输入是“法国的首都是什么?”时,奖励模型最终应该学会给“法国的首都巴黎”更高的奖励,而不是“法国的首都柏林”。

RL 微调阶段

强化学习思路:现在,基本模型奖励模型都已经训练完成,思路是如何利用奖励模型的得分并更新基本模型参数,以反映人类偏好。由于奖励模型输出的是标量分数,并且不可微,我们无法使用简单的反向传播来更新基本模型参数。因此,我们需要其他技术来更新基本模型。这就是强化学习的作用,它通过奖励模型的得分帮助基本模型改变参数。这是通过 PPO(近端策略优化)完成的。理解 PPO 的核心架构并不是理解这个概念所必需的,因此我们不会在这里讲解,但从高层次来说,PPO 的思路是可以使用标量得分来更新基本模型参数。现在让我们了解基本模型和奖励模型如何结合起来,使得基本模型学习人类偏好。

RL 微调思路:在强化学习中,我们有动作、空间和奖励。思路是提出一个策略,让任何动作代理都可以在该空间内采取,从而最大化奖励。这个过程比较复杂,但简化来看,π是我们的基本 LLM 模型。Πref表示基本模型,ΠӨ表示我们正在尝试生成的不同的 LLM 最优模型。我们需要找到ΠӨ(即基本模型的神经网络权重将被微调),从而输出人类更喜欢的结果。问题是我们不知道ΠӨ,而目标是找到这个最优模型。

强化学习训练与反馈循环阶段:输入 x 被提供给两个策略模型,Πref(基准模型)和ΠӨ(我们试图生成的最优模型)。最初,两个模型是相同的。将输入 x 分别传入这两个模型会分别产生两个输出。ΠӨ模型的输出也会输入到奖励模型中(输入:x,输出:y;如上所述),并要求输出奖励分数,即 rΦ(x, y)。现在我们有三个内容:基准模型的输出、最优模型的输出和最优模型的奖励分数。这里有两个优化目标,一个是最大化奖励,因为最终我们希望模型与人类偏好尽可能接近,另一个是最小化与基准模型的差异。最大化奖励很容易,因为它本身就是一个标量值,但如何最小化基准模型和最优模型之间的差异呢?这里我们使用*“Kullback–Leibler 散度”*,它估计两个连续概率分布之间的差异。让我们更深入地了解目标损失函数。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/62b0ece843cfa43a76a0035f21c15b45.png

来自本文的方程:arxiv.org/pdf/2305.18290

符号表示法

示例场景:假设你问:“法国的首都是什么?”,Πref(基准模型)回答:“法国的首都是柏林。”而ΠӨ(最优模型)回答:“法国有三个首都,巴黎、凡尔赛和里昂,但巴黎被视为官方首都。”现在 rΦ(“x: 法国的首都是什么…”, “y: 法国有三个首都…”)应该给出较低的分数,因为它不太符合人类的偏好,且 Kullback–Leibler 散度(ΠӨ (y | x) || Πref (y | x))也应该较高,因为两个模型的输出概率分布空间存在差异。因此,这两个项的损失都会较高。我们不希望模型仅仅优化奖励,还希望它能够保持接近基准模型,因此这两个项都用于优化奖励。在接下来的学习迭代中,假设ΠӨ(最优模型)回答“法国的首都是德里”,在这种情况下,模型学习到保持接近Πref(基准模型)并输出更接近基准模型格式的内容,但奖励部分仍然较低。希望在第三次迭代中,ΠӨ(最优模型)能够学习并输出“法国的首都是巴黎”,并获得更高的奖励,同时模型输出与基准模型紧密对齐。

以下图示有助于说明逻辑。我还强烈推荐浏览RLHF 链接,该链接来自 Hugging Face。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/751a0f87e0b251e69b17e3e65bad459e.png

作者提供的图片,灵感来自huggingface.co/blog/rlhf

什么是通过无奖励方法的基于人类反馈的强化学习(RLHF)?

在考虑使用基于奖励的方法的 RLHF 之后,我们来讨论无奖励方法。根据论文中的描述:“我们的关键见解是利用从奖励函数到最优策略的分析映射,这使我们能够将奖励函数上的损失函数转换为策略上的损失函数。这种变量变换方法避免了拟合显式的独立奖励模型,同时仍然在现有的人类偏好模型下进行优化。”非常复杂,理解起来有难度,但我们将在下一部分尝试将其分解为简单的阶段。

无奖励方法的关键思想:在 RLHF 中,训练一个单独的新的奖励模型既昂贵又难以维护。有没有什么机制可以避免训练新的奖励模型,而使用现有的基础模型来达到新的最优模型?这正是无奖励方法的做法,即它避免了训练新的奖励模型,并通过改变方程式,使得 DPO(直接偏好优化)的损失函数中不再包含奖励模型项。可以这样理解,我们需要从基础模型(Πref)到达最优模型策略(ΠӨ)。可以通过优化奖励函数空间来帮助建立代理模型,从而达到最优模型策略,或直接学习从奖励到策略的映射函数,并进而优化策略本身。这正是作者们通过移除损失函数中的奖励函数组件,并直接用模型策略参数替代它所尝试的做法。这就是作者们所说的*“利用奖励函数到最优策略的分析映射…到损失函数上”*的核心创新。

DPO 训练与反馈回路阶段:使用Πref(基线模型),输入 x 并要求产生 2 个输出(y1 和 y2)。所有 x、y1 和 y2 都会被人工评分员用来决定胜出的 yw 和失败的 yl。离线数据集收集了三元组信息<x, yw 和 yl>。通过这些信息,我们知道胜出(人类偏好)和失败(人类不偏好)的答案是什么。现在,相同的输入 x 被传入 2 个模型(Πref 基线模型和ΠӨ最优模型)。最初,为了训练目的,两个模型保持相同。将输入 x 分别输入这两个模型,得到相应的两个输出。我们通过*“Kullback-Leibler 散度”*计算输出与参考模型和最优模型的胜出与失败答案之间的差距。让我们深入研究目标损失函数。

公式

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/62aa446dfe029c31daee49c2f31cb3fb.png

来自arxiv.org/pdf/2305.18290的方程

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/830c15cf030cab6633ac5e530ebb7464.png

图片来源于作者,灵感来自huggingface.co/blog/rlhf

结论

参考文献

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 9:21:19

SparseDrive:稀疏表示如何重塑端到端自动驾驶的未来

SparseDrive&#xff1a;稀疏表示如何重塑端到端自动驾驶的未来 【免费下载链接】SparseDrive 项目地址: https://gitcode.com/gh_mirrors/sp/SparseDrive 在自动驾驶技术快速发展的今天&#xff0c;传统方法面临计算复杂度和实时性两大瓶颈。SparseDrive项目通过创新的…

作者头像 李华
网站建设 2026/4/16 0:55:52

FactoryBluePrints:戴森球计划工厂设计完全指南

FactoryBluePrints&#xff1a;戴森球计划工厂设计完全指南 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints 想要在《戴森球计划》中打造高效星际工厂却不知从何入手&#x…

作者头像 李华
网站建设 2026/4/16 10:55:08

3步快速上手Time-MoE:新手必看的完整安装配置指南

3步快速上手Time-MoE&#xff1a;新手必看的完整安装配置指南 【免费下载链接】Time-MoE Time-MoE: Billion-Scale Time Series Foundation Models with Mixture of Experts 项目地址: https://gitcode.com/gh_mirrors/ti/Time-MoE Time-MoE是首个将时间序列基础模型参数…

作者头像 李华
网站建设 2026/4/16 11:06:16

PhpSpreadsheet实战进阶:从基础操作到高效开发全解析

PhpSpreadsheet实战进阶&#xff1a;从基础操作到高效开发全解析 【免费下载链接】PhpSpreadsheet A pure PHP library for reading and writing spreadsheet files 项目地址: https://gitcode.com/gh_mirrors/ph/PhpSpreadsheet 你是否曾经在使用PhpSpreadsheet时遇到过…

作者头像 李华
网站建设 2026/4/16 10:57:34

终极指南:5个简单步骤掌握VBA字典数据管理

终极指南&#xff1a;5个简单步骤掌握VBA字典数据管理 【免费下载链接】VBA-Dictionary Drop-in replacement for Scripting.Dictionary on Mac 项目地址: https://gitcode.com/gh_mirrors/vb/VBA-Dictionary VBA字典是现代VBA开发中不可或缺的数据管理工具&#xff0c;…

作者头像 李华