LLM之RLHF:Karpathy视角来对比RLHF技术和RL技术—RLHF is just barely RL(RLHF只是勉强算作强化学习)
导读:2024年8月8日,Karpathy发表了一个有意思的观点,RLHF is just barely RL.
强化学习从人类反馈(RLHF)训练方法只是勉强属于强化学习(RL)范畴,远没有真正RL(如AlphaGo)那样强大。RLHF使用人类评分来训练一个奖励模型(Reward Model),让语言模型优化生成获得高分的输出。但这个代理目标可能与实际目标(如正确解决问题)有偏离,并且模型会找到"欺骗"奖励模型的对抗样本。尽管如此,RLHF对构建语言模型助手还是有一定帮助,如利用人类更容易评判而非生成的"生成-鉴别差距"。目前还没有在开放域的复杂任务中成功运用真正的RL来训练大型语言模型。突破这一难题将是重大进展。
作者认为RLHF有其用处,但并不等同于真正的RL,后者在开放域问题中的潜力更大。
RLHF(基于人类反馈的强化学习)与传统的强化学习(RL)不同:RLHF 是训练大型语言模型(LLM)的第三个阶段,继预训练和有监督微调(SFT)之后。
传统的 RL 通过实际的奖励函数(例如 AlphaGo 的胜利)来优化,而 RLHF 则依赖于人类反馈构建的奖励模型(Reward Model, RM)。
RLHF 的局限性:
>> 奖励模型的代理目标:RLHF 中的奖励模型仅仅是人类判断的“偏好检查”,而不是实际的任务目标(例如,游戏胜利)。这导致奖励模型可能提供误导性的奖励。
>> 优化过程中的问题:RLHF 优化可能导致模型发现针对奖励模型的对抗性例子,结果是模型的表现可能会变得奇怪或无意义,因为奖励模型无法有效地处理这些情况。
RLHF 的实际效用:
>> 生成-鉴别差距的好处:RLHF 可以通过选择最佳的候选答案来利用人类标注者的“生成-鉴别差距”,这通常比从头写出理想答案更简单。
>> 减少幻觉现象:如果奖励模型能够识别和惩罚生成虚假信息,RLHF 可以帮助减少模型的幻觉现象(虚假信息)。
RLHF 与实际 RL 的对比:目前,尚未在开放领域和大规模上成功应用真正的 RL。因为开放问题的奖励很难评估,而在封闭的游戏环境中(如围棋),RL 更容易实施。未来如果能找到有效的方式来为开放领域任务提供客观奖励,将有可能实现类似 AlphaGo 的 RL。
目录
Karpathy视角来对比RLHF技术和RL技术
RLHF的局限性
RLHF 仅仅是略微的 RL
案例分析:AlphaGo与真正的RL
RLHF的训练方式及其问题
对抗性示例与RLHF的限制
RLHF为何仍然有益
真正的RL在开放领域中的挑战
网友对Andrej Karpathy观点的反应概览
Nathan Lambert (@natolambert)的评论认为Karpathy的总结很到位,并指出了RLHF在当前状态下的局限性,尤其是在与完整的RL相比时。他提到RLHF的“风格”部分是有用的,但它仍然远不如完整RL的潜力
Craig Quiter (@crizcraig)的评论认为代码生成的奖励可以自动化,但RL的样本效率低下,这使得全力使用RL可能不切实际。他提到Meta在Llama 3中避免使用RL是因为扩展的原因,暗示了RL在实际应用中的挑战
JeoCrypto (@JeoCryp)提出了一个思考,即如何将RLHF推向更接近真正RL的方向,同时解决当前面临的挑战。他表示对Karpathy的观点进行了深入思考,并想知道是否有办法克服这些问题
pararth (@pararths)提到,在现实世界的开放领域中准确建模奖励函数可能是科学和哲学中的终极问题。他的评论反映了对现有RLHF方法的哲学和理论上的疑问
Julien Villa-Massone (@julienvm)询问了关于特斯拉如何在现实生活中实现RL的问题,他提到特斯拉正在利用车主输入进行RLHF,并对如何在实际环境中应用RL提出了疑问
AGI - Tech Gone Wild ��❤️������ (@AGItechgonewild)认为,如果在强化学习中,代理通过接收正确行动的奖励进行学习,那么数学和编码领域的应用应该会更简单,因为这些领域的解决方案可以很容易地验证,从而提供明确的反馈。他质疑是否RL在这些领域的应用会更为直接
Razoyo (@RazoyoDev)指出,当前对LLM的奖励系统更多的是奖励其与数据集(即互联网)中的相似性,而不是其提供的实用性、美观性或真实性。这表明他对当前RLHF方法的有效性和目标的疑虑
总结
Karpathy视角来对比RLHF技术和RL技术
原文地址:https://x.com/karpathy/status/1821277264996352246
RLHF的局限性
RLHF 仅仅是略微的 RL
人类反馈强化学习(RLHF)是训练大型语言模型(LLM)的第三个(也是最后一个)主要阶段,继预训练和监督微调(SFT)之后。我对 RLHF 的抱怨是,它只是略微的 RL,我认为这种观点并不被广泛认可。RL 很强大,而 RLHF 则不是。
案例分析:AlphaGo与真正的RL
让我们来看一下 AlphaGo 的例子。AlphaGo 是通过实际的 RL 进行训练的。计算机进行围棋游戏,并在最大化奖励函数(赢得比赛)的回滚上进行训练,最终超越了最优秀的人类围棋玩家。AlphaGo 并不是通过 RLHF 进行训练的。如果是的话,它的效果不会如此显著。
如果用 RLHF 训练 AlphaGo 会是什么样子?首先,你会给人类标注者两个围棋棋盘状态,并询问他们哪个更喜欢:
然后你会收集大约 100,000 个这样的比较,并训练一个“奖励模型”(RM)神经网络,以模仿这种人类“感觉检查”棋盘状态。你会训练它以在平均水平上同意人类的判断。一旦我们有了奖励模型的感觉检查,你就会根据它进行 RL,学习执行那些导致良好感觉的动作。显然,这不会在围棋中带来什么有趣的结果。原因有两个基本的、独立的:
感觉可能是误导性的——这不是实际的奖励(赢得比赛)。这是一个糟糕的代理目标。但更糟糕的是,
RLHF的训练方式及其问题
你会发现你的 RL 优化会偏离轨道,因为它很快会发现对奖励模型来说是对抗样本的棋盘状态。请记住,RM 是一个拥有数十亿参数的大型神经网络,模仿感觉。有些棋盘状态“超出了”其训练数据的分布,这些状态实际上并不好,但偶然间它们从 RM 那里获得了很高的奖励。
对抗性示例与RLHF的限制
由于完全相同的原因,有时我对 RLHF 在 LLM 上的效果感到有点惊讶。我们为 LLM 训练的 RM 也只是感觉检查的方式。它给那些人类评分者统计上似乎喜欢的助手回复打高分。这不是“实际”的问题解决目标,而是一个代理目标,旨在让人类觉得不错。其次,你甚至不能运行 RLHF 太长时间,因为你的模型很快就会学会以某种方式来操控奖励模型。这些预测可能看起来非常奇怪,例如,你会发现你的 LLM 助手开始对许多提示作出一些毫无意义的回复,如“The the the the the the”。这对你来说看起来很荒谬,但当你查看 RM 感觉检查时,你会发现 RM 认为这些看起来很棒。你的 LLM 找到了一个对抗样本。它超出了 RM 的训练数据的领域,是一个未定义的区域。是的,你可以通过不断将这些特定的例子添加到训练集中来减轻这个问题,但下次你会发现其他对抗样本。因此,你甚至不能进行太多步骤的优化。你做几百/几千步,然后不得不停止,因为你的优化会开始操控 RM。这不像 AlphaGo 那样的 RL。
RLHF为何仍然有益
尽管如此,RLHF 仍然是构建 LLM 助手的一个有益步骤。我认为有一些微妙的原因,但我最喜欢的一个是,通过它,LLM 助手从生成器-判别器差距中获益。也就是说,对于许多问题类型,人类标注者选择少量候选答案中的最佳答案,要比从头编写理想答案要容易得多。一个好的例子是像“生成一首关于回形针的诗”这样的提示。一个普通的人类标注者会很难从头开始写一首好诗作为 SFT 示例,但他们可以在几个候选答案中选择一个看起来不错的诗。因此,RLHF 是一种利用这种人类监督的“易用性”差距的方式。还有其他一些原因,例如 RLHF 对减轻幻觉也很有帮助,因为如果 RM 是一个足够强大的模型来捕捉 LLM 在训练过程中编造的内容,它可以通过低奖励来惩罚这些行为,教会模型在不确定时避免冒险使用事实知识。但是,满足幻觉及其减轻的处理是一个完全不同的话题,因此我岔开了。总的来说,RLHF 是有用的,但它不是 RL。
真正的RL在开放领域中的挑战
到目前为止,没有在开放领域、大规模上实现和展示真正的生产级 RL。直观上,这是因为在开放式问题解决任务中获得实际奖励(即赢得比赛的等价物)非常困难。在像围棋这样受限于游戏规则和奖励函数容易评估且不易操控的封闭环境中,所有的事情都是有趣的。但如何为总结一篇文章、回答有关某个 pip 安装问题的稍微模糊的问题、讲一个笑话,或者将一些 Java 代码改写为 Python 提供客观奖励?朝这个方向发展原则上不是不可能,但也不简单,这需要一些创造性的思考。但是,谁能成功破解这个问题,谁就能运行真正的 RL。那种使 AlphaGo 在围棋中击败人类的 RL。只是这个 LLM 将有真正的机会在开放领域问题解决中击败人类。
网友对Andrej Karpathy观点的反应概览
Nathan Lambert (@natolambert)的评论认为Karpathy的总结很到位,并指出了RLHF在当前状态下的局限性,尤其是在与完整的RL相比时。他提到RLHF的“风格”部分是有用的,但它仍然远不如完整RL的潜力
赞同与补充:Nathan同意Karpathy的观点,并强调了RLHF中“风格”部分的价值。他认为,尽管如此,RLHF与解锁LLM的完整RL版本相比,贡献仍然有限。
Craig Quiter (@crizcraig)的评论认为代码生成的奖励可以自动化,但RL的样本效率低下,这使得全力使用RL可能不切实际。他提到Meta在Llama 3中避免使用RL是因为扩展的原因,暗示了RL在实际应用中的挑战
自动化奖励与效率考量:Craig提到代码生成的奖励可以自动化,但他也指出RL样本效率低下,暗示可能不会完全采用类似AlphaZero的方法。Meta在Llama 3中完全放弃了RL,可能是出于可扩展性的考虑。
JeoCrypto (@JeoCryp)提出了一个思考,即如何将RLHF推向更接近真正RL的方向,同时解决当前面临的挑战。他表示对Karpathy的观点进行了深入思考,并想知道是否有办法克服这些问题
思考与提议:JeoCrypto对Karpathy关于RLHF的思考表示认同,并提出了一个想法,即如何在解决已提及的挑战的同时,让RLHF更接近真正的RL。
pararth (@pararths)提到,在现实世界的开放领域中准确建模奖励函数可能是科学和哲学中的终极问题。他的评论反映了对现有RLHF方法的哲学和理论上的疑问
哲学与科学的终极问题:pararth认为,除了拥有完美的宇宙模拟器来进行回放测试之外,开发出能准确模拟现实世界奖励的奖励函数,可能是科学和哲学上的终极问题。
Julien Villa-Massone (@julienvm)询问了关于特斯拉如何在现实生活中实现RL的问题,他提到特斯拉正在利用车主输入进行RLHF,并对如何在实际环境中应用RL提出了疑问
特斯拉的RLHF应用:Julien提到了特斯拉目前正使用来自车队用户的输入进行RLHF,表明神经网络正在模仿人类行为。他询问特斯拉如何在现实生活中实施RL,而不仅仅是模拟环境。
AGI - Tech Gone Wild ��❤️������ (@AGItechgonewild)认为,如果在强化学习中,代理通过接收正确行动的奖励进行学习,那么数学和编码领域的应用应该会更简单,因为这些领域的解决方案可以很容易地验证,从而提供明确的反馈。他质疑是否RL在这些领域的应用会更为直接
数学与编码的RL可行性:AGI提出,在强化学习中,如果智能体通过正确行动获得奖励来学习,那么在数学和编码中这应该更容易实现,因为解决方案可以轻易验证,提供清晰反馈,类似于RL中的奖励。
Razoyo (@RazoyoDev)指出,当前对LLM的奖励系统更多的是奖励其与数据集(即互联网)中的相似性,而不是其提供的实用性、美观性或真实性。这表明他对当前RLHF方法的有效性和目标的疑虑
奖励机制的反思:Razoyo指出,当前我们正在奖励LLM模仿数据集(互联网)的声音,而不是鼓励它们提供有用、美丽或真实的内容。
总结
大多数评论者都认可Karpathy关于RLHF的局限性和潜在改进空间的观点。讨论中涉及了RLHF在不同场景下的应用,包括代码生成、数学与编码、以及特斯拉自动驾驶的RL实践。网友们还探讨了如何克服RLHF的限制,使其更接近真正的RL,同时考虑了奖励机制的有效性和目标设定。一些评论强调了在开放领域中建立有效奖励函数的挑战,以及在特定任务中RL的潜在优势。
总体来看,网友们的评论围绕着以下几个核心问题:
RLHF的局限性:尽管RLHF在某些方面有用,但与完整的RL相比仍存在明显差距。
RL的实际应用挑战:在开放领域应用RL的困难,如样本效率问题。
RLHF的实际效用:讨论了RLHF是否足够接近真实的RL,是否能够有效解决问题。
理论与实践:包括如何在现实世界中实现RL,以及是否可以通过某些方法使RL在实际应用中更有效。