论文名称:Training language models to follow instructions with human feedback
中文翻译:利用人类反馈训练语言模型遵循指示
摘要
使语言模型变得更大并不会本质上使它们更能够符合用户意图。例如,大型语言模型可能会生成不真实、有毒或对用户无帮助的输出。换句话说,这些模型与其用户不对齐。在本文中,我们展示了一种通过人类反馈对语言模型进行微调,从而使其在各种任务上与用户意图保持一致的方法。我们从一组由标注者编写的提示和通过OpenAI API提交的提示开始,收集了一组标注者演示所需模型行为的数据集,然后使用监督学习对GPT-3进行微调。然后,我们收集了一组对模型输出的排名数据集,使用来自人类反馈的强化学习进一步微调了这个监督模型。我们称得到的模型为InstructGPT。在我们的提示分发的人类评估中,来自1.3B参数的InstructGPT模型的输出优于175B GPT-3的输出,尽管参数数量减少了100倍。此外,InstructGPT模型在真实性方面有所改善,减少了有毒输出的生成,同时在公共NLP数据集上的性能退化最小。尽管InstructGPT仍然会犯一些简单的错误,但我们的结果表明,利用人类反馈进行微调是使语言模型与人类意图保持一致的一个有前景的方向。
引言
大型语言模型(LMs)可以通过提供一些任务的示例来“提示”其执行一系列自然语言处理(NLP)任务。然而,这些模型经常表现出意外的行为,例如虚构事实、生成偏见或有毒文本,或者简单地不遵循用户指令(Bender等,2021年;Bommasani等,2021年;Kenton等,2021年;Weidinger等,2021年;Tamkin等,2021年;Gehman等,2020年)。这是因为用于许多最近的大型LMs的语言建模目标——从互联网上预测网页上的下一个标记——与“遵循用户的指令,帮助性地和安全地完成任务”的目标不同(Radford等,2019年;Brown等,2020年;Fedus等,2021年;Rae等,2021年;Thoppilan等,2022年)。因此,我们称语言建模目标不一致。避免这些意外的行为对于部署和使用于数百种应用程序中的语言模型尤为重要。
我们通过训练语言模型使其根据用户的意图行事(Leike等,2018年)取得了进展。这包括明确的意图,例如遵循指令,以及隐含的意图,例如保持真实,不偏见,不有毒,或者以其他方式有害。使用Askill等人(2021年)的语言,我们希望语言模型是有帮助的(它们应该帮助用户解决他们的任务),诚实的(它们不应该虚构信息或误导用户),并且无害的(它们不应该对人或环境造成身体、心理或社会的伤害)。我们将在第3.6节详细阐述对这些标准的评估。
我们专注于微调方法来对齐语言模型。具体来说,我们使用来自人类反馈的强化学习(RLHF; Christiano等,2017年;Stiennon等,2020年)来微调GPT-3,使其遵循一系列书面指令(见图2)。这种技术使用人类偏好作为奖励信号来微调我们的模型。我们首先聘请一组40名承包商根据他们在筛选测试中的表现(见第3.4节和附录B.1节,以获取更多细节)对我们的数据进行标注。
然后,我们收集了一个人类编写的演示数据集,该数据集包含了对提交给OpenAI API3的(主要是英文)提示以及一些由标注者编写的提示的期望输出行为,并使用此数据集训练我们的监督学习基线。
接下来,我们收集了一个人类标记的比较数据集,该数据集包含了我们模型在更大的API提示集上的输出之间的比较。
然后,我们在此数据集(比较数据集)上训练了一个奖励模型(RM),以预测我们的标注者更喜欢哪个模型输出。
最后,我们使用此RM作为奖励函数,并使用PPO算法(Schulman等,2017年)对我们的监督学习基线进行微调,以最大化此奖励。我们在图2中说明了此过程。此过程将GPT-3的行为与特定群体的明确偏好(主要是我们的标注者和研究人员)保持一致,而不是与任何更广泛的“人类价值观”概念保持一致;我们将在第5.2节进一步讨论这一点。我们将得到的模型称为InstructGPT。
我们主要通过让我们的标注者评价我们测试集上模型输出的质量来评估我们的模型,该测试集由未在训练数据中表示的客户提交的提示组成。我们还在一系列公共NLP数据集上进行自动评估。我们训练了三种模型大小(1.3B、6B和175B参数),我们所有的模型都使用了GPT-3架构。我们的主要发现如下:
标注者明显更喜欢InstructGPT的输出,而不是来自GPT-3的输出。在我们的测试集上,尽管参数数量少了100倍,但来自1.3B参数的InstructGPT模型的输出比来自175B GPT-3的输出更受欢迎。这些模型具有相同的架构,唯一的区别在于InstructGPT是通过我们的人类数据进行微调的。即使我们为GPT-3添加了少样本提示以使其更好地遵循指示,这个结果仍然成立。在我们的175B InstructGPT中,有85 ± 3%的时间比175B GPT-3的输出更受欢迎,并且有71 ± 4%的时间比少样本175B GPT-3更受欢迎。InstructGPT模型还根据我们的标注者生成了更合适的输出,并更可靠地遵循指令中的明确约束。
InstructGPT模型在真实性方面优于GPT-3。在TruthfulQA基准测试中,InstructGPT提供的真实且信息丰富的答案的频率大约是GPT-3的两倍。我们在未针对GPT-3进行敌对选择的问题子集上的结果同样强大。在我们的API提示分发中的“封闭领域”任务中,输出不应包含输入中不存在的信息(例如,摘要和封闭领域QA),InstructGPT模型编造的信息的频率比GPT-3低约一半(分别为21% vs. 41%的幻觉率)。
InstructGPT在毒性方面表现出略微的改善,但没有偏见。为了衡量毒性,我们使用RealToxicityPrompts数据集进行自动和人工评估。当提示要求尊重时,InstructGPT模型生成的有毒输出比GPT-3少约25%。在Winogender和CrowSPairs数据集上,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的输出,而不是GPT-3的输出。然而,还需要更多的工作来研究这些模型在更广泛的用户群体中的表现,以及它们在人们对所需行为存在分歧的输入上的表现。
公共NLP数据集不反映我们的语言模型的使用方式。我们将GPT-3在我们的人类偏好数据上微调(即InstructGPT)与GPT-3在两种不同的公共NLP任务编译上微调进行比较: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仍然可能无法遵循指示,编造事实,对简单问题给出冗长的含糊答案,或者无法检测带有错误前提的指示。
总的来说,我们的结果表明,使用人类偏好对大型语言模型进行微调显著改善了它们在各种任务上的行为,尽管仍有许多工作需要做以提高它们的安全性和可靠性。
本文的其余部分结构如下:我们首先在第2节详细介绍相关工作,然后在第3节中深入探讨我们的方法和实验细节,包括我们的高级方法(3.1)、任务和数据集细节(3.3和3.2)、人类数据收集(3.4)、如何训练我们的模型(3.5)以及我们的评估程序(3.6)。然后我们在第4节中展示我们的结果,分为三部分:在API提示分发上的结果(4.1)、在公共NLP数据集上的结果(4.2)和定性结果(4.3)。最后,在第5节中对我们的工作进行了广泛的讨论,包括对齐研究的影响(5.1)、我们正在对齐的内容(5.2)、局限性(5.3)、未解决的问题(5.4)以及这项工作的更广泛影响(5.5)
2 相关工作
关于对齐和从人类反馈中学习的研究。我们建立在先前的技术基础上,以使模型与人类意图保持一致,特别是从人类反馈中进行强化学习(RLHF,Human Feedback in Reinforcement Learning)。最初是为了训练模拟环境中的简单机器人和Atari游戏(Christiano等人,2017;Ibarz等人,2018)而开发的,最近已被应用于微调语言模型以总结文本(Ziegler等人,2019;Stiennon等人,2020;Böhm等人,2019;Wu等人,2021)。这项工作受到了在对话(Jaques等人,2019;Yi等人,2019;Hancock等人,2019)、翻译(Kreutzer等人,2018;Bahdanau等人,2016)、语义解析(Lawrence和Riezler,2018)、故事生成(Zhou和Xu,2020)、评论生成(Cho等人,2018)和证据提取(Perez等人,2019)等领域使用人类反馈作为奖励的类似工作的影响。Madaan等人(2022)使用书面人类反馈来增强提示并提高GPT-3的性能。还有关于使用具有规范性先验的RL来对齐基于文本的环境中的代理的工作(Nahian等人,2021)。我们的工作可以看作是将RLHF直接应用于对齐广泛的语言任务分布的语言模型。
语言模型对齐意味着什么问题最近也受到了关注(Gabriel,2020)。Kenton等人(2021)编制了语言模型中的行为问题清单,这些问题是由于对齐不准确而导致的,包括产生有害内容和游戏错位的目标。在同时进行的工作中,Askill等人(2021)提出语言助手作为对齐研究的测试平台,研究了一些简单的基线以及它们的扩展属性。
训练语言模型遵循指示。
我们的工作也与语言模型中的跨任务泛化研究相关,其中语言模型在广泛的公共NLP数据集上进行微调(通常以适当的指示为前缀),并在不同的NLP任务集上进行评估。在这个领域已经进行了一系列的工作(Yi等人,2019;Mishra等人,2021;Wei等人,2021;Khashabi等人,2020;Sanh等人,2021;Aribandi等人,2021),这些工作在训练和评估数据、指示格式、预训练模型大小以及其他实验细节方面有所不同。研究中一致的发现是,在一系列NLP任务上,使用指示对语言模型进行微调会提高其在保留任务上的下游性能,无论是在零样本还是少样本设置中。
还有一个与此相关的工作方向是关于导航的指示遵循,在这个领域,模型被训练以遵循自然语言指示在模拟环境中进行导航(Bahdanau等人,2018;Abramson等人,2020;Zhao等人,2021)。
评估语言模型的危害。
修改语言模型行为的目标是在其在现实世界中部署时减轻这些模型的危害。这些风险已被广泛记录(Bender等人,2021;Bommasani等人,2021;Kenton等人,2021;Weidinger等人,2021;Tamkin等人,2021)。语言模型可能产生偏见的输出(Dhamala等人,2021;Liang等人,2021;Manela等人,2021;Caliskan等人,2017;Kirk等人,2021),泄露私人数据(Carlini等人,2021),生成错误信息(Solaiman等人,2019;Buchanan等人,2021),并且可能被恶意使用;关于这些问题的全面回顾,请参阅Weidinger等人(2021)。在特定领域部署语言模型会产生新的风险和挑战,例如在对话系统中(Henderson等人,2018;Xu等人,2020;Dinan等人,2019b)。有一个新兴但日益增长的领域旨在构建基准来具体评估这些危害,特别是围绕毒性(Gehman等人,2020)、刻板印象(Nadeem等人,2020)和社会偏见(Dhamala等人,2021;Nangia等人,2020;Rudinger等人,2018)。在这些问题上取得重大进展很困难,因为对LM行为的善意干预可能会产生副作用(Welbl等人,2021;Blodgett等人,2020);例如,试图减少LM毒性的努力可能会降低其对来自少数群体的文本建模能力,因为在训练数据中存在偏见相关性(Xu等人,2021)。
修改语言模型行为以减轻危害。
有许多方法可以改变语言模型的生成行为。Solaiman和Dennison(2021)在一个小的、以价值为目标的数据集上对LM进行微调,这提高了模型在问答任务中遵守这些价值的能力。Ngo等人(2021)通过移除语言模型在生成一组研究人员编写的触发短语时具有高条件概率的文档来过滤预训练数据集。当在这个经过过滤的数据集上进行训练时,他们的语言模型生成的文本更少有害,但语言建模性能略有下降。Xu等人(2020)采用了多种方法来改善聊天机器人的安全性,包括数据过滤、在生成过程中阻止某些词语或n-gram、安全特定的控制标记(Keskar等人,2019;Dinan等人,2019a),以及人类参与数据收集(Dinan等人,2019b)。其他减轻语言模型生成偏见的方法包括词嵌入正则化(Liu等人,2019;Huang等人,2019)、数据增强(Liu等人,2019;Dinan等人,2019a;Sheng等人,2019)、空间投影使敏感标记的分布更均匀(Liang等人,2021)、不同的目标函数(Qian等人,2019),或者因果中介分析(Vig等人,2020)。还有关于使用第二个(通常较小的)语言模型来引导语言模型生成的工作(Dathathri等人,2019;Krause等人,2020),并且这个想法的变体已经应用于减少语言模型的毒性(Schick等人,2021)。
3 方法和实验细节
3.1 高级方法论
我们的方法遵循Ziegler等人(2019)和Stiennon等人(2020)的方法,他们将其应用于风格延续和总结领域。
我们从一个预训练的语言模型开始(Radford等人,2019;Brown等人,2020;Fedus等人,2021;Rae等人,2021;Thoppilan等人,2022),一个我们希望我们的模型产生对齐输出的提示分布,以及一个训练有素的人类标注团队(详情请参见第3.4节)。然后,我们采取以下三个步骤(见图2)。
步骤1:收集示范数据,并训练一个监督策略。我们的标注员提供了在输入提示分布上所需行为的示范(详情请参见第3.2节关于此分布的细节)。然后,我们使用监督学习在此数据上微调预训练的GPT-3模型。
步骤2:收集比较数据,并训练一个奖励模型。我们收集了一个模型输出之间的比较数据集,其中标注员指示了他们在给定输入下更喜欢的输出。然后,我们训练一个奖励模型来预测人类首选的输出。
步骤3:使用PPO算法根据奖励模型优化策略。我们使用RM的输出作为标量奖励。我们微调监督策略以优化这个奖励,使用PPO算法(Schulman等人,2017)。
步骤2和3可以连续迭代;在当前最佳策略上收集更多的比较数据,用于训练一个新的RM,然后一个新的策略。实际上,我们大部分的比较数据来自我们的监督策略,一部分来自我们的PPO策略。
Step1-3:人工写答案 人工选答案 机器选答案
3.2 数据集
我们的提示数据集主要由提交到OpenAI API的文本提示组成,具体来说,是在Playground界面上使用InstructGPT模型的早期版本的提示(通过在我们的示范数据子集上使用监督学习进行训练)。使用Playground的客户被告知他们的数据可以通过定期通知任何时候使用InstructGPT模型来训练进一步的模型。在本文中,我们不使用生产环境中使用API的客户的数据。我们通过检查具有共同长前缀的提示来启发性地去重提示,并将每个用户ID的提示数量限制为200个。我们还根据用户ID创建了我们的训练、验证和测试拆分,以便验证集和测试集不包含来自训练集的用户数据。为了避免模型学习可能敏感的客户细节,我们在训练拆分中过滤了所有提示中的个人身份信息(PII)。
为了训练第一个InstructGPT模型,我们要求标注员自己编写提示。这是因为我们需要一个初始的指令样式提示来源来启动这个过程,而这些类型的提示通常不会被提交到API的常规GPT-3模型。我们要求标注员编写三种类型的提示:
- 普通:我们简单地要求标注员想出一个任意的任务,同时确保任务具有足够的多样性。
- 少量样本:我们要求标注员提出一条指令,并为该指令提供多个查询/响应对。
- 用户为基础:我们在OpenAI API的等待列表申请中列出了一些用例。我们要求标注员提出与这些用例相对应的提示。
从这些提示中,我们产生了在我们的微调过程中使用的三个不同数据集:
(1)我们的SFT数据集,其中包含用于训练我们的SFT模型的标注员演示,
(2)我们的RM数据集,其中包含用于训练我们的RM的模型输出的标注员排名,以及(3)我们的PPO数据集,没有任何人工标签,这些用作RLHF微调的输入。
SFT数据集包含约13k个训练提示(来自API和标注员编写),RM数据集有33k个训练提示(来自API和标注员编写),而PPO数据集有31k个训练提示(仅来自API)。有关数据集大小的更多细节,请参见表6。
为了给出我们数据集的组成的概念,在表1中,我们展示了由我们的承包商标记的API提示的用例类别分布(特别是RM数据集)。大多数用例是生成型的,而不是分类或问答。我们还在表2中展示了一些说明性提示(由研究人员编写,以模仿提交给InstructGPT模型的提示类型);提交给InstructGPT模型的更多提示显示在附录A.2.1中,提交给GPT-3模型的提示显示在附录A.2.2中。我们在附录A中提供了有关我们数据集的更多详细信息。
3.3 任务
我们的训练任务来自两个来源:
(1)由我们的标注员编写的提示数据集和
(2)提交给我们API上早期InstructGPT模型的提示数据集(见表6)。这些提示非常多样,包括生成、问答、对话、总结、提取和其他自然语言任务(见表1)。我们的数据集超过96%是英语,然而在第4.3节中,我们还测试了我们模型在其他语言中回应指令和完成编码任务的能力。
对于每个自然语言提示,任务通常是通过自然语言指令直接指定的(例如,“写一个关于一只聪明青蛙的故事”),但也可以间接通过少量样本示例(例如,给出两个青蛙故事的示例,并提示模型生成一个新的故事)或隐含延续(例如,提供一个关于青蛙的故事的开头)。在每种情况下,我们要求我们的标注员尽力推断写提示的用户的意图,并要求他们跳过任务非常不明确的输入。此外,我们的标注员还考虑到隐含意图,例如回答的真实性,以及有潜在危害的输出,例如有偏见或有毒的语言,这是根据我们提供给他们的指导(见附录B)和他们的最佳判断。
3.4 人类数据收集
为了生成我们的演示和比较数据,并进行我们的主要评估,我们在Upwork和ScaleAI上雇佣了大约40名承包商团队。与早期收集关于总结任务的人类偏好数据的工作相比(Ziegler等人,2019; Stiennon等人,2020; Wu等人,2021),我们的输入涵盖了更广泛的任务范围,有时可能包括有争议和敏感的话题。我们的目标是选择一组对不同人口群体的偏好敏感,并且擅长识别潜在有害输出的标注员。因此,我们进行了一个设计用来衡量标注员在这些方面的表现的筛选测试。我们选择了在这个测试中表现良好的标注员;有关我们选择程序和标注员人口统计信息的更多信息,请参见附录B.1。
在培训和评估过程中,我们的对齐标准可能存在冲突:例如,当用户请求潜在有害的响应时。在培训过程中,我们优先考虑对用户的帮助(不这样做需要做出一些困难的设计决策,我们留给未来的工作来解决;有关更多讨论,请参见第5.4节)。然而,在我们的最终评估中,我们要求标注员优先考虑真实性和无害性(因为这才是我们真正关心的)。
与Stiennon等人(2020)一样,我们在项目进行过程中与标注员紧密合作。我们有一个入职过程来培训标注员参与项目,为每个任务撰写详细的说明(见附录B.2),并在共享聊天室中回答标注员的问题。
作为对我们的模型如何泛化到其他标注员偏好的初步研究,我们雇用了一组不生成任何培训数据的另一组标注员。这些标注员来自相同的供应商,但没有经过筛选测试。
尽管任务复杂,但我们发现标注者间的一致性率非常高:培训标注者彼此一致的比例为72.6 ± 1.5%,而对于保留标注者,这个数字为77.3 ± 1.3%。作为比较,Stiennon等人(2020)在总结工作中,研究者之间的一致性为73 ± 4%。
3.5 模型
我们从Brown等人(2020)的GPT-3预训练语言模型开始。这些模型是在广泛的互联网数据分布上进行训练的,并且适用于各种各样的下游任务,但其行为特性尚未完全描述清楚。基于这些模型,我们使用三种不同的技术来训练模型:
- 监督微调(SFT):我们使用监督学习将GPT-3微调到我们的标注员演示数据上。我们进行了16轮的训练,采用余弦学习率衰减和残差丢弃率为0.2。我们根据验证集上的RM得分进行最终的SFT模型选择。与Wu等人(2021)类似,我们发现我们的SFT模型在1个epoch后在验证损失上过拟合;然而,我们发现训练更多的epochs有助于提高RM分数和人类偏好评分,尽管存在过拟合问题。
- 奖励建模(RM):从最终去除的未嵌入层的SFT模型开始,我们训练一个模型,该模型接收提示和响应,并输出一个标量奖励。在本文中,我们只使用6B的RM,因为这节省了大量的计算资源,并且我们发现175B的RM训练可能不稳定,因此不太适合用作RL中的值函数(有关更多详情,请参见附录C)。
在Stiennon等人(2020)的研究中,RM是在同一输入上两个模型输出之间的比较数据集上进行训练的。他们使用交叉熵损失,将比较作为标签,奖励之间的差异表示一个响应被人类标注员偏好于另一个响应的对数几率。
为了加速比较数据的收集,我们向标注员展示了K = 4到K = 9个响应进行排名。这为每个展示给标注员的提示产生了K个比较。由于每个标注任务中的比较之间存在很强的相关性,我们发现,如果我们简单地将比较洗牌成一个数据集,对数据集进行一次遍历就会导致奖励模型过拟合。相反,我们将每个提示的所有K个比较作为单个批次元素进行训练。这样做在计算上更加高效,因为它只需要对每个完成进行一次RM的前向传递(而不是对K个完成进行K次前向传递),并且由于不再过拟合,它达到了更高的验证准确性和对数损失。具体来说,奖励模型的损失函数为:
其中,rθ(x, y) 是奖励模型对于给定参数 θ、提示 x 和完成 y 的标量输出,yw 是在 yw 和 yl 这对完成中被偏好的完成,D 是人类比较数据集。
最后,由于奖励模型的损失对于奖励的偏移是不变的,我们使用偏置对奖励模型进行归一化,以便在进行强化学习之前,标签人员的演示得分平均值为0。
强化学习(RL)。再次遵循Stiennon等人(2020)的做法,我们使用PPO(Schulman等人,2017)对SFT模型在我们的环境中进行微调。该环境是一个赌博环境,它呈现一个随机的客户提示,并期望得到一个响应。给定提示和响应,它通过奖励模型产生一个由奖励确定的奖励,并结束该轮。此外,我们在每个令牌上添加了来自SFT模型的每令牌KL惩罚,以减轻对奖励模型的过度优化。值函数从RM中初始化。我们将这些模型称为“PPO”。
我们还尝试将预训练梯度混合到PPO梯度中,以修复公共NLP数据集上的性能回归。我们将这些模型称为“PPO-ptx”。我们在RL训练中最大化以下组合目标函数:
其中,πRL 是学习得到的 RL 策略,πSFT 是经过监督训练的模型,Dpretrain 是预训练分布。KL 奖励系数 β 和预训练损失系数 γ 分别控制 KL 惩罚和预训练梯度的强度。对于“PPO”模型,γ 设置为 0。除非另有说明,在本文中 InstructGPT 指的是 PPO-ptx 模型。
基线。我们将我们的 PPO 模型的性能与我们的 SFT 模型和 GPT-3 进行比较。我们还将其与 GPT-3 在提供少量提示前缀的情况下进行比较,以引导其进入“遵循指示”的模式(GPT-3-prompted)。这个前缀被添加到用户指定的指令之前。
此外,我们还将 InstructGPT 与在 FLAN(Wei 等,2021)和 T0(Sanh 等,2021)数据集上对 175B GPT-3 进行微调进行比较,这两个数据集都包含各种 NLP 任务,以及每个任务的自然语言指令(数据集包含的 NLP 数据集不同,以及使用的指令风格不同)。我们分别在约 100 万个示例上对它们进行微调,并选择在验证集上获得最高奖励模型分数的检查点。更多训练细节请参阅附录 C。
为了评估我们的模型有多么“对齐”,我们首先需要澄清在这个背景下“对齐”是什么意思。历史上,对齐的定义一直是一个模糊而令人困惑的话题,有各种竞争性的提议(Chen等,2021; Leike等,2018; Gabriel,2020)。按照Leike等人(2018)的说法,我们的目标是训练符合用户意图的模型。更实际地说,对于我们的语言任务,我们使用了类似于Askill等人(2021)的框架,他们定义了模型如果有帮助,诚实和无害,那么就是对齐的。
要有帮助,模型应该遵循指示,但也应该从几个快速提示或其他可解释的模式中推断意图,例如“Q:{问题}\nA:”。由于特定提示的意图可能不清楚或模糊,我们依赖于我们的标注者的判断,我们的主要度量标准是标注者的偏好评分。然而,由于我们的标注者不是生成提示的用户,因此用户实际上打算的东西与标注者仅仅阅读提示所认为的东西之间可能存在分歧。
如何衡量纯生成模型的诚实是不清楚的;这需要将模型的实际输出与其对正确输出的“信念”进行比较,而由于该模型是一个大黑匣子,我们无法推断其信念。相反,我们使用两个指标来衡量真实性——模型在封闭域任务中捏造信息的倾向(“幻觉”),以及使用TruthfulQA数据集(Lin等人,2021)。不用说,这只捕捉到了真实性的一小部分。
类似于诚实性,衡量语言模型的伤害也面临着许多挑战。在大多数情况下,语言模型的伤害取决于它们在现实世界中的输出如何使用。例如,一个生成有毒输出的模型在部署的聊天机器人的情况下可能是有害的,但如果用于数据增强以训练更准确的毒性检测模型,则可能是有帮助的。在项目的早期阶段,我们让标注者评估输出是否“可能有害”。然而,我们取消了这一做法,因为它需要对输出最终如何使用进行过多的推测;尤其是因为我们的数据也来自与Playground API接口交互的客户(而不是来自生产用例)。
因此,我们使用一套更具体的代理标准,旨在捕捉部署模型中可能有害的不同行为方面:我们让标注者评估输出是否不适合于客户助手的环境,是否贬低了受保护类别,或者是否包含性或暴力内容。我们还对旨在衡量偏见和毒性的数据集进行了基准测试,例如RealToxicityPrompts(Gehman等人,2020)和CrowS-Pairs(Nangia等人,2020)。
总之,我们可以将我们的定量评估分为两个独立的部分:
API分发上的评估。我们的主要指标是对来自与我们的训练分布相同来源的一组保留提示的人类偏好评分。在使用API提示进行评估时,我们只选择我们未包含在训练中的客户的提示。然而,鉴于我们的训练提示是设计用于与InstructGPT模型一起使用的,它们很可能会对GPT-3基线造成不利影响。因此,我们还评估了提交给API上的GPT-3模型的提示;这些提示通常不是以“遵循指示”风格的,而是专门为GPT-3设计的。在这两种情况下,对于每个模型,我们计算其输出相对于基线策略的偏好频率;我们选择我们的175B SFT模型作为基线,因为它的性能接近中间水平。此外,我们要求标注者根据1-7 Likert量表对每个响应的整体质量进行评判,并收集每个模型输出的一系列元数据(见表3)。
公共NLP数据集的评估。我们在两种类型的公共数据集上进行评估:一种捕捉语言模型安全性方面的数据集,特别是真实性、毒性和偏见,另一种捕捉传统NLP任务的零样本性能,如问答、阅读理解和摘要。我们还在RealToxicityPrompts数据集上进行毒性的人类评估。我们将释放我们模型在所有基于抽样的NLP任务中的样本。
4 结果
在本节中,我们提供了我们在第1节中所述主张的实验证据,分为三个部分:API提示分发结果、公共NLP数据集结果和定性结果。
4.1 API分发结果
标注人员明显更喜欢InstructGPT的输出,而不是来自GPT-3的输出。在我们的提示测试集上,我们的标注人员在各个模型大小上明显更喜欢InstructGPT的输出。这些结果如图1所示。我们发现,GPT-3的输出表现最差,通过使用精心设计的少量样本提示(GPT-3(提示)),然后通过使用监督学习中的演示进行训练(SFT),最后通过使用PPO训练比较数据,可以获得显著的步长改进。在PPO期间添加有关预训练混合的更新并不会导致标注人员偏好发生很大变化。为了说明我们的增益幅度:直接比较时,175B InstructGPT的输出被优先选择而不是GPT-3的输出,这种情况发生了85 ± 3%的时间,并且在大约71 ± 4%的时间内优先选择少样本的GPT-3。
我们还发现,当在提交给API上的GPT-3模型的提示上进行评估时,我们的结果没有显著变化(见图3),尽管我们的PPO-ptx模型在更大的模型大小上略显不如。
在图4中,我们展示了标注人员还会根据几个更具体的方面对InstructGPT的输出进行评分。具体来说,与GPT-3相比,InstructGPT的输出更适合在客户助手的背景下使用,更经常遵循指令中定义的明确约束(例如,“用2段或更少的段落写下你的答案”),更不太可能完全不遵循正确的指令,并且在封闭领域任务中更少地虚构事实(“幻觉”)。这些结果表明,InstructGPT模型比GPT-3更可靠且更容易控制。
我们发现我们的API中的其他元数据类别发生得太少,无法在我们的模型之间获得统计显著差异。我们的模型可以推广到没有生成任何训练数据的“保留”标注人员的偏好。保留标注人员具有与我们用来生成训练数据的工人相似的排名偏好(见图3)。特别是,根据保留工人的说法,我们所有的InstructGPT模型仍然远远优于GPT-3基线。因此,我们的InstructGPT模型并不简单地过度拟合到我们训练标注人员的偏好上。
我们从我们的奖励模型的泛化能力进一步证实了这一点。我们进行了一个实验,将我们的标注人员分为5组,并使用5倍交叉验证训练了5个RM(使用3个不同的种子),其中4个组用于训练,一个组用于评估。这些RM在预测保留组标注人员偏好的准确率为69.6 ± 0.9%,与它们在训练集中预测标注人员偏好的准确率72.4 ± 0.4%相比略有下降。
公共NLP数据集并不反映我们的语言模型的使用方式。在图5中,我们还将InstructGPT与我们在FLAN(Wei等,2021)和T0(Sanh等,2021)数据集上进行微调的175B GPT-3基线进行了比较(详情请参见附录C)。我们发现这些模型的性能优于GPT-3,与选择良好的提示的GPT-3相当,但比我们的SFT基线差。这表明这些数据集不足以多样化,以改善我们的API提示分布上的性能。在直接比较中,我们的175B InstructGPT模型输出在78 ± 4%的时间内优于我们的FLAN模型,并在79 ± 4%的时间内优于我们的T0模型。这些模型的Likert分数显示在图5中。
我们认为我们的InstructGPT模型优于FLAN和T0有两个原因。首先,公共NLP数据集旨在捕获易于使用自动指标进行评估的任务,例如分类、问答,以及在一定程度上的摘要和翻译。然而,分类和问答只占我们语言模型API客户使用的内容的一小部分(约18%),而根据标签人员的说法,开放式生成和头脑风暴约占我们提示数据集的57%(见表1)。其次,公共NLP数据集很难获得非常高的输入多样性(至少是在真实用户感兴趣的输入类型)。当然,NLP数据集中的任务确实代表了我们希望语言模型能够解决的一种指示类型,因此最广泛类型的指示跟随模型将结合这两种类型的数据集。
根据Lin等人(2021)的方法,我们还提供了一个有益的“指令+问答”提示,指示模型在不确定正确答案时回复“我没有评论”。在这种情况下,我们的PPO模型更倾向于真实和不具信息性,而不是自信地说出错误的言论;而基线的GPT-3模型在这方面则不如我们的模型表现得好。
我们的真实性改进还表现在我们的PPO模型在来自API分布的封闭领域任务中更少地出现幻觉(即虚构信息),我们在图4中展示了这一点。
InstructGPT在毒性方面比GPT-3有小幅改进,但偏见方面没有改进。我们首先在RealToxicityPrompts数据集上评估我们的模型(Gehman等人,2020)。我们有两种方法进行评估:我们通过Perspective API对模型样本进行评估,以获得自动毒性分数,这是该数据集的标准评估过程,并且我们还将这些样本发送给标记者,以获得有关绝对毒性、相对于提示的毒性、连续性和整体输出偏好的评级。我们根据提示的毒性均匀采样该数据集的提示,以更好地评估我们的模型在高输入毒性下的表现(见附录E中的图39);这与该数据集的标准提示采样不同,因此我们的绝对毒性数字会被夸大。
我们的结果如图7所示。我们发现,当被指示生成安全和尊重的输出(“尊重提示”)时,InstructGPT模型生成的毒性输出比来自GPT-3的输出更少,根据Perspective API的评估。当删除尊重提示(“没有提示”)时,这种优势消失了。有趣的是,当明确要求生成毒性输出时,InstructGPT输出比来自GPT-3的输出毒性更高(见图39)。
这些结果在我们的人工评估中得到了确认:在“尊重提示”设置中,InstructGPT比GPT-3更少毒性,但在“没有提示”设置中表现类似。我们在附录E中提供了更详细的结果。总结起来:我们的所有模型都被评为比预期更少毒性(它们在-1到1的范围内获得负分,其中0表示“如预期的毒性”)。我们的SFT基线在所有模型中的毒性最低,但连续性最低,并且在我们的排名中最不受欢迎,这可能表明该模型生成的响应非常简短或者是退化的。
为了评估模型产生偏见性言论的倾向(请参阅附录E),我们还在Winogender(Rudinger等人,2018)和CrowS-Pairs(Nangia等人,2020)数据集的修改版本上对InstructGPT进行了评估。这些数据集包含可以突显潜在偏见的句子对。我们计算了每对句子产生的相对概率和相关二进制概率分布的熵(以比特为单位)。完全没有偏见的模型将对每对句子都没有偏好,因此其熵最大。按照这个标准,我们的模型的偏见性不比GPT-3小。PPO-ptx模型显示出与GPT-3类似的偏见,但在被告知尊重的情况下,其熵较低,因此偏见性较高。偏见的模式并不清楚;似乎被告知的模型更确信其输出,无论其输出是否展示了典型的行为。
我们可以通过修改我们的RLHF微调程序来最小化在公共NLP数据集上的性能退化。默认情况下,当我们在API分布上训练PPO模型时,它会遭受“对齐税”,因为它在几个公共NLP数据集上的性能会降低。我们希望有一个避免对齐税的对齐程序,因为它会激励使用未对齐但在这些任务上更有能力的模型。
在图29中,我们展示了将预训练更新添加到我们的PPO微调(PPO-ptx)中,可以减轻所有数据集上的性能退化,并且甚至在HellaSwag上超越了GPT-3。PPO-ptx模型的性能仍然落后于GPT-3在DROP、SQuADv2和翻译方面;需要更多的工作来研究和进一步消除这些性能退化。
将预训练更新混合到微调中的做法比简单增加KL系数的解决方案效果更好。在图33中,我们展示了存在一个预训练混合系数的值,既可以消除SQuADv2和DROP上的性能退化(我们用于测试的数据集),又在验证奖励上减少最小。相反,增加KL系数(图34)会导致验证奖励显著下降,并且在DROP和SQuAD上永远无法完全恢复。将KL模型从PPO初始化更改为GPT-3会产生类似的结果。
InstructGPT模型展示了在RLHF微调分布之外的指令上的良好泛化能力。特别是,我们发现InstructGPT能够在非英语语言中遵循指令,并执行代码的摘要和问答任务。这很有趣,因为非英语语言和代码只占我们微调数据的很小一部分,而且这表明,在某些情况下,对齐方法可能会推广到在人类没有直接监督的输入上产生所需行为。
我们没有定量跟踪这些行为,但在图8中展示了一些定性示例。我们的175B PPO-ptx模型能够可靠地回答关于代码的问题,并且也可以遵循其他语言的指令;然而,我们注意到,即使指令是在其他语言中,它通常也会产生英文输出。相比之下,我们发现GPT-3可以执行这些任务,但需要更仔细的提示,并且很少遵循这些领域的指令。
InstructGPT仍然会犯简单的错误。与我们的175B PPO-ptx模型交互时,我们注意到它有时会犯简单的错误,尽管在许多不同的语言任务上表现出色。举几个例子:(1)当给出一个带有错误前提的指令时,模型有时会错误地假设前提是真实的,(2)模型可能过度含糊;当给出一个简单的问题时,有时会说这个问题没有一个答案,并给出多个可能的答案,即使从上下文中有一个相当清晰的答案,(3)当指令包含多个显式约束(例如“列出在20世纪30年代制作的10部设在法国的电影”)或当约束对语言模型具有挑战性时(例如在指定数量的句子中写摘要),模型的性能会下降。
我们在图9中展示了这些行为的一些示例。我们怀疑行为(2)的出现部分是因为我们指示标注者奖励认识论谦逊;因此,他们可能倾向于奖励使用含糊语言的输出,而这被我们的奖励模型所捕捉到。我们怀疑行为(1)的发生是因为训练集中几乎没有假设错误前提的提示,而我们的模型不太适用于这些示例。我们相信这两种行为都可以通过对抗数据收集(Dinan等人,2019b)来大幅减少。
5.1 对齐研究的意义
这项研究是我们更广泛研究计划的一部分,旨在使AI系统与人类意图保持一致(Christiano等,2017;Ziegler等,2019;Stiennon等,2020)。尽管这项工作侧重于我们当前的语言模型系统,但我们寻求一种通用且可扩展的方法,适用于未来的AI系统(Leike等,2018)。我们在这里使用的系统仍然相当有限,但它们是当今最大的语言模型之一,并且我们将它们应用于广泛的语言任务,包括分类、摘要、问答、创意写作、对话等。
我们在这项工作中的对齐研究方法是迭代的:我们正在改进当前AI系统的对齐性,而不是抽象地专注于对齐尚不存在的AI系统(Bostrom,2014)。这种方法的一个缺点是,我们没有直接面对只有在对齐超人类系统时才会出现的对齐问题。但是,我们的方法提供了一个清晰的实证反馈循环,可以告诉我们什么有效、什么无效。我们认为这种反馈循环对于改进我们的对齐技术至关重要,并且迫使我们跟上机器学习的进展。此外,我们在这里使用的对齐技术,RLHF,在几个对齐超人类系统的提议中是一个重要的组成部分(Leike等,2018;Irving等,2018;Christiano等,2018)。例如,RLHF是最近一项关于总结书籍的工作中的一个核心方法,这项任务展示了对齐超人类AI系统的一些困难,因为很难直接由人类评估(Wu等,2021)。
从这项工作中,我们可以得出以下关于对齐研究的一般性教训:
- 相对于预训练,提高模型对齐性的成本是适度的。我们收集数据的成本以及用于训练运行的计算量,包括实验运行,仅占训练GPT-3所花费的一小部分:我们的175B SFT模型的训练需要4.9 petaflops/s-days,而我们的175B PPO-ptx模型的训练则需要60 petaflops/s-days,而GPT-3的训练需要3,640 petaflops/s-days(Brown等,2020)。同时,我们的结果表明,RLHF在使语言模型更有帮助的方面非常有效,比增加100倍的模型大小更为有效。这表明,目前增加对现有语言模型的对齐性的投资比训练更大的模型更具成本效益——至少对于我们的客户的自然语言任务分布来说是这样。
- 我们已经看到一些证据表明InstructGPT可以将“遵循指示”的能力推广到我们没有监督的设置中,例如非英语语言任务和与代码相关的任务。这是一个重要的特性,因为让人类在每个任务上都对模型进行监督是成本高昂的。需要更多的研究来研究这种泛化随着能力增加而如何扩展;有关这方面的最新研究,请参见Christiano等(2021)。
- 我们能够减轻由我们的微调引入的大部分性能降级。如果情况不是这样,这些性能降级将构成一种对齐税——对齐模型的额外成本。任何具有高税收的技术可能不会被采用。为了避免未来高度能力的AI系统选择保持不对齐与人类
5.3 限制
方法论。我们的InstructGPT模型的行为在一定程度上取决于我们从承包商那里获得的人类反馈。一些标注任务依赖于价值判断,这可能受到承包商的身份、信念、文化背景和个人经历的影响。我们雇用了约40名承包商,根据他们在一个旨在评估他们如何识别和回应敏感提示的筛选测试中的表现以及他们在一个带有详细说明的标注任务上与研究人员的一致率来指导他们(详见附录B)。我们将承包商团队保持在较小规模,因为这有助于与一个较小的全职承包商团队进行高带宽的沟通。然而,这个团队显然并不代表将使用并受到我们部署的模型影响的所有人的全谱。简单来说,我们的标注人员主要是以英语为母语的,而我们的数据几乎完全由英文说明组成。
我们的数据收集设置还有许多改进的方式。例如,由于成本原因,大多数比较只由一个承包商进行标注。多次对示例进行标注可以帮助确定承包商意见不一致的领域,因此一个单一模型不太可能与所有人一致。在意见不一致的情况下,将模型与平均标注人偏好对齐可能并不理想。例如,在生成对少数群体影响较大的文本时,我们可能希望该群体的标注人的偏好更加重要。
模型。我们的模型既不是完全对齐的,也不是完全安全的;它们仍然会生成有毒或有偏见的输出,编造事实,并在没有明确提示的情况下生成性和暴力内容。它们也可能在一些输入上无法生成合理的输出;我们在图9中展示了一些示例。
也许我们模型最大的限制在于,在大多数情况下,它们会遵循用户的指示,即使这可能会在现实世界中导致伤害。例如,当给定一个提示,要求模型最大程度地偏见时,InstructGPT生成的毒性输出比同样大小的GPT-3模型更多。我们在接下来的章节中讨论了潜在的缓解措施。
5.4 未解之谜
这项工作是利用对齐技术对语言模型进行微调,使其遵循各种指令的第一步。有许多未解之谜需要探索,以进一步使语言模型的行为与人们实际想要的一致。
有许多方法可以尝试进一步减少模型生成有毒、有偏见或其他有害输出的倾向。例如,可以使用对抗设置,标注者发现模型的最坏行为,然后对其进行标注并添加到数据集中。还可以将我们的方法与过滤预训练数据的方式结合起来,无论是用于训练初始预训练模型,还是用于我们的预训练混合方法中。同样,可以将我们的方法与改进模型真实性的方法结合,如WebGPT。
在这项工作中,如果用户请求潜在有害或不诚实的响应,我们允许我们的模型生成这些输出。训练我们的模型尽管用户指示但仍无害是重要的,但也很困难,因为一个输出是否有害取决于部署的上下文;例如,将语言模型用于生成有毒输出作为数据增强流水线的一部分可能是有益的。我们的技术也可以应用于使模型拒绝某些用户指令,并且我们计划在此研究的后续迭代中探索这一点。
让模型做我们想要的事情与可操纵性和可控性文献直接相关。一个有希望的未来路径是将RLHF与其他操纵性方法结合起来,例如使用控制代码,或者在推断时使用较小的模型修改采样过程。
虽然我们主要关注RLHF,但还有许多其他算法可以用于在我们的示范和比较数据上训练策略,以获得更好的结果。例如,可以探索专家迭代,或者使用比较数据的子集的更简单的行为克隆方法。还可以尝试约束优化方法,该方法最大化受到奖励模型条件约束的生成少量有害行为的分数。
比较也不一定是提供对齐信号的最有效方式。例如,我们可以让标注者编辑模型响应以使其更好,或者生成对模型响应的自然语言批评。设计标注者与语言模型提供反馈的界面有许多选择,这是一个有趣的人机交互问题。
我们提出的减轻对齐税的方法,通过将预训练数据合并到RLHF微调中,虽然不能完全消除性能下降,但可能会使某些任务中的某些不良行为更有可能出现(如果这些行为存在于预训练数据中)。这是一个有趣的进一步研究领域。另一个可能改进我们方法的修改是过滤预训练混合数据中的有毒内容,或者用合成指令增加此数据。
正如Gabriel(2020)中详细讨论的那样,对齐到指令、意图、显性偏好、理想偏好、利益和价值之间存在微妙的差异。Gabriel(2020)主张采用基于原则的对齐方法:换句话说,确定“公平对齐原则,尽管人们的道德信仰存在广泛变化,但这些原则得到了反思认可。”在我们的论文中,为简单起见,我们对推断出的用户意图进行对齐,但在这个领域还需要进行更多的研究。事实上,最大的未解之谜之一是如何设计一个透明的对齐过程,能够有意义地代表受到技术影响的人们,并且以一种能够在许多群体中获得广泛共识的方式综合人们的价值观。我们在第5.2节中讨论了一些相关的考虑。
这项工作的动机是通过训练语言模型执行一组特定人类期望的任务,从而增加大型语言模型的积极影响。默认情况下,语言模型优化下一个词预测的目标,这只是我们希望这些模型执行的任务的代理。我们的结果表明,我们的技术有望使语言模型更有帮助、更真实和更无害。从长远来看,如果对齐失败,可能会导致更严重的后果,特别是如果这些模型在安全关键情况下部署。我们预计,随着模型规模的持续扩大,必须更加谨慎地确保它们与人类意图对齐。
然而,让语言模型更擅长遵循用户意图也会使它们更容易被滥用。使用这些模型生成具有说服力的虚假信息、仇恨性或辱骂性内容可能会更容易。
对齐技术并非解决大型语言模型安全问题的万灵药;相反,它们应该作为更广泛安全生态系统中的一个工具。除了故意的滥用之外,还有许多领域的大型语言模型应该只在极度谨慎或根本不使用的情况下部署。例如,高风险领域,如医学诊断、基于受保护特征对人进行分类、确定信用、就业或住房资格、生成政治广告和执法。如果这些模型是开源的,那么在没有适当监管的情况下,很难限制这些和其他领域中的有害应用。另一方面,如果大型语言模型的访问权限受限于少数具有培训这些模型所需资源的组织,则这将排除大多数人无法获得尖端的机器学习技术。另一个选择是让一个组织拥有模型部署的端到端基础设施,并通过 API 提供访问。这允许实施安全协议,如用例限制(仅允许模型用于某些应用程序)、监视滥用行为并撤销滥用系统的访问权限,以及速率限制以防止生成大规模的虚假信息。然而,这可能会以降低透明度和增加权力集中化为代价,因为它需要 API 提供者对每个问题的决策做出决策。
最后,正如在第5.2节中讨论的那样,这些模型对齐到谁的问题非常重要,并且将极大地影响这些模型的净影响是积极还是消极。
致谢
首先,我们要感谢OpenAI的Lilian Weng、Jason Kwon、Boris Power、Che Chang、Josh Achiam、Steven Adler、Gretchen Krueger、Miles Brundage、Tyna Eloundou、Gillian Hadfield、Irene Soliaman、Christy Dennison、Daniel Ziegler、William Saunders、Beth Barnes、Cathy Yeh、Nick Cammaratta、Jonathan Ward、Matt Knight、Pranav Shyam、Alec Radford等人,在项目进行过程中的讨论帮助塑造了我们的研究方向。我们感谢Brian Green、Irina Raicu、Subbu Vincent、Varoon Mathur、Kate Crawford、Su Lin Blodgett、Bertie Vidgen和Paul Röttger对我们方法的讨论和反馈。最后,我们还要感谢Sam Bowman、Matthew Rahtz、Ben Mann、Liam Fedus、Helen Ngo、Josh Achiam、Leo Gao、Jared Kaplan、Cathy Yeh、Miles Brundage、Gillian Hadfield、Cooper Raterink、Gretchen Krueger、Tyna Eloundou、Rafal Jakubanis和Steven Adler对本文提供的反馈。我们还要感谢Owain Evans和Stephanie Lin指出了自动TruthfulQA指标夸大了我们的PPO模型收益的事实。
感谢那些以各种方式为我们训练和部署模型的基础设施做出贡献的人,包括:Daniel Ziegler、William Saunders、Brooke Chan、Dave Cummings、Chris Hesse、Shantanu Jain、Michael Petrov、Greg Brockman、Felipe Such、Alethea Power和整个OpenAI超级计算团队。我们还要感谢Suchir Balaji在重新校准方面的帮助,以及Alper Ercetin和Justin Wang在本文中设计主要图表的贡献,以及OpenAI通信团队在发布方面的帮助,包括:Steve Dowling、Hannah Wong、Natalie Summers和Elie Georges。
最后,我们要感谢我们的标注员,没有他们,这项工作就不可能完成:Meave Fryer、Sara Tirmizi、James Carroll、Jian Ouyang、Michelle Brothers、Conor Agnew、Joe Kwon、John Morton、Emma Duncan、Delia Randolph、Kaylee Weeks、Alexej Savreux、Siam Ahsan、Rashed Sorwar、Atresha Singh、Muhaiminul Rukshat、Caroline Oliveira、Juan Pablo Castaño Rendón、Atqiya Abida Anjum、Tinashe Mapolisa、Celeste Fejzo、Caio Oleskovicz、Salahuddin Ahmed、Elena Green、Ben Harmelin、Vladan Djordjevic、Victoria Ebbets、Melissa Mejia、Emill Jayson Caypuno、Rachelle Froyalde、Russell M. Bernandez、Jennifer Brillo、Jacob Bryan、Carla Rodriguez、Evgeniya Rabinovich、Morris Stuttard、Rachelle Froyalde、Roxanne Addison、Sarah Nogly和Chait Singh。