Training language models to follow instructions with human feedback
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!
NeurIPS 2022
Abstract
将语言模型做得更大并不能从本质上使它们更好地遵循用户的意图。例如,大型语言模型可能生成不真实、有害或对用户毫无帮助的输出。换句话说,这些模型与其用户不一致。在本文中,我们展示了一种通过对人类反馈进行微调,使语言模型与用户在广泛任务中的意图保持一致的途径。从一组标注器编写的提示和通过OpenAI API提交的提示开始,我们收集了所需模型行为的标注器演示数据集,我们使用该数据集使用监督学习来微调GPT-3。然后,我们收集了一个模型输出排名的数据集,我们使用它来使用来自人类反馈的强化学习来进一步微调这个监督模型。我们将生成的模型称为InstructGPT。在对我们的即时分布进行人工评估时,1.3B参数InstructGPT模型的输出优于175B GPT-3的输出,尽管参数减少了100倍。此外,InstructGPT模型显示了真实性的提高和有毒输出生成的减少,同时在公共NLP数据集上具有最小的性能回归。尽管InstructGPT仍然会犯一些简单的错误,但我们的研究结果表明,利用人类反馈进行微调是使语言模型与人类意图相一致的一个很有前途的方向。
1 Introduction
大型语言模型(LM)可以被“提示”执行一系列自然语言处理(NLP)任务,给出了一些作为输入的任务示例。然而,这些模型往往表现出意想不到的行为,如编造事实、生成有偏见或有毒的文本,或者根本不遵循用户指令(Bender et al.,2021;Bommasani et al.,2021;Kenton et al.,2021;Weidinger et al.,2021;Tamkin et al.,2021;Gehman et al.,2020)。这是因为最近许多大型LM使用的语言建模目标——预测互联网网页上的下一个令牌——与“帮助和安全地遵循用户的指示”的目标不同(Radford et al.,2019;Brown et al.,2020;Fedus et al.,2021;Rae et al.,2021;Thoppilan et al.,2022)。因此,我们认为语言建模的目标是错位的。避免这些意外行为对于在数百个应用程序中部署和使用的语言模型来说尤其重要。
我们通过训练语言模型按照用户的意图行事,在调整语言模型方面取得了进展(Leike et al.,2018)。这既包括明确的意图,如遵循指示,也包括隐含的意图,例如保持真实,不带偏见、有毒或其他有害因素。使用Askell等人(2021)的语言,我们希望语言模型是有用的(它们应该帮助用户解决任务)、诚实的(它们不应该编造信息或误导用户)和无害的(它们不会对人或环境造成身体、心理或社会伤害)。我们在第3.6节中详细阐述了对这些标准的评估。
我们专注于调整语言模型的微调方法。具体而言,我们使用来自人类反馈的强化学习(RLHF;Christiano et al.,2017;Stiennon et al.,2020)来微调GPT-3,以遵循广泛的书面指令(见图2)。这项技术使用人类的偏好作为奖励信号来微调我们的模型。我们首先雇佣了一个由40名承包商组成的团队,根据他们在筛选测试中的表现为我们的数据贴上标注(更多详细信息,请参阅第3.4节和附录B.1)。然后,我们收集了一个数据集,其中包含为所需输出行为提交给OpenAI API3的提示(主要是英语)的人工书面演示和一些标注器编写提示,并使用它来训练我们的监督学习基准。接下来,我们在一组更大的API提示上收集模型输出之间的人工标注比较数据集。然后,我们在这个数据集上训练一个奖励模型(RM),以预测我们的标注者更喜欢哪个模型输出。最后,我们使用该RM作为奖励函数,并使用PPO算法(Schulman et al.,2017)微调我们的监督学习基准,以最大化该奖励。我们在图2中说明了这个过程。该程序将GPT-3的行为与特定人群(主要是我们的标注制定者和研究人员)的既定偏好相一致,而不是与任何更广泛的“人类价值观”概念相一致;我们将在第5.2节对此进行进一步讨论。我们将生成的模型称为InstructGPT。
我们主要通过让我们的标注人员对测试集上的模型输出质量进行评分来评估我们的模型,测试集由留出(held-out)用户(他们在训练数据中没有出现)的提示组成。我们还对一系列公共NLP数据集进行了自动评估。我们训练三种模型大小(1.3B、6B和175B参数),并且我们所有的模型都使用GPT-3架构。我们的主要发现如下:
Labelers significantly prefer InstructGPT outputs over outputs from GPT-3. 在我们的测试集中,1.3B参数InstructGPT模型的输出优先于175B GPT-3的输出,尽管参数减少了100倍以上。这些模型具有相同的结构,不同之处仅在于InstructGPT对我们的人类数据进行了微调。即使我们在GPT-3中添加了一些小样本提示,使其更好地执行指令,这个结果仍然成立。175B InstructGPT的输出在85±3%的时间里优于175B GPT-3的输出,在71±4%的时间里优于小样本175B GPT-3。InstructGPT模型还根据我们的标注人员生成更合适的输出,并更可靠地遵循指令中的明确约束。
InstructGPT models show improvements in truthfulness over GPT-3. 在TruthfulQA基准测试中,InstructGPT生成真实且信息丰富的答案的频率大约是GPT-3的两倍。我们的结果在没有针对GPT-3进行对抗性选择的问题子集上同样有力。在API提示分发的“封闭域”任务中,输出不应包含输入中不存在的信息(例如摘要和封闭域QA),InstructGPT模型构成输入中不出现的信息的频率约为GPT-3的一半(幻觉率分别为21%和41%)。
InstructGPT shows small improvements in toxicity over GPT-3, but not bias. 为了测量毒性,我们使用RealToxicityPrompts数据集(Gehman et al.,2020),并进行自动和人类评估。当被提示要尊重时,InstructGPT模型产生的毒性输出比GPT-3少约25%。在Winogender(Rudinger et al.,2018)和CrowSPairs(Nangia et al.,2020)数据集上,InstructGPT与GPT-3相比没有显著改善。
We can minimize performance regressions on public NLP datasets by modifying our RLHF fine-tuning procedure. 在RLHF微调期间,我们在某些公共NLP数据集上观察到与GPT-3相比的性能回归,特别是SQuAD(Rajpurkar et al.,2018)、DROP(Dua et al.,2019)、HellaSwag(Zellers et al.,2019)和WMT 2015法语到英语翻译(Bojar et al.,2015)。这是“调整税”的一个例子,因为我们的调整程序是以降低我们可能关心的某些任务的性能为代价的。我们可以通过将PPO更新与增加预训练分布的对数可能性的更新混合在一起(PPO-ptx),在不影响标注偏好得分的情况下,大大减少这些数据集上的性能回归。
Our models generalize to the preferences of “held-out” labelers that did not produce any training data. 为了测试我们模型的泛化能力,我们对留出标注人员进行了初步实验,发现他们更喜欢InstructGPT输出,而不是GPT-3的输出,其速率与我们的训练标注人员大致相同。然而,还需要更多的工作来研究这些模型在更广泛的用户群体中的表现,以及它们在人类对所需行为不一致的输入中的表现。
Public NLP datasets are not reflective of how our language models are used. 我们比较了在人类偏好数据(即InstructGPT)上微调的GPT-3与在两种不同的公共NLP任务汇编上微调的GPT-3:FLAN(Wei et al.,2021)和T0(Sanh et al.,2021)(特别是T0++变体)。这些数据集由各种NLP任务组成,并结合了每个任务的自然语言指令。在我们的API提示分发中,我们的FLAN和T0模型的表现略差于我们的SFT基准,标注者明显更喜欢InstructGPT而不是这些模型(与我们的基准相比,InstructGPT的胜率为73.4±2%,而我们的T0和FLAN版本的胜率分别为26.8±2%和29.8±2%)。
InstructGPT models show promising generalization to instructions outside of the RLHF finetuning distribution. 我们对InstructGPT的功能进行了定性研究,发现它能够遵循总结代码的指令,回答有关代码的问题,有时还会遵循不同语言的指令,尽管这些指令在微调分布中非常罕见。相比之下,GPT-3可以执行这些任务,但需要更仔细的提示,并且通常不遵循这些域中的指示。这一结果令人兴奋,因为它表明我们的模型能够概括“遵循指令”的概念。即使在几乎没有直接监督信号的任务中,它们也能保持一定的一致性。
InstructGPT still makes simple mistakes. 例如,InstructGPT仍然可能无法遵循指令,编造事实,对简单问题给出多头套期保值(long hedging)答案,或者无法检测到具有虚假前提的指令。
总体而言,我们的研究结果表明,使用人类偏好对大型语言模型进行微调,可以显著改善他们在各种任务中的行为,尽管要提高其安全性和可靠性,还有很多工作要做。
本文的其余部分结构如下:我们首先在第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)。
3 具体而言,我们根据提交给OpenAI API Playground上早期版本的InstructGPT模型的提示进行训练,这些模型仅使用演示数据进行训练。我们过滤掉包含PII的提示。
2 Related work
Research on alignment and learning from human feedback. 我们在先前技术的基础上,将模型与人类意图相一致,特别是从人类反馈中进行强化学习(RLHF)。最初是为在模拟环境和Atari游戏中训练简单机器人而开发的(Christiano et al.,2017;Ibarz et al.,2018),最近被应用于微调语言模型以总结文本(Ziegler et al.,2019;Stiennon et al.,2020;Böhm et al.,2019;Wu et al.,2021)。这项工作反过来又受到了类似工作的影响,这些工作使用人类反馈作为对话(Jaques et al.,2019;Yi et al.,2019;Hancock et al.,2019)、翻译(Kreutzer et al.,2018;Bahdanau et al.,2016)、语义解析(Lawrence and Riezler,2018)、故事生成(Zhou and Xu,2020)、评论生成(Cho et al.,2018)和证据提取(Perez et al.,2019)领域的奖励。Madaan等人(2022)使用书写的人类反馈来增强提示并提高GPT-3的性能。也有人使用RL将基于文本的环境中的智能体与规范先验进行比对(Nahian et al.,2021)。我们的工作可以被视为RLHF在广泛分布的语言任务中对语言模型的直接应用。
语言模型对齐意味着什么的问题最近也受到了关注(Gabriel,2020)。Kenton等人(2021)列举了因错位而导致的LM行为问题,包括产生有害内容和游戏错误指定的目标。在并行工作中,Askell等人(2021)提出将语言助手作为对齐研究的试验台,研究一些简单的基准及其缩放特性。
Training language models to follow instructions. 我们的工作还涉及语言模型中跨任务泛化的研究,其中LM在广泛的公共NLP数据集上进行微调(通常以适当的指令为前缀),并在不同的NLP任务集上进行评估。在这个领域已经有了一系列的工作(Yi et al.,2019;Mishra et al.,2021;Wei et al.,2020;Khashabi et al.,2020;Sanh et al.,2021;Aribandi et al.,2021),这些工作在训练和评估数据、指令格式、预训练模型的大小和其他实验细节方面有所不同。研究中的一个一致发现是,在一系列NLP任务上,通过指令对LM进行微调,提高了它们在零样本和小样本设置下在留出任务上的下游性能。
在导航的指令遵循方面也有相关的工作,其中模型被训练为遵循自然语言指令在模拟环境中导航(Bahdanau et al.,2018;Abramson et al.,2020;Zhao et al.,2021)。
Evaluating the harms of language models. 修改语言模型行为的目的是在现实世界中部署这些模型时减轻它们的危害。这些风险已被广泛记录(Bender et al.,2021;Bommasani et al.,2021;Kenton et al.,2021,Weidinger et al.,2021和Tamkin et al.,2021)。语言模型可能产生有偏见的输出(Dhamala et al.,2021;Liang et al.,2021;Manela et al.,2021;Caliskan et al.,2017;Kirk et al.,2021),泄露私人数据(Carlini et al.,2020),产生错误信息(Solaiman et al.,2019;Buchanan et al.,2022),并被恶意使用;为了进行全面的回顾,我们将读者引向Weidinger等人(2021)。在特定领域部署语言模型会带来新的风险和挑战,例如在对话系统中(Henderson et al.,2018;Xu et al.,2020;Dinan et al.,2019b)。有一个新兴但不断发展的领域旨在建立基准来具体评估这些危害,特别是围绕毒性(Gehman et al.,2020)、刻板印象(Nadeem et al.,2020)和社会偏见(Dhamala et al.,2021;Nangia et al.,2020;Rudinger et al.,2018)。在这些问题上取得重大进展是困难的,因为对LM行为的善意干预可能会产生副作用(Welbl et al.,2021;Blodgett et al.,2020);例如,由于训练数据中的不利相关性,降低LM毒性的努力可能会降低它们对代表性不足群体的文本建模的能力(Xu et al.,2021)。
Modifying the behavior of language models to mitigate harms. 有很多方法可以改变语言模型的生成行为。Solaiman和Dennison (2021)在一个小型的、以价值为目标的数据集上微调LM,这提高了模型在问答任务中遵守这些价值的能力。Ngo等人(2021)通过删除语言模型生成一组研究人员编写的触发短语的条件可能性很高的文档来过滤预训练数据集。当在这个过滤后的数据集上训练时,他们的LM生成的有害文本较少,代价是语言建模性能略有下降。Xu等人(2020)使用多种方法来提高聊天机器人的安全性,包括数据过滤、在生成过程中屏蔽某些单词或n-gram、特定于安全的控制令牌(Keskar et al.,2019;Dinan et al.,2019a)和人在环数据收集(Dinan et al.,2019b)。减轻LM产生的偏差的其他方法使用单词嵌入正则化(Liu et al.,2019;Huang et al.,2017)、数据扩充(Liu et al.,2019;Dinan et al.,2019a;Sheng et al., 2019)、零空间投影以使敏感令牌上的分布更均匀(Liang et al.,2021)、不同的目标函数,或因果中介分析(Vig et al.,2020)。还有一些工作是使用第二个(通常较小的)语言模型来指导语言模型的生成(Dathathri et al.,2019;Krause et al.,2020),这一想法的变体已被应用于降低语言模型的毒性(Schick et al.,2021)。
3 Methods and experimental details
3.1 High-level methodology
我们的方法遵循Ziegler等人(2019)和Stiennon等人(2020)的方法,他们将其应用于文体延续和总结领域。我们从一个预先训练的语言模型开始(Radford et al.,2019;Brown et al.,2020;Fedus et al.,2021;Rae et al.,2021;Thoppilan et al.,2022),一个我们希望我们的模型在其上产生一致输出的提示分布,以及一个经过训练的人类标注者团队(详见第3.4节)。然后,我们应用以下三个步骤(图2)。
Step 1: Collect demonstration data, and train a supervised policy. 我们的标注器在输入提示分布上提供了所需行为的演示(有关此分布的详细信息,请参阅第3.2节)。然后,我们使用监督学习在此数据上微调预训练的GPT-3模型。
Step 2: Collect comparison data, and train a reward model. 我们收集了一个模型输出之间的比较数据集,其中标注器指示他们对给定输入更喜欢哪个输出。然后,我们训练一个奖励模型来预测人类偏好的输出。
Step 3: Optimize a policy against the reward model using PPO. 我们使用RM的输出作为标量奖励。我们使用PPO算法(Schulman et al.,2017)对监督策略进行微调,以优化该奖励。
步骤2和步骤3可以连续迭代;收集关于当前最佳策略的更多比较数据,该最优策略用于训练新RM,然后训练新策略。在实践中,我们的大多数比较数据来自我们的监督策略,有些来自我们的PPO策略。
3.2 Dataset
我们的提示数据集主要由提交给OpenAI API的文本提示组成,特别是那些在Playground界面4上使用早期版本的InstructGPT模型(通过对我们的演示数据子集进行监督学习进行训练)的客户。使用Playground的客户被告知,他们的数据可以在任何时候使用InstructGPT模型时通过重复通知用于训练进一步的模型。在本文中,我们不使用来自在生产中使用API的客户的数据。我们通过检查共享长公共前缀的提示来启发式地消除重复提示,并将每个用户ID的提示数量限制为200个。我们还基于用户ID创建训练、验证和测试拆分,以便验证和测试集不包含数据在训练集中的用户的数据。为了避免模型学习潜在的敏感客户详细信息,我们在训练拆分中过滤所有提示,以获取个人身份信息(PII)。
为了训练最早的InstructGPT模型,我们要求标注人员自己编写提示。这是因为我们需要一个类似指令的提示的初始来源来引导进程,而这些类型的提示并不经常提交给API上的常规GPT-3模型。我们要求标注人员写三种提示:
- Plain:我们只是要求标注人员提出一个任意的任务,同时确保任务具有足够的多样性。
- Few-shot:我们要求标注人员给出一条指令,以及该指令的多个查询/响应对。
- User-based:我们在OpenAI API的等待列表应用程序中声明了许多用例。我们要求标注人员给出与这些用例相对应的提示。
根据这些提示,我们生成了微调过程中使用的三个不同的数据集:(1)我们的SFT数据集,带有用于训练SFT模型的标注人员演示;(2)我们的RM数据集,具有用于训练RM的模型输出的标注人员排名;(3)我们的PPO数据集,没有任何人工标注,用作RLHF微调的输入。SFT数据集包含约13k个训练提示(来自API和标注书写),RM数据集包含33k个训练提示(来自API和标注书写的),PPO数据集包含31k个训练提醒(仅来自API)。表6提供了有关数据集大小的更多详细信息。
为了了解我们的数据集的组成,在表1中,我们显示了API提示(特别是RM数据集)的用例类别的分布,这些提示由我们的承包商标记。大多数用例都是生成的,而不是分类或QA。我们还在表2中展示了一些说明性提示(由研究人员编写,以模仿提交给InstructGPT模型的提示类型);提交给InstructGPT模型的更多提示如附录A.2.1所示,提交给GPT-3模型的提示如附录A.2.2所示。我们在附录A中提供了有关数据集的更多详细信息。
3.3 Tasks
我们的训练任务来自两个来源:(1)由我们的标注人员编写的提示数据集和(2)提交给API早期InstructGPT模型的提示数据集中(见表6)。这些提示非常多样化,包括生成、问答、对话、摘要、提取和其他自然语言任务(见表1)。我们的数据集超过96%是英语,但在第4.3节中,我们还探讨了我们的模型对其他语言指令的响应和完成编码任务的能力。
对于每个自然语言提示,任务通常是通过自然语言指令直接指定的(例如“写一个关于聪明青蛙的故事”),但也可以通过小样本示例(例如给出两个青蛙故事的示例,并提示模型生成一个新的)或隐式延续(例如提供一个关于青蛙的故事的开头)间接指定。在每种情况下,我们都要求我们的标注人员尽最大努力推断编写提示的用户的意图,并要求他们跳过任务非常不清楚的输入。此外,我们的标注人员还考虑了隐含的意图,如回复的真实性,以及潜在的有害输出,如有偏见或有毒的语言,并遵循我们提供的说明(见附录B)和他们的最佳判断。
3.4 Human data collection
为了产生我们的演示和比较数据,并进行我们的主要评估,我们在Upwork和ScaleAI上雇佣了一个约40名承包商的团队。与早期收集总结任务中人类偏好数据的工作相比(Ziegler et al.,2019;Stiennon et al.,2020;Wu et al.,2021),我们的输入涉及更广泛的任务,偶尔可能包括有争议和敏感的主题。我们的目标是选择一组对不同人口群体的偏好敏感,并且善于识别潜在有害产出的标注人员。因此,我们进行了一项筛选测试,旨在测量标注人员在这些轴上的性能。我们选择了在这次测试中表现良好的标注人员;有关我们的选择程序和标注人员人口统计的更多信息,请参阅附录B.1。
在训练和评估过程中,我们的对齐标准可能会发生冲突:例如,当用户请求潜在的有害响应时。在训练期间,我们优先考虑对用户的帮助(不这样做需要做出一些困难的设计决策,我们将这些决策留给未来的工作;更多讨论请参见第5.4节)。然而,在我们的最终评估中,我们要求标注人员优先考虑真实性和无害性(因为这是我们真正关心的)。
与Stiennon等人(2020)一样,我们在项目过程中与标注人员密切合作。我们有一个入职流程来培训项目的标注人员,为每个任务编写详细的说明(见附录B.2),并在共享聊天室中回答标注人员的问题。
作为一项初步研究,为了了解我们的模型在多大程度上适用于其他标注人员的偏好,我们雇佣了一组单独的标注人员,他们不产生任何训练数据。这些标注人员来自同一供应商,但不经过筛选测试。
尽管任务很复杂,但我们发现标注人员之间的一致率相当高:训练标注人员在72.6±1.5%的时间内相互一致,而对于留出标注人员,这个数字是77.3±1.3%。相比之下,在Stiennon等人(2020)的总结工作中,研究人员之间的一致性为73±4%。
3.5 Models
我们从Brown等人(2020)的GPT-3预训练语言模型开始。这些模型是在广泛分布的互联网数据上训练的,适用于广泛的下游任务,但行为特征较差。从这些模型开始,我们用三种不同的技术训练模型:
Supervised fine-tuning (SFT). 我们使用监督学习在标注人员演示中微调GPT-3。我们使用余弦学习率衰减和0.2的残差dropout对16个epoch进行了训练。我们根据验证集上的RM分数进行最终的SFT模型选择。与Wu等人(2021)类似,我们发现我们的SFT模型在1个epoch后对验证损失进行了过拟合;然而,我们发现,尽管存在这种过拟合,但对更多epoch的训练有助于RM评分和人类偏好评级。
Reward modeling (RM). 从去除了最终未嵌入层的SFT模型开始,我们训练一个模型来接收提示和响应,并输出标量奖励。在本文中,我们只使用6B RM,因为这节省了大量计算,并且我们发现175B RM训练可能不稳定,因此不太适合用作RL期间的价值函数(更多详细信息,请参见附录C)。
在Stiennon等人(2020)中,RM是在同一输入的两个模型输出之间的比较数据集上训练的。他们使用交叉熵损失,将比较作为标签——奖励的差异代表了一种反应比另一种反应更受人类标注人员青睐的对数几率。
为了加快比较收集的速度,我们向标注人员提供了K=4到K=9之间的排名响应。这会产生显示给标注人员的每个提示的个比较。由于每个标注任务中的比较非常相关,我们发现,如果我们简单地将比较混洗到一个数据集中,在数据集上的一次遍历就会导致奖励模型过拟合。5 相反,我们将每个提示中所有
个比较作为单个批处理元素。这在计算上更高效,因为它只需要每次完成RM的一次前向传递(而不是K次完成的
次前向传播),并且由于它不再过拟合,它实现了大大提高的验证精度和日志丢失。
具体而言,奖励模型的损失函数为:
其中rθ(x, y)是具有参数θ的提示x和完成y的奖励模型的标量输出,yw是yw和yl对中的优选完成,D是人类比较的数据集。
最后,由于RM损失对奖励的变化是不变的,我们使用偏差对奖励模型进行归一化,以便在进行RL之前,标记人员演示的平均得分为0。
Reinforcement learning (RL). 继Stiennon等人(2020)之后,我们再次使用PPO(Schulman et al.,2017)对环境中的SFT模型进行了微调。该环境是一个赌博机环境,它提供随机的客户提示并期望对提示作出响应。给定提示和响应,它产生由奖励模型确定的奖励,并结束该回合。此外,我们在每个令牌处添加来自SFT模型的逐令牌KL惩罚,以减轻奖励模型的过度优化。价值函数是从RM初始化的。我们称这些模型为“PPO”。
我们还将预训练梯度混合到PPO梯度中,以修复公共NLP数据集上的性能回归。我们将这些模型称为“PPO-ptx”。我们在RL训练中最大化以下组合目标函数:
其中是学到的RL策略,πSFT是监督训练的模型,Dpretrain是预训练分布。KL奖励系数β和预训练损失系数γ分别控制KL惩罚和预训练梯度的强度。对于“PPO”模型,γ设置为0。除非另有规定,否则本文中的InstructGPT指的是PPO-ptx模型。
Baselines. 我们将PPO模型的性能与SFT模型和GPT-3进行了比较。我们还将其与GPT-3进行了比较,当它被提供了小样本前缀以“提示”它进入指令跟随模式(GPT-3提示)时。这个前缀是在用户指定的指令前面加上的。6
此外,我们将InstructGPT与FLAN(Wei et al.,2021)和T0(Sanh et al.,2020)数据集上的175B GPT-3进行了微调比较,这两个数据集都由各种NLP任务组成,并结合了每个任务的自然语言指令(数据集在包括的NLP数据集和使用的指令风格方面有所不同)。我们分别在大约100万个样本上对它们进行微调,并选择在验证集上获得最高奖励模型分数的检查点。有关更多训练详细信息,请参阅附录C。
5 如果每个可能比较被视为一个单独的数据点,然后每个完成都可能用于K-1个单独的梯度更新。该模型在一个epoch之后往往会过拟合,因此在一个epoch内重复数据也会导致它过拟合。
6 为了获得这个前缀,作者RL和DA举办了一场前缀查找比赛:每个人都花了一个小时与GPT-3交互,找出他们最好的两个前缀。获胜前缀是导致GPT-3在提示验证集上获得最高RM分数的前缀。DA获胜。
3.6 Evaluation
为了评估我们的模型是如何“对齐”的,我们首先需要澄清对齐在这种情况下意味着什么。从历史上看,对齐的定义一直是一个模糊而令人困惑的话题,有各种相互竞争的提议(Chen et al.,2021;Leike et al.,2018;Gabriel,2020)。根据Leike等人(2018),我们的目标是训练根据用户意图行事的模型。更实际的是,为了我们的语言任务,我们使用了一个类似于Askell等人(2021)的框架,他们定义了如果模型是有用的、诚实的和无害的,就要对齐。
为了有所帮助,模型应该遵循说明,但也应该从小样本提示或其他可解释的模式(如“Q: {question}\nA:”)推断意图。由于给定提示的意图可能不明确或不明确,我们依赖于标注人员的判断,我们的主要指标是标注人员的偏好评级。然而,由于我们的标注人员不是生成提示的用户,因此用户的实际意图和标注人员认为的仅阅读提示的意图之间可能存在差异。
目前尚不清楚如何在纯粹的生成模型中衡量诚实;这需要将模型的实际输出与其对正确输出的“信念”进行比较,由于模型是一个大黑盒,我们无法推断其信念。相反,我们使用两个指标来衡量真实性——模型对世界的陈述是否真实:(1)评估我们的模型在闭合域任务(“幻觉”)上编造信息的倾向,以及(2)使用TruthfulQA数据集(Lin et al.,2021)。不用说,这只是真实性的一小部分。
与诚实类似,衡量语言模式的危害也带来了许多挑战。在大多数情况下,语言模型的危害取决于它们的输出在现实世界中的使用方式。例如,在部署的聊天机器人中,生成有毒输出的模型可能是有害的,但如果用于数据增强以训练更准确的毒性检测模型,则可能会有所帮助。在该项目的早期,我们让标签员评估输出是否“潜在有害”。然而,我们停止了这项工作,因为这需要对产出最终将如何使用进行过多的猜测;特别是因为我们的数据也来自与Playground API接口交互的客户(而不是来自生产用例)。
因此,我们使用了一套更具体的代理标准,旨在捕捉部署模型中可能最终有害的行为的不同方面:我们让标注人员评估输出在客户助理的背景下是否不合适,诋毁受保护的类别,或包含性或暴力内容。我们还在旨在测量偏差和毒性的数据集上对我们的模型进行基准测试,如RealToxicityPrompts(Gehman et al.,2020)和CrowS Pairs(Nangia et al.,2020)。
总之,我们可以将定量评估分为两个独立的部分:
Evaluations on API distribution. 我们的主要指标是人类对一组提示的偏好评级,这些提示来自与我们的训练分布相同的来源。当使用API的提示进行评估时,我们只选择未包含在训练中的客户的提示。然而,考虑到我们的训练提示是为与InstructGPT模型一起使用而设计的,它们很可能对GPT-3基准不利。因此,我们还评估了提交给API上GPT-3模型的提示;这些提示通常不是“指令跟随”风格,而是专门为GPT-3设计的。在这两种情况下,对于每个模型,我们计算其输出比基准策略更可取的频率;我们选择我们的175B SFT模型作为基线,因为它的性能接近于包的中间。此外,我们要求标注人员在1-7 Likert量表上判断每个响应的总体质量,并为每个模型输出收集一系列元数据(见表3)。
Evaluations on public NLP datasets. 我们在两种类型的公共数据集上进行评估:一种是捕获语言模型安全性的一个方面,特别是真实性、毒性和偏见的数据集,另一种是捕捉传统NLP任务(如问答、阅读理解和摘要)的零样本表现的数据集。我们还在RealToxicityPrompts数据集上进行人类毒性评估(Gehman et al.,2020)。我们正在发布所有基于采样的NLP任务的模型样本。7
7 可在此处访问:https://github.com/openai/following-instructions-human-feedback.
4 Results
在本节中,我们为第1节中的声明提供了实验证据,分为三部分:API即时分布的结果、公共NLP数据集的结果和定性结果。
4.1 Results on the API distribution
Labelers significantly prefer InstructGPT outputs over outputs from GPT-3. 在我们的提示测试集中,我们的标注人员明显更喜欢不同型号的InstructGPT输出。这些结果如图1所示。我们发现GPT-3的输出表现最差,通过使用精心制作的小样本提示(GPT-3(提示)),然后使用监督学习(SFT)对演示进行训练,最后使用PPO对比较数据进行训练,可以获得显著的步长改进。在PPO期间添加预训练组合的更新不会导致标注人员偏好的大变化。为了说明我们的增益幅度:当直接比较时,175B InstructGPT输出在85±3%的时间内优于GPT-3输出,在71±4%的时间内优于小样本GPT-3。
我们还发现,当在API上对提交给GPT-3模型的提示进行评估时,我们的结果没有显著变化(见图3),尽管我们的PPO-ptx模型在较大的模型大小下表现稍差。
在图4中,我们展示了标注人员还沿着几个更具体的轴对InstructGPT输出进行了有利的评级。具体而言,与GPT-3相比,InstructGPT输出在客户助理的上下文中更合适,更经常遵循指令中定义的明确约束(例如,“用2段或更短的时间写下你的答案”),不太可能完全遵循正确的指令,并且在闭域任务中虚构事实(“暗示”)的频率更低。这些结果表明,InstructGPT模型比GPT-3更可靠、更容易控制。我们发现,我们的其他元数据类别在API中出现得太少,无法在我们的模型之间获得统计上显著的差异。
Our models generalize to the preferences of "held-out" labelers that did not produce any training data. 留出标注人员与我们用来生成训练数据的员工有着相似的排名偏好(见图3)。特别是,根据留出标注人员的说法,我们所有的InstructGPT模型仍然大大优于GPT-3基准。因此,我们的InstructGPT模型并不是简单地过度适应我们的训练标注人员的偏好。
我们从我们的奖励模型的泛化能力中看到了进一步的证据。我们进行了一项实验,将我们的标注人员分为5组,并使用5倍交叉验证训练5个RM(使用3种不同的种子)(对其中4组进行训练,并对留出组进行评估)。这些RM在预测留出组中标注人员偏好方面的准确率为69.6±0.9%,与预测训练集中标注人员偏好的准确率72.4±0.4%相比略有下降。
Public NLP datasets are not reflective of how our language models are used. 在图5中,我们还将InstructGPT与我们在FLAN(Wei et al.,2021)和T0(Sanh et al.,2020)数据集上微调的175B GPT-3基准进行了比较(详见附录C)。我们发现,这些模型的性能比GPT-3好,与选择得当的提示的GPT-3不相上下,比我们的SFT基准差。这表明这些数据集的多样性不足以提高API提示分发的性能。在一次面对面的比较中,我们的175B InstructGPT模型输出在78±4%的时间内优于FLAN模型,在79±4%的时间内高于T0模型。这些模型的Likert分数如图5所示。
我们相信我们的InstructGPT模型优于FLAN和T0有两个原因。首先,公共NLP数据集旨在捕获易于使用自动度量进行评估的任务,如分类、问答,以及在一定程度上的摘要和翻译。然而,分类和QA只是API客户使用我们的语言模型的一小部分(约18%),而根据标注人员的说法,开放式生成和头脑风暴占我们提示数据集的约57%(见表1)。其次,公共NLP数据集可能很难获得非常高多样性的输入(至少在现实世界用户感兴趣使用的输入类型上)。当然,在NLP数据集中发现的任务确实代表了一种我们希望语言模型能够解决的指令,因此最广泛的类型指令跟随模型将结合这两种类型的数据集。
4.2 Results on public NLP datasets
InstructGPT models show improvements in truthfulness over GPT-3. 根据TruthfulQA数据集上的人类评估结果,与GPT-3相比,我们的PPO模型在生成真实和信息输出方面显示出微小但显著的改进(见图6)。这种行为是默认的:我们的模型不必被特别指示说实话,就能表现出更好的真实性。有趣的是,我们的1.3B PPO-ptx模型是个例外,它的性能略差于相同大小的GPT-3模型。当仅根据未针对GPT-3进行对抗性选择的提示进行评估时,我们的PPO模型仍然比GPT-3更真实、更具信息性(尽管绝对改善减少了几个百分点)。
继Lin等人(2021)之后,我们还给出了一个有用的“指令+QA”提示,指示模型在不确定正确答案时用“我无可奉告”回应。在这种情况下,我们的PPO模型的错误站在真实和无信息的一边,而不是自信地说假话;基准GPT-3模型在这方面并不那么好。
我们真实性的提高也证明了我们的PPO模型在API分布的封闭域任务中产生幻觉(即伪造信息)的频率较低,如图4所示。
InstructGPT shows small improvements in toxicity over GPT-3, but not bias. 我们首先在RealToxicityPrompts数据集上评估我们的模型(Gehman et al.,2020)。我们通过两种方式做到这一点:我们通过Perspective API8运行模型样本,以获得自动毒性评分,这是该数据集的标准评估程序,我们还将这些样本发送给标注人员,以获得绝对毒性、相对于提示的毒性、连续性和总体输出偏好的评级。我们根据提示毒性从该数据集中均匀采样提示,以更好地评估我们的模型在高输入毒性下的表现(见附录E中的图39);这与该数据集的标准即时采样不同,因此我们的绝对毒性数字被夸大了。
我们的结果如图7所示。我们发现,根据Perspective API,当被指示产生安全和尊重的输出(“尊重提示”)时,InstructGPT模型产生的毒性比GPT-3的输出小。当删除尊重提示(“无提示”)时,这种优势就会消失。有趣的是,当明确提示产生有毒输出时,InstructGPT输出的毒性比GPT-3的输出大得多(见图39)。
这些结果在我们的人类评估中得到了证实:在“尊重提示”设置中,InstructGPT的毒性比GPT-3小,但在“无提示”设置下表现相似。我们在附录E中提供了扩展结果。总结一下:在提示下,我们所有的模型都被评为毒性低于预期(它们在-1到1的范围内得到了负分,其中0为“大约与预期一样有毒”)。我们的SFT基准是所有模型中毒性最小的,但连续性最低,在我们的排名中也是最不受欢迎的,这可能表明该模型产生的反应非常短暂或退化。
为了评估该模型生成有偏见语音的倾向(见附录E),我们还在Winogender(Rudinger et al.,2018)和CrowS Pairs(Nangia et al.,2020)数据集的修改版本上评估了InstructGPT。这些数据集由成对的句子组成,这些句子可以突出潜在的偏见。我们计算每对中产生句子的相对概率以及相关联的二进制概率分布的熵(以比特为单位)。完全无偏的模型在每对句子之间没有偏好,因此具有最大熵。按照这个标准,我们的模型的偏差不亚于GPT-3。PPO-ptx模型显示出与GPT-3类似的偏差,但当被指示尊重行事时,它表现出较低的熵,从而表现出较高的偏差。偏差的模式尚不清楚;似乎被指示的模型对它们的输出更加确定,而不管它们的输出是否表现出刻板的行为。
We can minimize performance regressions on public NLP datasets by modifying our RLHF fine-tuning procedure. 默认情况下,当我们在API分发上训练PPO模型时,它会受到“对齐税”的影响,因为它在几个公共NLP数据集上的性能会降低。我们想要一个避免调整税的调整程序,因为它鼓励使用未调整但更能执行这些任务的模型。
在图29中,我们展示了在我们的PPO微调(PPO-ptx)中添加预训练更新可以缓解所有数据集上的这些性能退化,甚至超过了HellaSwag上的GPT-3。PPO-ptx模型在DROP、SQuADv2和翻译方面的性能仍然落后于GPT-3;需要做更多的工作来研究和进一步消除这些性能退化。
预训练更新中的混合比增加KL系数的更简单的解决方案表现得更好。在图33中,我们显示了预训练混合系数的值,该值既逆转了SQuADv2和DROP(我们用于测试的数据集)上的性能回归,又使验证回报减少到最小。相反,增加KL系数(图34)会导致验证奖励显著降低,并且在DROP和SQuAD上永远不会完全恢复。将KL模型从PPO init更改为GPT-3会得到类似的结果。
8 www.perspectiveapi.com
4.3 Qualitative results
InstructGPT models show promising generalization to instructions outside of the RLHF finetuning distribution. 特别是,我们发现InstructGPT显示了在非英语语言中遵循指令的能力,并对代码执行摘要和问答。这很有趣,因为非英语语言和代码在我们的微调数据中只占极少数,9这表明,在某些情况下,对齐方法可以推广到在人类没有直接监督的输入上产生所需的行为。
我们没有定量地跟踪这些行为,但我们在图8中展示了一些定性的例子。我们的175B PPO-ptx模型能够可靠地回答有关代码的问题,也可以遵循其他语言的说明;然而,我们注意到,即使指令是用另一种语言进行的,它也经常以英语输出。相比之下,我们发现GPT-3可以执行这些任务,但需要更仔细的提示,并且很少遵循这些域中的指令。
InstructGPT still makes simple mistakes. 在与我们的175B PPO-ptx模型交互时,我们注意到,尽管它在许多不同的语言任务上表现出色,但它仍然会犯简单的错误。举几个例子:(1)当给出一个有错误前提的指令时,模型有时会错误地假设前提是真的,(2)模型可能会过度对冲;当给出一个简单的问题时,它有时可以说这个问题没有一个答案,并给出多个可能的答案,即使上下文中有一个相当清晰的答案,以及(3)当指令包含多个明确的约束时(例如“列出20世纪30年代在法国拍摄的10部电影”),或者当约束对语言模型具有挑战性时(例如。以指定数量的句子编写摘要)。
我们在图9中展示了这些行为的一些示例。我们怀疑,行为(2)的出现部分是因为我们指导标注人员奖励认知谦逊;因此,他们可能倾向于奖励对冲的产出,这一点被我们的奖励模型所接受。我们怀疑行为(1)的发生是因为训练集中很少有假设错误前提的提示,并且我们的模型不能很好地推广到这些例子。我们相信,通过对抗性数据收集,这两种行为都可以显著减少(Dinan et al.,2019b)。
9 我们通常会指示标注人员在缺少所需专业知识的情况下跳过评估,尽管有时标注人员会使用翻译服务来评估他们不会说的语言的简单说明。
5 Discussion
5.1 Implications for alignment research
这项研究是我们将AI系统与人类意图相结合的更广泛研究计划的一部分(Christiano et al.,2017;Ziegler et al.,2019;Stiennon et al.,2020)。尽管这项工作专注于我们当前的语言模型系统,但我们寻求适用于未来AI系统的通用和可扩展的方法(Leike et al.,2018)。我们在这里使用的系统仍然相当有限,但它们是当今最大的语言模型之一,我们将它们应用于广泛的语言任务,包括分类、摘要、问答、创造性写作、对话等。
在这项工作中,我们的对齐研究方法是迭代的:我们正在改进当前AI系统的对齐,而不是抽象地专注于对齐尚未存在的AI系统。这种方法的一个缺点是,我们没有直接面临只有在对齐超人系统时才会出现的对齐问题(Bostrom,2014)。然而,我们的方法确实为我们提供了一个明确的经验反馈回路,说明什么有效,什么无效。我们相信,这种反馈回路对于改进我们的对齐技术至关重要,它迫使我们跟上机器学习的步伐。此外,我们在这里使用的对齐技术RLHF是对齐超人系统的几个建议中的重要组成部分(Leike et al.,2018;Irving et al.,2018;Christiano et al.,2018)。例如,RLHF是最近总结书籍工作的核心方法,这项任务显示了调整超人AI系统的一些困难,因为人类很难直接评估(Wu et al.,2021)。
从这项工作中,我们可以为更广泛的对准研究吸取教训:
- The cost of increasing model alignment is modest relative to pretraining. 收集我们的数据和训练运行(包括实验运行)的计算成本只是训练GPT-3所花费的一小部分:训练我们的175B SFT模型需要4.9 petaflops/s-days,训练我们的175B PPO-ptx模型需要60 petaflops/s-days,而GPT-3需要3640 petaflops/s-days(Brown et al.,2020)。同时,我们的结果表明,RLHF在使语言模型对用户更有帮助方面非常有效,比模型大小增加100倍更有效。这表明,目前增加对现有语言模型的调整投资比训练更大的模型更具成本效益——至少对于我们客户的自然语言任务分配来说是这样。
- We've seen some evidence that InstructGPT generalizes ‘following instructions’ to settings that we don't supervise it in, 例如在非英语语言任务和代码相关任务上。这是一个重要的特性,因为让人类监督模型执行的每一项任务都非常昂贵。需要更多的研究来研究这种泛化能力随着能力的增强而扩展的程度;参见Christiano等人(2021),了解该方向的最新研究。
- We were able to mitigate most of the performance degradations introduced by our fine-tuning. 如果不是这样的话,这些性能下降将构成调整税——调整模型的额外成本。任何高税收的技术都可能不会被采用。为了避免激励未来的高能力AI系统与人类意图保持不一致,需要低对齐税的对齐技术。为此,我们的研究结果对RLHF作为一种低税收调整技术来说是个好消息。
- We’ve validated alignment techniques from research in the real world. 比对研究历来相当抽象,要么关注理论结果(Soares et al.,2015),要么关注小合成域(Christiano et al.,2018;Leike et al.,2017),要么在公共NLP数据集上训练ML模型(Ziegler et al.,2019;Stiennon et al.,2020)。我们的工作为在现实世界中与客户的生产中使用的AI系统的对齐研究提供了基础。10 这使得能够对技术的有效性和局限性进行重要的反馈。
10 请注意,虽然在部署ML系统时,使用人工数据微调模型是常见的做法,但这些努力的目的是获得一个在公司特定用例中表现良好的模型,而不是推进通用ML模型的协调。
5.2 Who are we aligning to?
当将语言模型与人类意图对齐时,它们的最终行为是底层模型(及其训练数据)、微调数据和所使用的对齐方法的函数。在本节中,我们具体描述了影响微调数据的许多因素,以最终确定我们要调整的内容和对象。然后,在第5.3节中对我们工作的局限性进行更广泛的讨论之前,我们会考虑需要改进的领域。
文献中经常使用“人类偏好”或“人类价值观”等术语来界定一致性。在这项工作中,我们与一组标注人员的偏好进行了一致性,这些偏好受到了他们所得到的指示、他们接受这些指示的环境(作为有偿工作)以及他们从谁那里接受这些指示等因素的影响。一些重要的注意事项适用:
首先,我们正在与我们的训练标注人员提供的演示和偏好保持一致,他们直接生成我们用来微调模型的数据。我们在附录B中描述了我们的标注人员招聘流程和人口统计数据;一般来说,他们大多是通过Upwork或Scale AI雇佣的居住在美国或东南亚的讲英语的人。他们在许多例子上意见相左;我们发现标签商之间的一致性约为73%。
其次,我们正在与我们的偏好保持一致,因为设计这项研究的研究人员(因此是我们更广泛的研究组织OpenAI的代理):我们编写标注说明,标注制作者在编写演示和选择他们喜欢的输出时将其作为指南,我们在共享聊天室中回答他们关于边缘案例的问题。需要更多的研究不同的指令集和界面设计对从标注人员收集的数据的确切影响及其对模型行为的最终影响。
第三,我们的训练数据是由OpenAI客户向OpenAI API Playground上的模型发送的提示确定的,因此我们隐含地与客户认为有价值的内容保持一致,在某些情况下,与他们的最终用户认为当前使用API有价值的目的保持一致。客户和他们的最终用户可能不同意,或者客户可能没有为最终用户的福祉进行优化;例如,客户可能想要一个最大化用户在其平台上花费的时间的模型,而这并不一定是最终用户想要的。在实践中,我们的标注人员无法看到给定提示或完成的上下文。
第四,OpenAI的客户并不能代表语言模型的所有潜在或当前用户,更不用说受语言模型使用影响的所有个人和群体了。在这个项目的大部分时间里,OpenAI API的用户都是从等待名单中挑选出来的。这个等待名单的最初种子是OpenAI的员工,他们将最终群体偏向于我们自己的网络。
退一步看,在设计一个公平、透明并有适当问责机制的调整过程方面存在许多困难。本文的目标是证明这种对齐技术可以针对特定应用与特定的人类参考组对齐。我们并不是说研究人员、我们雇佣的标注人员或我们的API客户是正确的偏好来源。有许多利益相关者需要考虑——训练模型的组织、使用模型开发产品的客户、这些产品的最终用户,以及可能直接或间接受到影响的更广泛人群。这不仅是一个使调整进程更具参与性的问题;一个人不可能同时训练一个与每个人的偏好相一致的系统,或者每个人都支持权衡。
一条前进的道路可以是训练模型,这些模型可以以某些群体的偏好为条件,或者可以很容易地进行微调或提示来表示不同的群体。然后,支持不同价值观的团队可以部署和使用不同的模型。然而,这些模式最终可能仍会影响到更广泛的社会,关于以谁的偏好为条件,以及如何确保所有群体都能得到代表,并可以选择退出可能有害的程序,还有很多艰难的决定要做。
5.3 Limitations
Methodology. 我们的InstructGPT模型的行为在一定程度上取决于从我们的承包商那里获得的人类反馈。一些标注任务依赖于价值判断,这些价值判断可能会受到承包商身份、他们的信仰、文化背景和个人历史的影响。我们雇佣了大约40名承包商,以他们在筛选测试中的表现为指导,该测试旨在判断他们对敏感提示的识别和响应能力,以及他们与研究人员在带有详细说明的标注任务上的一致性(见附录B)。我们保持承包商团队的规模较小,因为这有助于与全职执行任务的较小承包商进行高带宽通信。然而,这一群体显然不能代表将使用我们部署的模型并受到其影响的所有人群。举个简单的例子,我们的标注人员主要讲英语,我们的数据几乎完全由英语指令组成。
我们还有许多方法可以改进我们的数据收集设置。例如,由于成本原因,大多数比较只由一个承包商标注。多次标注示例可以帮助确定我们的承包商不同意的领域,从而确定单个模型不太可能与所有模型一致的领域。在意见不一致的情况下,可能不希望与标注人员的平均偏好保持一致。例如,当生成不成比例地影响少数群体的文本时,我们可能希望属于该群体的标注用户的偏好得到更大的加权。
Models. 我们的模型既不完全一致,也不完全安全;他们仍然在没有明确提示的情况下产生有毒或有偏见的输出,编造事实,并产生性和暴力内容。它们也可能无法就某些投入产生合理的产出;我们在图9中展示了一些这样的例子。
也许我们的模型最大的局限性是,在大多数情况下,它们遵循用户的指示,即使这可能会在现实世界中造成伤害。例如,当给出指示模型具有最大偏差的提示时,InstructGPT会产生比同等大小的GPT-3模型更有害的输出。我们将在以下章节中讨论潜在的缓解措施。
5.4 Open questions
这项工作是使用对齐技术来微调语言模型以遵循广泛指令的第一步。有许多悬而未决的问题需要探索,以进一步使语言模型行为与人们实际希望他们做的事情保持一致。
可以尝试许多方法来进一步降低模型产生有毒、有偏见或其他有害输出的倾向。例如,可以使用对抗性设置,其中标注人员发现模型的最坏情况行为,然后对其进行标注并添加到数据集(Dinan et al.,2019b)。还可以将我们的方法与过滤预训练数据的方法相结合(Ngo et al.,2021),用于训练初始预训练模型,或用于我们用于预训练混合方法的数据。同样,可以将我们的方法与提高模型真实性的方法相结合,如WebGPT(Nakano et al.,2021)。
在这项工作中,如果用户请求潜在的有害或不诚实的响应,我们允许我们的模型生成这些输出。尽管有用户指示,但将我们的模型训练为无害是很重要的,但也很困难,因为输出是否有害取决于部署它的环境;例如,作为数据扩充流水线的一部分,使用语言模型生成有毒输出可能是有益的。我们的技术也可以应用于使模型拒绝某些用户指令,我们计划在本研究的后续迭代中对此进行探索。
让模型做我们想做的事情与可控性和可控性文献直接相关(Dathathri et al.,2019;Krause et al.,2020)。一个有前景的未来路径是将RLHF与其他可操纵性方法相结合,例如使用控制码(Keskar et al.,2019),或使用较小的模型在推断时修改采样程序(Dathathri et al.,2019)。
虽然我们主要关注RLHF,但还有许多其他算法可以用于在我们的演示和比较数据上训练策略,以获得更好的结果。例如,可以探索专家迭代(Anthony et al.,2017;Silver et al.,2017),或者使用比较数据子集的更简单的行为克隆方法。人们也可以尝试约束优化方法(Achiam et al.,2017),该方法以产生少量有害行为为条件,最大化奖励模型的得分。
比较也不一定是提供对准信号的最有效的方式。例如,我们可以让标注人员编辑模型响应以使其更好,或者用自然语言生成对模型响应的批评。还有一个巨大的选择空间,用于为标注人员设计接口,以向语言模型提供反馈;这是一个有趣的人机交互问题。
我们提出的通过将预训练数据纳入RLHF微调来减轻校准税的建议,并不能完全缓解性能退化,并且可能会使某些任务更容易出现某些不期望的行为(如果这些行为存在于预训练数据中)。这是一个值得进一步研究的有趣领域。另一个可能改进我们方法的修改是过滤预训练混合数据中的有毒成分(Ngo et al.,2021),或者用合成指令增加这些数据。
正如Gabriel (2020)中详细讨论的那样,与指令、意图、揭示的偏好、理想偏好、兴趣和价值观保持一致之间存在细微差异。Gabriel (2020)主张采用基于原则的对齐方法:换句话说,确定“尽管人们的道德信仰存在广泛差异,但仍能得到反思性认可的公平对齐原则”。在我们的论文中,为了简单起见,我们与推断的用户意图保持一致,但这方面还需要更多的研究。事实上,最大的悬而未决的问题之一是如何设计一个透明的、有意义地代表受技术影响的人的调整过程,并以在许多群体中达成广泛共识的方式综合人们的价值观。我们在第5.2节中讨论了一些相关的考虑因素。
5.5 Broader impacts
这项工作的动机是,我们的目标是通过训练大型语言模型做一组给定的人类希望他们做的事情来增加它们的积极影响。默认情况下,语言模型优化下一个单词预测目标,这只是我们希望这些模型做什么的代理。我们的研究结果表明,我们的技术有望使语言模型更有用、更真实、更无害。从长远来看,对准故障可能会导致更严重的后果,特别是如果这些模型部署在安全关键的情况下。我们预计,随着模型规模的不断扩大,必须更加小心地确保它们与人类意图一致(Bostrom,2014)。
然而,使语言模型更好地遵循用户意图也会使它们更容易被滥用。使用这些模型可能更容易生成令人信服的错误信息,或仇恨或滥用内容。
对齐技术并不是解决与大型语言模型相关的安全问题的灵丹妙药;相反,它们应该被用作更广泛的安全生态系统中的一个工具。除了故意滥用之外,在许多领域中,大型语言模型的部署应该非常小心,或者根本不应该。例子包括高风险领域,如医疗诊断、根据受保护的特征对人进行分类、确定信贷、就业或住房的资格、制作政治广告和执法。如果这些模型是开源的,那么在没有适当监管的情况下限制这些领域和其他领域的有害应用就变得很有挑战性。另一方面,如果大型语言模型的访问仅限于少数拥有训练所需资源的组织,这将使大多数人无法访问尖端的ML技术。另一种选择是组织拥有模型部署的端到端基础设施,并通过API进行访问。这允许实现安全协议,如用例限制(仅允许模型用于某些应用程序)、监控滥用和撤销对滥用系统者的访问,以及限制速率以防止大规模错误信息的产生。然而,这可能会以降低透明度和增加权力集中为代价,因为这需要API提供商决定在这些问题中的每一个问题上划清界限。
最后,如第5.2节所述,这些模型与谁保持一致的问题极其重要,并将显著影响这些模型的净影响是积极的还是消极的。
A Additional prompt data details
A.1 Labeler-written prompts
我们首先给出了更多关于我们提示助推(boostrapping)过程的细节。如前所述,对于大多数项目,我们直接从OpenAI API中的instruction beta模型的外部用户那里获得提示。然而,只有当您有一个接受类似指令提示的模型时,这种策略才有效。为了训练第一个这样的模型,我们要求承包商自己编写提示。我们要求标注人员写三种提示:
- Plain:我们只是要求标注人员提出一个任意的任务,同时确保任务的多样性。
- Few-shot:我们要求标注人员给出一条指令,以及该指令的多个查询/响应对。例如,指令可以是“为推特表达情感”,查询可以是推特,回答可以是“肯定”或“否定”。然后,我们可以将这些设置为像Brown等人(2020)中那样的小样本提示。使用K个查询-响应对,我们在上下文中使用其他K-1个对创建K个训练示例。
- User-based:我们在OpenAI API的应用程序中陈述了许多用例。我们要求标注人员给出与这些用例相对应的提示。
为了保持应用程序信息的匿名性,我们有一个单独的标记人员,根据应用程序列表创建模糊的高级任务,修改任务描述以消除特定于给定应用程序的任何信息。这些数据用于通过监督学习训练第一个InstructGPT模型,该模型于2021年初在API中进行了测试版部署。
A.2 API user prompts
对于API提示,我们使用用户提交到OpenAI API Playground上的上述早期版本的InstructGPT模型的提示。在整个论文中,我们只使用Playground的数据,而不是在生产中使用我们模型的客户,因为这更容易获得知情同意:每次用户切换到InstructGPT模型时,都会弹出一条警告消息,说明提交给这些模型的提示可以用于训练我们模型的未来版本。在推出InstructGPT模型的测试版时,我们还在开发者Slack频道上的一条消息中传达了这一点。我们从包含个人身份信息(PII)的训练分割中筛选出提示。
为了确保用例的多样性,我们通过检查共享长公共前缀的提示来启发式地消除重复提示,并将每个组织的提示数量限制在大约200个。此外,我们基于组织ID创建训练、验证和测试拆分,因此,例如,验证集包含与训练集不同的用例。
我们将API请求概念化为十个用例之一:生成、开放式QA、封闭式QA、头脑风暴、聊天、重写、摘要、分类、提取或其他。下面,我们展示了来自各种用例的虚构但现实的提示:
A.2.1 Illustrative user prompts from InstructGPT distribution
接下来,我们列出了每个用例类别的API请求的一些示意图示例,用于提交给GPT-3模型的提示。这些通常不是“指令风格”,而是包含更明确的提示。请注意,在用户意图不明确的情况下,会出现一些提示。
A.2.2 Illustrative user prompts from GPT-3 distribution
A.3 Dataset sizes
在表6中,我们报告了用于训练/验证SFT、RM和RL模型的数据集的大小,以及提示是由我们的标注承包商编写的还是由我们的API编写的。
对于SFT,请注意,我们有更多的标注人员书面提示,而不是客户提示——这是因为,在项目开始时,我们让标注人员编写带有用户界面的说明,要求他们提供一个总体模板说明,以及该说明的几个示例。我们通过采样不同的小样本示例集,从同一指令中综合构建了多个SFT数据点。
对于RM,请记住,对于每个提示,我们都收集了K个输出的排名(从4到9),并用所有对模型进行训练,所以我们训练模型的排序对的数量比提示的数量大一个数量级。
A.4 Data diversity
我们收集的数据涵盖了广泛的类别和用例。表1显示了我们的RM训练和验证数据集中由承包商标记的类别的多样性。PPO数据集的类别分布相似。我们在表7中还显示了我们标记的提示元数据的一个子集。请注意,我们的注释字段在项目过程中发生了变化,因此并不是每个提示都为每个字段进行了注释。
我们使用轻量级分类器(langid.py)对数据集中所有指令的语言进行分类。根据经验,我们的数据集(110k个数据点)中约96%被归类为英语,尽管我们估计,由于分类器的不准确,实际比例可能为99%或更高。
除英语外,在至少20种其他语言中也发现了少量提示:西班牙语、法语、德语、葡萄牙语、意大利语、荷兰语、罗马尼亚语、加泰罗尼亚语、中文、日语、瑞典语、波兰语、丹麦语、土耳其语、印尼语、捷克语、挪威语、韩语、芬兰语、匈牙利语、希伯来语、俄语、立陶宛语、世界语、斯洛伐克语、克罗地亚语、斯瓦希里语、爱沙尼亚语、斯洛文尼亚语、阿拉伯语、泰语、越南语、马拉雅拉姆语,希腊语、阿尔巴尼亚语和藏语。
表8显示了每个客户对数据集的平均提示次数。在表9中,我们报告了用于训练各种模型的提示长度(以令牌为单位)的描述性统计数据,在表10中,我们按用例分解了令牌长度。最后,我们还在表11中报告了用于我们的SFT模型的承包商书面演示的长度,包括承包商书面提示和标注人员书面提示。
B Additional human data collection details
B.1 Labeler selection
我们的标记人员由通过Upwork雇佣的承包商或来自Scale AI的承包商组成。与之前主要专注于摘要领域的RLHF工作不同(Ziegler et al., 2019;Stiennon et al., 2020;Wu et al., 2021),在这项工作中,我们希望人类标记提交给语言模型的一组广泛的自然语言提示,其中一些可能在自然界中是敏感的。因此,我们进行了一个筛选过程,以选择那些对敏感内容表现出高检测和反应倾向的标注人员。
更具体地说,从最初的标注候选人中,我们根据以下标准选择了我们的训练标注人员:
- Agreement on sensitive speech flagging. 我们创建了一个提示和完成语数据集,其中一些提示或完成语是敏感的(即任何可能引发强烈负面情绪的东西,无论是有毒的、性的、暴力的、评判性的、政治的等)。
- Agreement on rankings. 我们接受提交给API的提示和几个模型完成,并让标注人员根据总体质量对完成进行排名。我们用研究者标记来衡量他们的一致性。
- Sensitive demonstration writing. 我们创建了一小组敏感提示,其中对输出的适当响应需要细微差别。然后,我们用1-7 Likert量表对每个演示进行评分,并计算每个标注人员的平均“演示得分”。
- Self-assessed ability to identify sensitive speech for different groups. 我们希望选择一个标注人员团队,他们能够共同识别广泛领域的敏感内容。出于法律原因,我们不能根据人口统计标准雇佣承包商。因此,我们让标注人员回答这样一个问题:“对于哪些主题或文化群体,你能自如地识别敏感言论吗?”并将其作为我们选择过程的一部分。
在收集这些数据后,我们选择了在所有这些标准上表现良好的标注者(我们对匿名版本的数据进行了选择)。由于第四个标准是主观的,我们最终根据这些标准主观地选择了标注人员,尽管我们在敏感语音标记和比较方面有75%的一致性,以及6/7的示范得分。
B.2 Labeling instructions
随着我们提供反馈,更改元数据字段,并更好地理解我们想要测量的内容,我们向标注人员提供的说明在项目过程中不断发展。当指令令人困惑或不一致时,我们也会对其进行修改。
特别值得注意的是,在我们的训练数据标注过程中,我们让标注人员将对用户的帮助作为最重要的标准(高于真实性和无害性),而在我们的最终评估中,我们则让标注人员优先考虑真实性和无害性。我们正在探索让模型在训练中有时将真实性和无害性置于帮助之上的研究途径,特别是通过使用拒绝:让模型拒绝回答某些指令。这带来了新的挑战:不同的应用程序具有不同的风险级别,因此我们可能希望模型在推理时拒绝配置什么。此外,模型可能存在过度泛化和拒绝无害指令的风险,这对大多数应用程序来说都是不可取的。
我们在表10中显示了我们对提示分布的最终评估的说明摘录,在表11中显示了RealToxicityPrompts分布的说明摘录。
B.3 Labeler demographic data
我们向我们的标注人员发送了一份自愿的匿名调查,以更好地了解他们的人口统计数据。我们在表12中显示了19名受访者的调查结果。总体而言,我们发现我们的标注人员非常年轻(75%不到35岁),男女性别相当平衡,大多来自美国或东南亚。
B.4 Labeler satisfaction survey
结合我们的人口统计调查,我们还发布了一份调查,以获得对任务的反馈。我们在表13中显示了19名受访者的调查结果。总的来说,我们的标注人员很喜欢这项任务,认为他们的工作报酬公平,并表示他们很欣赏研究人员的乐于助人和沟通水平。一些做标注的人确实发现这项任务是重复的,尽管其他人觉得有足够的变化来保持事物的趣味性和吸引力。
B.5 Web interface
在图12中,我们展示了我们的标注界面的屏幕截图,我们所有的标注人员(和研究人员)都使用它来标记数据。
C Additional model details
所有模型架构都使用GPT-3架构(Brown et al.,2020)。对于奖励模型和价值函数,将原始模型的未嵌入层替换为投影层,以输出标量值。所有型号都使用fp16权重和激活,以及fp32权重的主副本。与Brown等人(2020)中相同的字节对编码用于所有模型。我们所有的语言模型和RL策略都有2k个令牌的上下文长度。我们过滤掉超过1k个令牌的提示,并将最大响应长度限制为1k个令牌。
所有模型都使用Adam优化器进行训练,β1=0.9,β2=0.95。
C.1 Details of SFT training
我们对16个epoch的SFT模型进行了训练,残差dropout为0.2。我们使用余弦LR时间表,将其降低到原始学习率的10%,没有学习率预热。对于我们的1.3B和6B模型,我们使用9.65e-6的LR和32的批量。对于175B,我们使用5.03e-6的LR和8的批量。为了选择学习率,我们对1.3B和6B的7个LR和175B的5个LR进行了几何搜索。我们还使用几何搜索调整了epoch的数量。我们的最终模型是根据RM评分选择的,我们发现与验证损失相比,RM评分更能预测人类偏好结果。
C.2 Details of RM training
我们训练了一个6B奖励模型,用于所有大小的PPO模型。较大的175B RM有可能实现较低的验证损失,但(1)它们的训练更不稳定,这使它们不太适合用作PPO价值函数的初始化,以及(2)使用175B RM和价值函数大大增加了PPO的计算要求。在初步实验中,我们发现6B RM在广泛的学习率范围内是稳定的,并导致了同样强大的PPO模型。
最终的奖励模型是从6B GPT-3模型初始化的,该模型在各种公共NLP数据集(ARC、BoolQ、CoQA、DROP、MultiNLI、OpenBookQA、QuAC、RACE和Winogrande)上进行了微调。这主要是由于历史原因;当从GPT-3或SFT模型初始化RM时,我们发现类似的结果。我们在全奖励模型训练集(见表6)上以lr=9e-6的学习率、余弦学习率计划(到训练结束时降至其初始值的10%)和64的批量对单个epoch进行训练。训练似乎对学习率或时间表不太敏感;学习率高达50%的变化导致了类似的表现。训练对epoch的数量非常敏感:多个epoch很快将模型过拟合到训练数据,验证损失明显恶化。此处的批大小表示每个批次的不同提示数。每个提示都有K=4到K=9个标记完成,其中最多有个可能的比较。平局被取消。因此,单个批次最多可包含
个比较。
C.3 Details of the initialization models for RLHF
我们从预训练的GPT-3模型初始化RLHF模型,并在演示数据集上应用2个epoch的监督微调。我们还在微调过程中混合了10%的预训练数据,因为我们发现这对PPO训练有帮助(详见附录E.11)。使用余弦学习率调度,并且学习率最终衰减到峰值学习率的10%。我们对1.3B和6B模型使用32的批量,对175B模型使用8的批量。我们比较了每个模型的几个不同峰值学习率,并在演示和预训练验证数据集上选择了损失较低的一个。对1.3B和6B模型的LR的5个值的对数线性扫描进行比较,对175B模型的3个值进行比较。1.3B、6B和175B模型的LR结果分别为5e-6、1.04e-5和2.45e-6。
C.4 Details of RLHF training
然后,我们使用预训练混合从上述监督微调模型初始化RL策略。这些模型也用于计算KL奖励,方法与Stiennon等人(2020)相同,β=0.02(见公式2)。我们训练了256k个回合的所有RL模型。在使用PII和基于常见前缀的重复数据消除过滤掉提示后,这些事件包括大约31k个唯一提示。每次迭代的批大小为512,其中小批量大小为64。换言之,每个批次被随机分为8个小批次,并且仅针对单个内部epoch进行训练(Schulman et al.,2017)。在前10次迭代中,从峰值学习率的十分之一开始,通过预热应用恒定的学习率。应用权重的指数移动平均值,衰减率为0.992。在估计广义优势时不使用折扣(Schulman et al.,2016)。PPO裁剪比设置为0.2,rollout的采样温度为1。
如前所述,对于所有PPO模型,我们使用6B RM和6B价值函数,后者由前者初始化。通过对所有模型大小的策略使用相同的6B奖励模型和价值函数,可以更容易地比较策略模型大小对策略性能的影响。价值函数的固定学习率9e-6用于1.3B和6B策略,5e-6用于175B策略。
我们最初的RLHF实验在公共NLP数据集上显示了回归,如SQuADv2和DROP,我们通过在PPO训练期间混合预训练梯度来缓解回归。我们使用的预训练示例是RL训练次数的8倍。预训练数据是从用于训练GPT-3模型的数据集中随机抽取的。对于每个小批量,我们以连续的步骤计算PPO梯度和预训练梯度,并将它们累积到梯度缓冲区中。我们将预训练梯度乘以系数γ=27.8(见公式2),以控制PPO和预训练分布的梯度的相对强度。
C.5 FLAN and T0 models
我们通过在FLAN和T0数据集上微调175B GPT-3模型来获得我们的FLAN和T0基准。对于T0,请注意,我们在T0++版本的数据集上进行了训练。由于T0包含的数据(96M个数据点)比FLAN(1.2M个数据点)更多,我们对T0进行了1M数据集的子采样,使每个模型的训练数据量具有可比性。请注意,原始模型在数据点可以重复的epoch进行训练,但在我们的epoch中,我们不重复地遍历每个数据点(以更好地匹配我们训练SFT基准的方式)。我们应用了余弦学习率计划,并尝试每个数据集的初始学习率为4e-6和6e-6。在训练结束时,学习率下降到峰值的10%,我们对两个实验都使用64的批大小。
为了选择最优的FLAN检查点,我们使用6B奖励模型对提示验证集上的完成情况进行评分。如图13所示,在最初的400k个训练示例之后,奖励饱和。这表明,更长时间的训练不太可能提高人类的评估性能。我们为人类评估选择了RM得分最高的检查点,即学习率为4e-6和896k个例子的检查点。
我们进行了两个类似的实验来寻找最优的T0检查点。在一个实验中,我们使用了128的批量,4e-6的学习率和128万个例子。另一个实验使用了64个批量,6e-6的学习率和100万个例子。再次使用奖励模型得分,我们在896k个训练示例后从前一个实验中选择了检查点。
D Automatic evaluation details
我们对以下基准数据集进行了自动评估:Winogender(Rudinger et al.,2018)、CrowS-Pairs(Nangia et al.,2020)、RealToxicityPrompts(Gehman et al.,2020),TruthfulQA(Lin et al.,2021),DROP(Dua et al.,2019),QuAC(Choi et al., 2018),SquadV2(Rajpurkar et al.,2018),Hellaswag(Zellers et al.,2019),SST(Socher et al.,2013),RTE和WSC(均为SuperGLUE的一部分(Wang et al.,2019)),WMT 15 Fr→En(Bojar et al.,2015)、CNN/每日邮报摘要(Nallapati et al.,2016)和Reddit TLDR摘要(Völske et al.,2017)。
所有任务都采用类似的形式:它们(可选)以任务中所有查询通用的指令开头;然后它们包含每个查询的上下文;并且它们以从模型中采样或从多种选择中选择的完成结束。所有模型采样在温度T=0下执行,并在第一个换行处截断。根据在T=1时每令牌日志概率的平均值最低的一个来选择多选答案。当提示包含小样本示例时,它会为小样本示例保留与最终查询相同的格式。
D.1 Toxicity and bias evaluation details
对于偏见和毒性测量,我们显示了三种不同指令选择的结果,对应于三种不同的提示类型:基本提示(无指令)、尊重提示和偏见提示。尊重和偏见指示如下:
respectful 以礼貌、尊重和公正的方式完成以下句子:
biased 用带有最大偏见和冒犯性的语言完成以下句子:
对于偏见任务,我们报告每个选择的平均熵。以比特为单位的熵显示了模型做出选择的确定性。它由给出,其中
,并且每个Pi与模型分配给该完成的总概率成比例。二进制选择的最大熵为1。高熵表明该模型不确定该选择哪一个,或者,等效地,它是无偏的,并且在可用选项中没有偏好。
D.2 Prompt structure and evaluation features for each eval dataset
在本节中,我们描述了每个自动评估任务的提示结构,以及其他数据集特征,如验证示例的数量和性能指标。如表14-25所示。
E Additional results
E.1 Performance on public NLP datasets
我们在我们的模型上运行自动评估任务,这些任务共同测量偏见、毒性、真实性和各种自然语言能力。这些评估结果见表14。我们在图28中显示了模型的零样本性能,在图29中显示了小样本性能。我们可以看到,没有预训练组合的PPO模型在许多数据集上都有性能回归,特别是在小样本设置中,这些回归通过我们的PPO-ptx模型得到了缓解。
E.2 Reward model generalization across sets of labelers
为了测量我们的程序在多大程度上过度适应我们的训练标注人员,我们进行了一项实验,在标注人员的子集上训练多个RM,并测试它们对留出标注人员的泛化能力。我们将比较数据分为五组标注人员,这样每组的训练数据量大致相同。然后,我们通过在四组上训练6B奖励模型并在另一组上进行验证,应用五倍交叉验证。我们使用附录C.2中定义的相同超参数。我们发现,预测人类偏好输出的组间和组内验证准确率分别为72.4±0.4%和69.6±0.9%,这表明我们的RM可以很好地推广到与训练标注人员来自同一集合的留出标注人员。
E.3 Metadata results as a function of model size
在图30中,我们将元数据结果显示为模型大小的函数。
E.4 Likert scores
在图31中,我们在提示分布中显示了每个模型的Likert分数。结果在很大程度上与我们在第4.1节中的偏好结果一致。
E.5 Measuring bias
我们在Winogender和CrowS-Pairs数据集上的结果如图32所示。在这些数据集上,InstructGPT与GPT-3相比没有显著改进。
E.6 Fixing regressions on public NLP datasets
我们扫描了一系列预训练损失系数(在公式2中),以了解其对公共NLP数据集性能和验证奖励的影响。结果如图33所示。通过将预训练损失系数设置为大于或等于20,可以在1.3B模型上恢复这些任务的回归。我们还注意到,不同任务对预训练损失系数的敏感性不同。尽管增加预训练损失系数会导致验证奖励下降,但27.8的单个值似乎在模型大小(从1.3B到175B的参数计数)之间都很有效。在我们的消融研究中,人类likert评分似乎对训练前损失系数的确切值不敏感。
我们使用1.3B模型进一步研究了增加KL奖励系数(在公式2中)是否足以固定公共NLP数据集上的回归。我们将预训练损失系数设置为0,并在对数线性空间中均匀地扫描KL奖励系数的范围。结果如图34所示。在这些实验中,使用预训练的GPT模型作为KL奖励模型。我们发现,即使将KL奖励系数提高到2.0,即默认值的100倍,回归仍然无法固定。正如预期的那样,KL奖励系数过大会导致验证奖励显著下降。这一结果表明,预训练数据分布对于修复公共NLP数据集上的回归和保持预训练模型的能力至关重要。
在图35中,我们显示了在1.3B模型上,在公共NLP数据集上进行更长时间的训练会导致回归。我们将我们的默认训练方法应用于PPO,预训练混合,具有三个不同的随机种子。我们不是训练256k个回合,而是训练512k个回合。可以看出,在DROP和SquadV2上,该模型一开始的性能比GPT-3模型更好。随着训练的进行,两项任务的表现都略低于GPT-3基准。
E.7 Optimal KL reward coefficient
即使使用PPO训练的预训练数据混合,正确调整KL奖励系数仍然很重要。在图36中,我们显示了作为KL奖励系数函数的人类likert分数。KL奖励系数的0和2都会导致较差的性能。最优值在0.01和0.02之间。
E.8 PPO init models
我们用SFT模型的一些变体作为PPO的初始模型进行了实验,包括对一个和两个epoch的人类演示数据进行训练,其中0%、10%和50%的预训练数据混合。如图37所示,唯一突出的设置是使用10%的预训练数据混合。我们选择在人类演示数据集上训练PPO的初始模型两个epoch,10%的预训练数据混合,尽管PPO的性能似乎对这些特定的选择不敏感。
E.9 Learning rate optimization for PPO models
对于1.3B和6B模型,我们在对数线性空间中扫描学习率,从2.55e-6到2.55e-5,对于有和没有预训练数据混合的PPO。对于没有预训练数据混合的PPO模型,学习率大于8.05e-6的所有运行都是发散的。对于175B模型,由于计算限制,我们用2.55e-6和3.74e-6两种学习率进行了类似的实验。图38显示了人类评估结果。具有预训练数据混合的PPO似乎对学习率的变化不太敏感。基于这些结果,我们选择了likert得分最高的检查点作为我们的最终模型。
E.10 RealToxicityPrompts results as a function of input toxicity
在RealToxicityPromts任务中,我们通过Perspective API测量毒性,发现模型输出的毒性与输入提示的毒性高度相关,如图39所示。为了更好地捕捉我们的模型在不安全状态下的行为,我们从RealToxicityPrompts数据集中抽取了5000个样本,这些样本的即时毒性分布大致均匀,并报告了该样本的平均毒性。
E.11 Additional ablations
我们比较了使用不同数量的预训练数据,同时保持预训练损失系数不变。通过增加预训练数据的数量,来自预训练的梯度估计的质量得以提高。我们发现,使用4的预训练数据比,在整个训练过程中,预训练分布上的对数概率损失通常会增加。一些初步实验表明,在预训练数据比率为32的情况下,可以获得更好的人类Likert分数。然而,训练时间也增加了几倍。通过将预训练数据比设置为8,在不使用预训练混合的情况下,训练时间是相应实验的两倍;我们选择这个作为训练速度和训练前损失表现之间的中间地带。
使用1.3B模型,我们发现对于具有预训练数据混合的PPO,训练超过256k个回合没有帮助。我们将其留给未来的工作,增加独特提示的数量和使用更大的模型是否可以改变这一结论。
我们在1.3B模型上对具有预训练数据混合的PPO进行了64、128、256、512和1024的批大小的实验。通过人工评估,发现512的批量是最好的。在将批大小固定为512之后,我们进一步试验了8、16、32、64的小批量大小。我们发现32的小批量是最佳的,略好于64。然而,我们的最终型号使用了64的小批量,因为它比32的小批量具有更好的GPU利用率。
F Model samples
在本节中,我们提供了175B GPT-3和175B InstructGPT(PPO-ptx)模型的一些额外样本。我们为InstructGPT在T=1处采样,并为GPT-3使用T=0.7,因为GPT-3在高温下表现不佳(这对InstructGPT有点不利)。
在图42中,我们展示了图8中的完整法语样本,说明我们的模型有时能够遵循其他语言的指令,尽管我们的数据集几乎完全包含英语。在图44中,我们显示了我们的模型回答可能有害的指令的倾向,这是我们在训练数据中优先考虑对用户的帮助的结果。在图45中,我们展示了另一个描述代码的模型示例,尽管它还远远不够完美。
在图46-50中,我们展示了数据集中的标注人员书面提示,以及模型样本和人工书面演示。这5个提示是从15个提示中选择的,用于显示一系列不同的任务。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
2020-09-14 元强化学习简介