2024 年 8 月 8 日,人工智能专家 Andrej Karpathy 发表了一篇长文,质疑基于人类反馈的强化学习(RLHF)在真正的强化学习(RL)中的有效性。Karpathy 指出,RLHF 是训练大型语言模型(LLM)的最后一个主要阶段,但在某些应用中可能存在问题。例如,在训练 AlphaGo 时,使用 RLHF 可能会导致奖励模型(RM)偏离真正的奖励目标,进而影响训练效果。
Karpathy 解释道,AlphaGo 通过 RL 训练,计算机持续进行围棋游戏,并以最大化奖励函数(赢得游戏)为目标进行滚动训练。如果使用 RLHF 进行训练,AlphaGo 的工作效果可能不会那么好。因为人类的感觉可能是有误导性的,并不能代表真正的奖励目标(赢得游戏)。此外,RL 优化会很快发现人类设定的奖励目标构成威胁的漏洞,导致训练偏离正轨。
RLHF 只是勉强 RL
从人类反馈中强化学习(RLHF)是继预训练和监督微调(SFT)之后,LLM 训练的第三个(也是最后一个)主要阶段。我对 RLHF 的看法是,它只是一种勉强的 RL,我认为这种方式并没有得到广泛的认可。RL 功能强大。RLHF 则不然。
让我们看看 AlphaGo 的例子。AlphaGo 是用实际的 RL 训练出来的。 计算机进行围棋对弈,并训练使奖励函数(赢棋)最大化的布局,最终在围棋上超越了最优秀的人类棋手。AlphaGo 并不是用 RLHF 训练出来的。 如果是这样,它的效果就不会这么好。
用 RLHF 训练 AlphaGo 会是什么样子呢?首先,你要给人类贴标者两个围棋的棋盘状态,问他们更喜欢哪一个。
然后,你会收集大约 100,000 次这样的比较,并训练一个 “奖励模型”(RM)神经网络来模仿人类对棋盘状态的 “氛围检查”。平均而言,你会训练它与人类的判断一致。一旦我们有了 “奖励模型 “的 “氛围检查”,你就可以根据它运行 RL,学习下出能带来好氛围的棋步。显然,这在围棋中并不会带来太有趣的结果。
这有两个根本且独立的原因:
- 氛围可能会有误导性——这不是实际的奖励(赢得比赛)。这是一个糟糕的代理目标。但更糟糕的是,
- 你会发现你的强化学习优化会偏离正轨,因为它很快就会发现棋盘状态是奖励模型的对抗性示例。请记住,奖励模型是一个具有数十亿参数来模仿氛围的大型神经网络。有些棋盘状态与其训练数据“不匹配”,实际上并非好的状态,但它们却偶然地从 RM 获得了很高的奖励。
出于完全相同的原因,有时我对强化学习从人类反馈(RLHF)在语言模型(LLMs)中的作用感到有点惊讶。我们为 LLMs 训练的 RM 只是以完全相同的方式进行氛围检查。它给人类评分者在统计上似乎喜欢的助手回复类型打高分。这不是正确解决问题的“实际”目标,而是对人类来说看起来不错的代理目标。
其次,你甚至不能长时间运行 RLHF,因为你的模型很快就会学会以游戏奖励模型的方式做出反应。这些预测可能看起来非常奇怪,例如,你会看到你的 LLM 助手开始对许多提示做出像“ The the the the the ”这样无意义的回应。这在你看来很荒谬,但你查看 RM 氛围检查时,会发现出于某种原因,RM 认为这些看起来非常好。你的 LLM 找到了一个对抗性示例。它超出了 RM 的训练数据范围,处于未定义的领域。
是的,你可以通过反复将这些特定示例添加到训练集中来减轻这种情况,但下次你还会发现其他对抗性示例。因此,你甚至不能对 RLHF 进行太多的优化步骤。你进行几百/几千步后,就必须停止,因为你的优化会开始与 RM 博弈。这不像 AlphaGo 那样的强化学习。
然而,RLHF 是构建 LLM 助手的一个净有益步骤。我认为有几个微妙的原因,但我最喜欢指出的是,通过它,LLM 助手可以从生成器 – 判别器差距中获益。也就是说,对于许多问题类型,对于人类标签员来说,从几个候选答案中选择最佳答案,要比从头开始编写理想答案容易得多。
一个很好的例子是像“生成一首关于回形针的诗”这样的提示。普通人类标签员作为监督微调(SFT)的例子,从头开始很难写出一首好诗,但给定几个候选答案,他们可以选出一首好看的诗。所以 RLHF 是一种受益于人类监督“简易性”差距的方式。
还有其他一些原因,例如,RLHF 在减轻幻觉方面也很有帮助,因为如果 RM 是一个足够强大的模型,能够在训练过程中捕捉到 LLM 捏造的内容,它可以学会用低奖励来惩罚这种行为,从而教导模型在不确定时避免冒险获取事实知识。但关于幻觉及其减轻的令人满意的处理是另一篇文章的内容,所以我就不多说了。
总之,RLHF 确实有用,但它不是强化学习。到目前为止,在开放领域中还没有令人信服的大规模生产级的 LLM 实际强化学习实现和演示。直观地说,这是因为在开放式的问题解决任务中,获得实际奖励(即相当于赢得游戏)非常困难。在像围棋这样的封闭、类似游戏的环境中,一切都很有趣,因为其中的动态是受限的,奖励函数的评估成本低,而且不可能博弈。
但是,如何为总结一篇文章提供客观奖励?或者回答关于某些 pip 安装问题的稍微模糊的问题?或者讲个笑话?或者将一些 Java 代码重写为 Python 代码?朝着这个方向努力并非原则上不可能,但也并非简单,需要一些创造性思维。但无论谁令人信服地解决了这个问题,都将能够运行实际的强化学习。这就是导致 AlphaGo 在围棋中击败人类的那种强化学习。只不过,LLM 将有机会在开放领域的问题解决中击败人类。
RLHF 是一种结合人类反馈和强化学习的技术,通过人类对智能体行为的评价,指导智能体的学习过程,使其行为更符合人类期望。RLHF 的训练过程通常包括三个核心步骤:
- 多种策略产生样本并收集人类反馈。
- 训练奖励模型。
- 训练强化学习策略并微调语言模型。
在 LLM 的训练中,RLHF 是继预训练和监督微调(SFT)之后的第三个主要阶段。预训练阶段,模型通过大量的语料训练出基础模型;监督微调阶段,模型通过有标签数据进行微调;而在 RLHF 阶段,模型通过人类反馈进行强化学习,进一步优化其输出质量。
RLHF 的优点在于它可以通过人类反馈快速优化模型输出,使其更符合人类的期望。这在构建对话系统或智能个人助理等应用中尤为重要。然而,RLHF 也存在一些局限性。首先,人类的感觉可能是有误导性的,不能代表真正的奖励目标。其次,RL 优化可能会发现人类设定的奖励目标构成威胁的漏洞,导致训练偏离正轨。此外,RLHF 的训练成本较高,需要大量的人类反馈数据。
RLHF 不仅在 LLM 训练中有应用,还在其他领域展现了其潜力。例如,在自动驾驶领域,RLHF 可以通过人类驾驶员的反馈优化自动驾驶系统的决策过程。在医疗领域,RLHF 可以通过医生的反馈优化诊断模型,提高诊断的准确性。
与传统的 RL 相比,RLHF 的一个显著优势是它可以直接利用人类的经验和判断,快速优化模型的行为。传统的 RL 通常依赖于智能体与环境的交互,通过试错过程来最大化奖励函数,而 RLHF 则通过人类反馈直接指导智能体的学习过程。
此前,Google DeepMind 的人工智能研究科学家,负责 Gemini 项目的 Sholto Douglas 在采访中曾提到:对于 RLHF,你会非常担心会发生黑天鹅事件,因为你无法预测它在某些情况下是否会出错。而在这里,至少你可以更有信心地认为自己能够完全捕捉到模型的行为和特征,并进行选择。
而 OpenAI 的前联合创始人 John Schulman 约翰·舒尔曼也在采访中提到,RLHF 对于训练有用模型至关重要,但当前的 RLHF 方法可能导致模型输出风格上的趋同,需要进一步的研究来增加多样性。
John 还表示,如果出现更强大的模型,且这些模型被用于更高风险的用例,那么我们将不得不以一种与我们现在截然不同的方式考虑 RLHF。我们现在还不太准备好,或者当前的方法可能还不完全足够。我们需要在涉及的不同利益相关者的需求之间做出妥协。