福布斯中国2023-03-31 19:00:55
究竟是怎样的大脑创造出了跨时代的ChatGPT?作为ChatGPT的姊妹模型,InstructGPT的核心技术和ChatGPT有很多相通之处。
近期,美国AI可观察性平台Arize AI采访了OpenAI的两位研究科学家欧阳龙 (Long Ouyang) 和Ryan Lowe,他们是InstructGPT(采用人类反馈的强化学习 (RLHF) 训练大型语言模型的首批主要应用之一)的创造者,在RLHF模型的演变和为GPT-4奠基方面发挥了重要作用。
【资料图】
以下是对话中的一些要点。
图源:AI PUB, ARIZE AI
开发InstructGPT背后的动机是什么?GPT-3的哪些问题启发了InstructGPT的诞生?
欧阳龙:我认为我们试图解决的一个主要问题是,当GPT-3问世时,人们对用它来做有用的认知工作感到过于兴奋,例如总结一篇新闻文章。但它的设计初衷并不是为了做这个,而是为了预测互联网上的人在特定环境下可能会说什么。事实证明,你可以通过设置文本来诱使模型为你执行有用的工作,当模型自动完成任务时,它可以给你你想要的东西。
因此,就摘要来说,一个例子是,也许你需要先给出一篇文章中的几个事例,然后是文章的摘要,最后是你想要获得摘要的文章和要点总结,然后你要求他们完成概括。所以这个模型并不是被设计成一个助手或有用的工具,但在某些情况下你可以把它用作这个用途。这篇文本或者说这个项目的总体目标就是在一个目标函数上对模型进行微调,使其成为一个有用的助手或工具——直到今天也依然如此。这来自于一些早期的工作,我们称之为调整语言模型。
对了,Ryan,你想谈谈OpenAI的调整问题吗?
Ryan Lowe:人们对调整有不同的定义。但你可以使用的一个定义是,如何让我们正在训练的人工智能系统优化我们实际上想要优化的东西?
从历史上看,它始于一个小团队,这就是最初早期RLHF工作发挥作用的地方。后来我们有了一个短期的调整团队,主要负责用现有的语言模型来优化我们真正想要优化的东西,让我们的目标变得有用、有帮助,同时也可以减轻危害,遵循事实。还有一些关于长期调整的工作,试图思考可能出现的新的调整问题。因此,未来还可能出现一些关于可扩展的监管和其他一些事情的工作。
你能对InstructGPT做一个简短的推荐或者对其做一个总结吗?
欧阳龙:这是一个自动化的系统,你提供一些文本作为输入,它也会提供一些文本作为输出。这些是我们所说的标记的概率分布,一个标记是单词的一部分,有时是整个单词,然后通过在每个阶段抽样出下一个可能的标记,然后继续这个过程,直到得到你目标的产出。所以有时候你会得到不同的结果,因为这个模型有一点概率性。
重要的是,你给这个模型的输入只是一个自然语言命令或指令,比如“用法语写一个关于青蛙的故事”,又因为它在各种不同的任务上接受过训练,所以它可以概括两个任务,第一个任务是使用法语,第二个任务是写一个关于青蛙的故事,我想这是在训练中他不会遇到的。
为了强调指令模型和早期香草语言模型之间的区别,指令模型“理解”你给了它一些明确的认知任务,同时你用语言明确地给出了这些指令;而在之前的模型之下,通过模型交流的方式,你想要完成的任务可能是通过一些例子或一种更含蓄的方式。
Ryan Lowe:从高层次上讲,我们实现这一目标的方式基本上是利用人类数据。通过使用数据标注者——我们雇佣了一组承包商为我们标记数据,我们在正常的语言模型预训练阶段上做了一个额外的微调阶段。
这些数据标注者产生的主要数据之一是给定一些输入,如"写一个关于青蛙的故事"有多个候选输出,由不同的模型生成,而标注者会根据一些指令集和他们对指令的解释,将这些输入从最佳输出到有效输出进行排序。然后我们使用强化学习来训练模型,以试图产生更接近人类偏好或排名较高的输出。
Open AI研究科学家欧阳龙,图源:AI PUB
为什么要训练奖励模型呢?为什么要在第一步进行监督微调?
欧阳龙:也许我们会从奖励模式开始,因为这是我们的方法中真正关键的部分。有了Ryan之前提到的那种数据,即数据标注者给出了他们的偏好,比如关于青蛙的故事,我们就会用这些数据来训练一个非常大的神经网络,我们称之为奖励模型。
你可以把奖励模式想象成电子游戏中的分数或一个老师。奖励模型的输入是指令和输出,它返回一个分数,这个分数会告诉你的输出有多好。如果这个分数不错,就意味着关于青蛙的故事是个好故事,如果这个分数很低,就意味着关于青蛙的故事是个烂故事。我们根据人类的判断来训练这个奖励模型,所以这个大模型有点像近似于人们认为在写青蛙故事或总结新闻文章或其他方面的一个好尝试。然后当我们训练一个完全不同的模型,我们也能根据奖励模型来做得更好。
因此,我们的方法的重要之处在于,我们没有采用其他方法,而是明确地学习了人们对一项任务的良好表现的看法。然后,我们单独优化一个神经网络,使其根据该表征完成一项好工作。因此,这就是从人类反馈中进行的实质性强化学习。
我们正在做强化学习,因为我们试图根据一个模型去构建另一个完全不同的但能很好运行的新模型。然后人类的反馈部分来自老师或分数模型,这些模型经过训练,可以预测人类的偏好。这就是这个方法的核心,然后,为了引导一堆数据,我们又做了所谓的监督学习或监督微调,在那里,我们实际上只是要求他们直接制作所谓的示范,而不是让人们对已经写好的青蛙的故事给出他们的偏好。所以,他们自己被要求用法语写一个关于青蛙的故事,我们训练模型模仿他们在这些情况下使用的单词。这对引导数据很有用,但对RLHF方法来说不一定是必需的。
你是否看到其他主要的应用程序跳过了第一步?
欧阳龙:我们有时还会这样做,我想有一点是,现在少数的片段提示已经变得很有竞争力了。因此,你有时可以跳过收集演示,因为从模型的几个片段的输出已经是可以接受的,或者说是已经足够好,以至于没有必要进行单独的监督微调。
Ryan Lowe:一种思考方法是,RLHF帮助您获得更细粒度的模型行为调优,而监督式调优和收集演示可以更彻底地改变模型行为。例如,假设你有一个模型,它在生成摘要方面很糟糕。在不同的糟糕摘要之间获得一堆排名反馈并不是最有用的。所以你要做的是收集一些非常好的总结的例子,然后让你的模型试着模仿一下。实际上,这是一个经验问题,什么时候最好从收集演示转换到收集比较或排名数据。我们在另一篇论文中对此有一些结果但这仍然是一个非常开放的问题。
你是怎么想到InstructGPT这个主意的?这个想法是如何出现的,以及这个项目是如何在OpenAI中出现的?
欧阳龙:我们实际上已经研究这个方法有一段时间了,只是动机略有不同。调整团队通常感兴趣的不一定是使模型更好,尽管有时确实会产生副作用,但最终目的是使它们更符合我们想要的。因此,在之前的几篇论文中,我们将这种方法应用于更窄的领域,看看它是否有效。紧跟着GPT-3通过API部署到公众面前,团队的一些成员想到将我们在以前的论文中开发的对齐技术应用到这个新模型上,我们现在正在为公众服务。
Ryan Lowe: 最初写谷歌文件提出这个建议的人是Paul Chirstiano,他当时是调整团队的负责人。
很多人都在议论下一代语言模型将会非常强大。这是否会带来有趣的挑战,或者是否有新的方法来适应这种挑战并处理这些更强大的语言模型?你想把这项工作推进到哪里?
Ryan Lowe:我们有一个内容政策,说我们不希望模型生成代码来入侵银行或做其他类似的违法乱纪的事情,但我们发现实际上它有可能被犯罪分子用来编写代码来入侵银行。现在我们有一个艰难的过程来引导事情朝着不这样做的方向发展,但在可靠性和耐久性方面仍然存在差距。所以我们只能继续拥有我们的技术,让它们变得更好,这样如果你发现一些偏差,你可以迅速修复它。
Anthropic最近发表了一些关于使用模型来帮助这个过程的论文,非常有趣。我特别感兴趣的一件事是超越了本质上与平均标签者设立的框架。当我们开始问:你在根据谁在调整这些模型时,将会有一些非常棘手的问题。现在基本上是我们的标签员加上我们通过一组指令让他们遵循。但OpenAI并不想处在这样一个道德独裁者的位置,即我们来决定怎么做是正确的,以及什么是正确的价值观。因此,驾驭这个问题将是一个挑战,涉及到机器学习的干预,但也涉及到更广泛的社会技术角度。
Open AI研究科学家Ryan Lowe,图源:AI PUB
随着语言模型变得越来越强大,这类研究是否会出现有趣的问题或新的挑战和新的方向?
欧阳龙:其中一个问题是,如果这些模型非常强大,那么仅仅是进行这些比较判断就会变得更加困难。因此,我们想要给出一个强大模型的任务示例是:为GitHub上的这个拉拽请求编写代码审查。现在的模型还不能做到这一点,但你可以想象,在一两年内,更有能力的模型可能就能做到,这绝对是我们希望机器学习帮助解决的事情。数据标签承包商评估模型编写的代码的时间可能非常长,也可能他们根本无法做到这一点。
因此,在使用模型处理的事情超过个人评估模型的能力时,一个非常突出的挑战是,当模型在大量不同的事情上非常强大的时候,那么评判他们做得是否很好就会相当不容易。这是一个构建其他人工智能模型帮助人们评估其他机器学习系统的新领域。
Ryan Lowe:我同意欧阳龙所说的,我唯一想补充的是关于长期的一致性研究;这些系统会根据你的程序来优化。因此,如果他们优化的是人类在做排名时哪些排名靠前的东西,那么你所优化的就是产生对人类来说听起来不错的输出。随着模型变得越来越强大,有可能在优化过程中,他们会发现有趣的或棘手的或具有欺骗性的(也许有待商榷)方法来产生高分的输出,而这实际上不是我们想要的输出。我认为我们还没有完全做到,但至少这是我们想要关注的事情。
至于如何缓解这种情况,有欧阳龙谈到的各种方法,也就是你有其他人工智能模型来帮助你评估输出——这就是我谈到的可扩展的监督研究风格。因此,人们正在研究更多的可解释性问题,比如:我们能否尝试理解一个模型内部发生了什么? 这是另一个调整研究的思路。我们什么时候能够实现它还很难说,但这是值得思考的。
你刚刚提到有人在观察模型内部发生的事情。你能指出你最近在这个领域看到的任何有趣的外部事物吗?
Ryan Lowe:我还没有深入研究这方面的文献,但从我所看到的和略读到的资料来看,Anthropic在可解释性方面的研究非常有趣。他们正在研究较小规模的转换器,试图了解里面到底发生了什么。
欧阳龙:对于建立语言模型所做的工作来说,有一些补充工作是以一种更可观察的方式进行的。Anthropic对于“监督语言模型所做的过程,而不是结果”这个想法很感兴趣,就像我们一样。因此,这里的想法可能是把一个大任务分解成一堆小的组件,而你可能对其中的一些组成部分比对整个端到端的训练过程有更好的把握。
这是训练的一部分还是最后的微调?
欧阳龙:我一直以来在人们编写程序时也看到过这种情况。有一个名为Ought的研究小组,也为学术论文建立了一个所谓的文献审查助手。他们已经使用这种技术来构建他们的语言模型辅助阅读复习工具。到目前为止我看到的例子都是这样的,但是思考如何分解训练是很有趣的。
要进一步了解这篇论文或者了解你更广泛的工作,你有什么建议吗?
Ryan Lowe:我认为人们可能已经在这么做了,但如果你还没有,不妨尝试一下这些模型,对它能做什么和不能做什么有一个直觉的了解。要特别去留意那些你试图让它做,而它却没有做的事情。我们正在做调整工作,但你也可以考虑为一个非常具体的用例进行调整的工作。
此外,也许人们还可以发展出一点好奇心,思考如果我们有GPT7会发生什么,因为已经有人在思考这些更长期的调整问题。我们专注于长期调整方面的同事写了一篇关于批判的论文,同时他还训练语言模型来批判,这算是在可扩展的调整问题中的一个步骤。
欧阳龙:我也建议你试试InstructGPT。这是一个公开的模型,你可以在beta.openai.com上得到一些免费的点数来玩,这一点并没有很多人知道。
Ryan Lowe:是的,这很有趣,因为底层的GPT 3.5从去年早些时候就已经可以使用了,但是只有当人们免费使用它,而且是以助手的形式,它才真正流行起来。去试试InstructGPT吧,在某些方面它比ChatGPT更好,但在某些方面又比ChatGPT更差。■
本文作者是Arize AI联合创始人兼CPO、福布斯撰稿人,文章内容仅代表作者本人观点。本文译自:https://www.forbes.com/sites/aparnadhinakaran/2023/03/27/ten-questions-with-openai-on-reinforcement-learning-with-human-feedback
关键词: