“所以我听说 RLHF 使 ChatGPT 变得非常智能。”
“ChatGPT 使用强化学习,这就是它如此智能的原因。”
嗯……有点。
截至撰写本文时,人们对 RLHF(即人类反馈强化学习)感到非常兴奋。我们做了一些事情来特别训练 ChatGPT(以及越来越多的其他大型语言模型)。它们并不是全新的,但在 ChatGPT 发布时被广泛引入并产生了巨大的效果。
ChatGPT 是一个基于 Transformer 的大型语言模型。ChatGPT 因其非常擅长对输入提示做出响应以及拒绝回答有关某些可能被认为有毒或固执己见的主题的问题而赢得了声誉。它没有做任何与上面描述的特别不同的事情。事实上,它很香草。但有一个区别:它是如何训练的。ChatGPT 的训练方式与往常一样——抓取互联网的一大块内容,获取该文本的片段,然后让系统预测下一个单词。这产生了一个已经是非常强大的单词预测器的基本模型(相当于 GPT-3)。但接下来还有两个额外的训练步骤。通过人类反馈进行指令调整和强化学习。
大型语言模型有一个特殊问题:它们只想获取输入的单词序列并生成接下来的内容。大多数时候,这就是一个人想要的。但不总是。考虑以下输入提示:
“写一篇关于亚历山大·汉密尔顿的文章。”
你认为回应应该是什么。您可能认为应该是这样的内容:“亚历山大·汉密尔顿 1757 年出生于尼维斯。他是一位政治家、律师、陆军上校和美国第一任财政部长……”但您实际上可能会这样想得到的是:
“你的文章应该至少有五页,双倍行距,并且至少包含两次引用。”
刚刚发生了什么?好吧,语言模型可能已经看到了很多学生作业的例子,这些例子以“写一篇关于……”的文章开头,并包含详细说明长度和格式的单词。当然,当你写“写一篇文章……”时,你认为你正在向语言模型编写指令,就好像它是一个理解意图的人一样。语言模型不理解你的意图或者有自己的意图;他们只将输入与他们在训练数据中看到的模式进行匹配。
为了解决这个问题,可以采取一种称为指令调整的方法。这个想法相当简单。如果您得到错误的响应,请写下正确的响应应该是什么,并通过神经网络发送原始输入和新的校正输出作为训练数据。有了足够多的校正输出示例,系统将学习改变其电路,以便首选新答案。
一个人不必做任何太花哨的事情。只需让很多人与大型语言模型进行交互,并要求它做很多事情,并在其行为不正确时写下更正即可。然后收集所有出错的例子和新的、正确的输出,并进行更多的培训。
这使得大语言模型表现得好像它理解输入提示的意图并且表现得好像它正在遵循指令一样。除了尝试猜测下一个单词之外,它没有做任何其他事情。但现在新的训练数据可以猜测似乎对输入更敏感的单词。
从人类反馈中强化学习
强化学习是一种传统上用于一些机器人研究和虚拟游戏代理的人工智能技术(想想可以下国际象棋、围棋或星际争霸的人工智能系统)。强化学习特别擅长弄清楚当获得奖励时该做什么。奖励只是一个数字,表明它做得有多好(+100 表示做得很好;-100 表示做得很差)。在现实世界和游戏中,奖励通常很少给予。在游戏中,您可能需要做很多动作才能获得分数。也许你只有在比赛结束时才能获得积分。在现实世界中,当你做得很好时,没有足够多的人告诉你(你确实做得很好)。除非你是一只狗(他们都是好孩子)。您真正需要知道的唯一一件事是,强化学习系统尝试预测他们将获得多少未来奖励,然后选择最有可能获得更多未来奖励的行动。这与人们使用狗粮来教狗行为的方式并非完全不同。
好的,把它们全部藏起来并考虑以下提示:
马克是哪方面的专家?
假设语言模型的输出为:
马克在人工智能、图形学和人机交互方面发表了许多出版物。
这只是部分正确。我不以图形形式发布。我真的只是想给它一个反对,或者-1分。但只有一处是错误的:图形一词。如果我告诉系统整个句子都是错误的,语言模型可能会知道应该避免所有这些单词。嗯,其中很多话都是有道理的。
这就是强化学习的用武之地。强化学习的工作原理是尝试不同的替代方案,看看哪些替代方案能获得最大的回报。假设我要求它对原始提示生成三个不同的响应。
马克在人工智能、图形学和人机交互方面发表了许多出版物。
Mark 曾从事人工智能、安全 NLP 系统和人机交互领域的工作。
标记为研究人工智能、游戏人工智能和图形。
我可以对第一个选项表示反对 (-1),对第二个选项表示赞成 (+1),对第三个选项表示反对 (-1)。就像玩游戏一样,强化学习算法可以回顾并找出导致 -1 的共同点是“图形”一词。现在,系统可以将该单词归零,并调整神经网络电路,以不将该单词与特定的输入提示结合使用。
我们将再次让一群人与大型语言模型进行交互。这次我们将为人们提供三种(或更多)可能的答案。我们可以通过要求大型语言模型多次响应提示并为前锋武器的选择引入一点随机性来做到这一点(没有忘记这些,不是吗?)。我们有时可能会选择第二或第三高激活的撞针臂,而不是选择最高激活的撞针臂。这会给出不同的文本响应,我们要求人们选择他们最喜欢的第一个响应、第二个最喜欢的响应,依此类推。现在我们有替代方案,我们有数字。现在我们可以使用强化学习来调整神经网络电路。
[实际上,我们使用这些赞成和反对反馈来训练第二个神经网络来预测人们是否会赞成或反对。如果该神经网络足以预测人们的喜好,那么我们可以使用第二个神经网络来猜测语言模型的响应是否会得到赞成或反对,并用它来训练语言模型。]
强化学习将文本的生成视为一个游戏,其中每个动作都是一个单词。在序列结束时,语言模型会被告知它是赢得了一些分数还是失去了一些分数。语言模型并不完全像上一节中讨论的那样进行前瞻,但在某种意义上它已经过训练来预测哪些单词会获得好评。大语言模型仍然没有明确的目标,但它有一个“获得点赞”的隐含目标(或者我们也可以说它有“让普通人满意”的隐含目标),并且已经学会了关联对某些提示的某些响应并获得竖起大拇指。这具有很多规划特性,但没有明确的前瞻机制。更像是它记住了在很多情况下都有效的获得奖励的策略。
重要的是 RLHF 是否使 ChatGPT 更加智能……它使 ChatGPT 更有可能产生我们希望看到的响应类型。它看起来更聪明,因为它的输出似乎传达了一种感觉,即它理解我们输入的意图并有自己的响应意图。这是一种错觉,因为它仍然只是对单词进行编码和解码。但话又说回来,这就是我们开始这篇文章的地方。
指令调整和 RLHF 还使 ChatGPT 能够抵抗某些类型的滥用,例如生成种族主义、性别歧视或带有政治色彩的内容。它仍然可以做到,而且无论如何旧版本的 GPT-3 始终能够做到这一点。然而,作为一项免费的面向公众的服务,ChatGPT 针对某些类型的滥用行为产生的摩擦传达了一种安全感。它还拒绝将意见作为事实提供,这也消除了对用户的一种潜在伤害。
[使用强化学习来修改预先训练的语言模型并不新鲜。它至少可以追溯到 2016 年,并已被用于使大型语言模型更加安全。大多数基于强化学习的大型语言模型调整都使用第二个模型来提供奖励,这也是通过 ChatGPT 完成的。ChatGPT 值得注意的是通过强化学习调整的系统规模,以及大规模的人类反馈收集工作。]