ChatGPT作者John Schulman:我们成功的秘密武器( 二 )


Robin :人工评分员之间的差异或奖励信号的噪音是否会造成问题?
John :实际上,噪音并不是我最担心的问题,比较而言,我更担心人们的惯有偏见 。例如,在问题回答或模型编写文本等设置中,人们通常更偏向于较长的答案,这会导致模型给出的答案日渐冗长 。所以我们要注意指导人工评分员,让他们奖励简洁的答案,如果对这一问题不加注意,可能会激励模型的错误行为 。
用RLHF实现指令跟随模型
Robin :2022年3月,你与Long 、Jeff Wu等人发表了论文《towith human 》,你能简要介绍下的主要思想吗?
John :是一种经过微调以遵循指令的语言模型 。的官网上有一个大文本框,在文本框中输入内容后点击提交就可以完成一个指令 。语言模型非常有用,只需输入提示词就可以使其来完成自己想做的事情 。
比如你可以先在文本框中输入问答示例,然后你提出另外一个问题,就可以相同的方式予以回答,人们可以让语言模型通过提示来做一些很棒的事情 。但“提示”本身也是一门艺术,很难做到准确无误,模型也不一定能完美识别提示的内涵 。如果你只是采用原始模型与之对话,那么你得到的答案可能就有点不尽如人意了 。
通过,我们发现要对语言模型进行一些小的改动,就可以使它们更容易使用 。具体来说,我们要对它们进行训练,以便当你的一段文本包含指令时,模型可以尽力按照指令进行操作 。几乎任何东西都可以作为指令 。例如,指令可以是继续聊天,对这段文本进行总结,或者是提供一份销售某个小部件公司的名单 。
这就是指令跟随模型(model),可以执行任何你给定的指令 。不过我并不是这项工作的核心贡献者,我主要参与了强化学习基础设施和完成强化学习的训练细节 。
在这个项目中我们所做的就是:在指令跟随设置中运行了RLHF中的整套方法论 。所以我们进行了有监督微调( fine ),收集偏好数据,训练了一个奖励模型( model),然后根据该奖励模型进行了强化学习 。
在训练之初,我们使用的数据是由外包商收集的 。但后来我们有了API和官网上的(一个大文本框,可以在其中使用模型),我们就使用在中收集到的指令来进行训练(用户在使用之时就会收到提示:你的指令可能会用于训练) 。这样既可以收集偏好数据,又可以进行强化学习 。同时需要注意:训练时不能存储中的任何信息 。我们有一套相当复杂的流程来确保没有私人信息泄露到模型中 。
结果表明,这种方法非常有效 。原始的语言模型通常很难按照指令执行 。但是,通过强化学习训练后的指令跟随模型要好得多 。如果仅从改进程度来看,那么几乎能媲美比这大100倍的模型 。这是相当大的一个进步 。
Robin :看来你想要得到可信任的模型,这是你的标准之一吗?
John :对于一个大型语言模型来说,真实性是重要标准之一 。但是,这个模型是如何通过示例学习真实性的?难道真实性在模型内部被表示了吗?因为模型没有外部参考来确认某些东西是真实的还是虚假的,那么它如何知道什么是真实的?
某种程度上,模型内部是有真实性表示的 。我们可以将语言模型看作是对整个互联网的模仿,而互联网是由许多不同的人编写的,包含各种类型的内容,从小说到非小说,到技术文献、笑话以及论坛帖子等 。因此,该模型实际上是由所有这些编写内容的人组成的“合奏团” 。
当我们输入一个时,模型在内部必须要做的就是确定是由谁编写的,并试图以该风格继续生成文本 。比如,如果它认为正在阅读的内容是华尔街交易论坛上的东西,那么就继续以这种风格生成文本 。但是如果它认为正在阅读纽约时报的内容,它又会以不同的方式写作 。