论文InstructGPT (1)2022.3 Training language models to follow instructions with human feedback;通过人类反馈微调

Ankie的评论:

2020.5 GPT-3 Language Models are Few-Shot Learners 强调不要做微调,不要做应试。只做few-shot少样本配置,期望达到AGI通用人工智能。然而到了2020.3 InstructGPT,开发方向180度掉头回去做微调!测试结果表明:通过人类反馈微调的效果更好。1.3B参数的InstructGPT模型的参数数量比175B的GPT-3少了100倍,但其输出仍比GPT-3的输出更好。

因此我们看出,通往远大目标的路,并非一条直线,而是一个波浪线。

InstructGPT需要3步:

(1) supervised fine-tuning (SFT), 
(2)reward model (RM) training, 
(3) reinforcement learning via proximal policy optimization (PPO) on this reward model.

摘要

使语言模型变得更大并不意味着它们就能更好地遵循用户的意图。例如,大型语言模型可以生成不真实、有毒或对用户毫无帮助的输出。换句话说,这些模型并没有与用户对齐。在本文中,我们展示了一种通过人类反馈微调来使语言模型在广泛的任务上与用户意图对齐的方法。

我们从一组标注者编写的提示和通过OpenAI API提交的提示开始,收集了一个标注者演示所需模型行为的数据集,我们使用这些数据集通过监督学习来微调GPT-3。然后,我们收集了一个模型输出排名的数据集,我们使用这些数据集通过人类反馈的强化学习来进一步微调这个监督模型。我们将得到的模型称为InstructGPT

在基于我们提示分布的人类评估中,尽管只有1.3B参数的InstructGPT模型的参数数量比175B的GPT-3少了100倍,但其输出仍比GPT-3的输出更受青睐。此外,InstructGPT模型在保持公共NLP数据集上性能基本不变的同时,提高了真实性并减少了有毒输出的生成。尽管InstructGPT仍然会犯一些简单的错误,但我们的结果表明,通过人类反馈进行微调是使语言模型与人类意图对齐的一个有前景的方向。

1 引言

大型语言模型(LMs)可以通过“提示”来执行一系列的自然语言处理(NLP)任务,前提是需要提供这些任务的例子作为输入。然而,这些模型经常会表现出非预期的行为,比如捏造事实、生成有偏见或有毒的文本,或者简单地不遵循用户的指示。这是因为许多最新的大型语言模型所使用的语言建模目标——预测互联网上网页上的下一个标记——与“有益且安全地遵循用户指示”这一目标不同。因此,我们说语言建模目标是不对齐的。对于在数百个应用中部署和使用的语言模型来说,避免这些非预期的行为尤为重要。

我们通过训练语言模型以符合用户意图来推进语言模型的对齐。这包括明确的意图,如遵循指示,以及隐性的意图,如保持真实、不带有偏见、不产生有毒内容或造成其他伤害。借用Askell 等人(2021)的说法,我们希望语言模型是有益的(它们应该帮助用户解决任务)、诚实的(它们不应该捏造信息或误导用户)和无害的(它们不应该对人们或环境造成身体、心理或社会伤害)。我们将在第3.6节中详细讨论这些标准的评估。

我们专注于通过微调来对齐语言模型。具体来说,我们使用来自人类反馈的强化学习(reinforcement learning from human feedback RLHF)来微调GPT-3,使其遵循广泛的书面指示(见图2)。这种技术使用人类的偏好作为奖励信号来微调我们的模型。

  • step 1:首先,我们聘请了一个由40名合同工组成的团队来标记我们的数据,基于他们在筛选测试中的表现。然后,我们收集了一个关于(主要是英语)提示的人类编写演示的数据集,这些提示是通过OpenAI API提交的,以及一些标注者编写的提示,并使用这些数据集来训练我们的监督学习基线。
  • step 2:接下来,我们收集了一个关于模型在更大的一组API提示上产生的输出之间的人类标记比较的数据集。然后,我们在这个数据集上训练一个奖励模型(RM)来预测我们的标注者会偏好哪种模型输出。
  • step 3:最后,我们将这个RM作为奖励函数,并使用PPO算法来微调我们的监督学习基线,以最大化这个奖励。

我们在图2中说明了这一过程。这个过程使GPT-3的行为与特定人群(主要是我们的标注者和研究人员)的明确偏好对齐,而不是更广泛的“人类价值观”的概念;我们将在第5.2节中进一步讨论这一点。我们将得到的模型称为InstructGPT。

我们主要通过让我们的标注者对测试集上模型输出的质量进行评分来评估我们的模型,测试集由来自保留客户的提示组成(这些客户在训练数据中没有被表示)。我们还在一系列公共NLP数据集上进行了自动评估。我们训练了三种模型大小(1.3B、6B和175B参数),并且我们所有的模型都使用了GPT-3架构。我们的主要发现如下:

标注者明显更偏好InstructGPT的输出,而不是GPT-3的输出。

在我们的测试集上,尽管1.3B参数的InstructGPT模型的参数数量比175B的GPT-3少了100多倍,但标注者还是更喜欢InstructGPT模型的输出。这两个模型具有相同的架构,唯一的区别在于InstructGPT在我们的人类数据上进行了微调。即使我们给GPT-3添加了一个几轮提示来使其更好地遵循指令,这一结果仍然成立。标注者中有85±3%的时间更喜欢我们175B的InstructGPT的输出,有71±4%的时间更喜欢几轮提示的175B GPT-3的输出。InstructGPT模型也根据标注者的判断生成了更合适的输出,并且更可靠地遵循指令中的明确约束。

InstructGPT模型在真实性方面比GPT-3有所提高。

在TruthfulQA基准测试中,InstructGPT生成真实且有用的答案的频率是GPT-3的两倍。对于没有被特意针对GPT-3选择的问题子集,我们的结果也同样强大。在我们API提示分布中的“封闭领域”任务中,输出不应包含输入中不存在的信息(例如,摘要和封闭领域QA),InstructGPT模型产生输入中不存在的信息的频率只有GPT-3的一半(分别为21%和41%的虚构率)。

InstructGPT在毒性方面比GPT-3略有改进,但在偏见方面没有改进。

为了测量毒性,我们使用了RealToxicityPrompts数据集(Gehman等人,2020),并进行了自动和人工评估。当被提示要尊重他人时,InstructGPT模型生成的毒性输出比GPT-3少约25%。然而,在Winogender(Rudinger等人,2018)和CrowSPairs(Nangia等人,2020)数据集上,InstructGPT并没有显著优于GPT-3。

我们可以通过修改我们的RLHF微调过程来最小化在公共NLP数据集上的性能回退。

在RLHF微调期间,我们观察到与GPT-3相比,在某些公共NLP数据集上的性能回退,特别是SQuAD(Rajpurkar等人,2018)、DROP(Dua等人,2019)、HellaSwag(Zellers等人,2019)和WMT 2015法语到英语的翻译(Bojar等人,2015)。这是我们所谓的“对齐代价”的一个例子,因为我们的对齐过程是以牺牲我们可能关心的某些任务的性能为代价的。我们可以通过混合PPO更新和增加预训练分布对数似然性的更新(PPO-ptx),来大大减少这些数据集上的性能回退,同时不损害标注者的偏好得分。

我们的模型能够泛化到“未参与”标注者的偏好,这些标注者没有产生任何训练数据。

为了测试我们模型的泛化能力,我们进行了一个初步的未参与标注者实验,发现他们偏好InstructGPT输出的比例与我们的训练标注者大致相同。然而,还需要更多的工作来研究这些模型在更广泛的用户群体上的表现,以及它们在人类对所需行为存在分歧的输入上的表现。

公共NLP数据集并不能反映我们语言模型的使用方式。

我们将使用人类偏好数据微调的GPT-3(即InstructGPT)与使用两种不同公共NLP任务编译的GPT-3微调版本进行了比较:FLAN(Wei等人,2021)和T0(Sanh等人,2021)(特别是T0++变体)。这些数据集包含各种NLP任务,每个任务都结合了自然语言指令。在我们的API提示分布中,我们的FLAN和T0模型的表现略差于我们的SFT基线,而标注者则显著偏好InstructGPT,而不是这些模型(InstructGPT的胜率为73.4±2%,而我们的T0和FLAN版本的胜率分别为26.8±2%和29.8±2%)。

InstructGPT模型显示出对RLHF微调分布之外的指令具有令人鼓舞的泛化能力。

我们定性地探查了InstructGPT的能力,发现它能够遵循指令来总结代码、回答关于代码的问题,有时甚至遵循不同语言的指令,尽管这些指令在微调分布中非常罕见。相比之下,GPT-3虽然可以执行这些任务,但需要更精心的提示,并且通常不会遵循这些领域的指令。这一结果是令人兴奋的,因为它表明我们的模型能够泛化“遵循指令”的概念。即使对于几乎没有直接监督信号的任务,它们也保留了一定的对齐性。

然而,InstructGPT仍然会犯一些简单的错误。

例如,InstructGPT可能仍然无法遵循指令、编造事实、对简单问题给出冗长的含糊回答,或者无法检测到具有错误前提的指令。

总的来说,我们的结果表明,使用人类偏好来微调大型语言模型可以显著改善它们在各种任务上的行为,但仍有大量工作需要改进它们的安全性和可靠性。

  • 48
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ankie(资深技术项目经理)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值