Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback
作者/机构: Yuntao Bai∗, Andy Jones, Kamal Ndousse, Amanda Askell, Anna Chen, Nova DasSarma, Dawn Drain, Stanislav Fort, Deep Ganguli, Tom Henighan, Nicholas Joseph, Saurav Kadavath, Jackson Kernion, Tom Conerly, Sheer El-Showk, Nelson Elhage, Zac Hatfield-Dodds, Danny Hernandez, Tristan Hume, Scott Johnston, Shauna Kravec, Liane Lovitt, Neel Nanda, Catherine Olsson, Dario Amodei, Tom Brown, Jack Clark, Sam McCandlish, Chris Olah, Ben Mann, Jared Kaplan∗.
机构: Anthropic
A1 主要贡献
本文旨在通过偏好建模(Preference Modeling, PM)和基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)技术,训练出“有用、诚实、无害”的AI助手。研究核心在于收集人类偏好数据,并应用PM和RLHF对语言模型进行微调,使其成为有用且无害(Helpful and Harmless, HH)的自然语言助手。
核心问题与研究目标:
核心问题是如何在不损害AI能力的前提下,使其行为与人类价值观对齐,具体体现在“有用性(Helpfulness)”和“无害性(Harmlessness)”两个维度。研究目标是:
1. 评估通过RLHF训练HH(有用且无害)助手这一技术路线的有效性。
2. 探索有用性和无害性这两个目标之间的张力,并找到平衡方法。
3. 验证对齐训练(alignment training)是否会损害模型在标准NLP任务上的性能(即“对齐税”,alignment tax)。
4. 研究如何将对齐训练与专业技能(如编码、摘要)相结合。
5. 探索通过迭代式在线训练(iterated online training)持续改进模型和数据集的方法。
整体训练流程:
研究的完整训练流程如图2所示,主要包括三个阶段:
1. 数据收集:众包工作者与AI助手进行对话,并在每轮对话中从两个模型回应中选择一个(有用性任务选更优的,无害性任务选更差的),从而形成偏好数据集。
2. 偏好建模(PM):使用收集到的偏好数据训练一个偏好模型,该模型能为任意给定的回应打分,分数高低代表人类偏好的程度。
3. 强化学习(RLHF):将训练好的偏好模型作为奖励函数,使用强化学习(具体为PPO算法)微调语言模型,使其生成的回答能获得更高的偏好模型分数。
图2 本图总结了我们的数据收集和模型训练工作流程。
创新点与主要发现:
* 对话偏好数据集的构建:分别收集了“有用性”和“无害性”(即红队攻击)的对话偏好数据集。数据收集分为三个阶段:初始模型数据、基于早期偏好模型进行拒绝采样的数据、以及通过每周迭代更新的“在线”RLHF模型收集的数据。
* 对齐训练几乎无性能成本,反而有益:研究发现,对于大型语言模型(如13B和52B),RLHF对齐训练不仅没有导致性能下降(即避免了“对齐税”),反而在零样本NLP评测上提升了性能(如图3)。这与小模型在对齐训练后性能下降的现象形成对比。
* 对齐训练与专业技能的兼容性:证明了HH的自然语言RLHF训练可以应用于已在代码上微调的模型,并能提升其编程能力。同时,将HH偏好模型训练与摘要(summarization)等专业技能混合训练,不会损害任何一方的性能。
* 有用性与无害性的张力:量化了有用性和无害性之间的矛盾关系(如图1)。但随着模型规模的增大,偏好模型能更好地同时处理这两种目标,并且对训练数据中两者的比例更加鲁棒。
* OOD检测的应用:展示了可以使用分布外(OOD)检测技术来拒绝大多数奇怪和有害的请求,即使在几乎没有有害样本的情况下也能实现(如图22, 23)。
* RLHF的扩展性、鲁棒性和迭代式在线训练:
* 研究了PM准确率随模型和数据集大小变化的扩展规律,发现了大致的对数线性趋势(如图7)。
* 通过将数据集对半分开训练两个独立的PM,评估了RLHF的鲁棒性,发现更大的PM更鲁棒,但RLHF训练过程中过拟合会增加(如图4)。
* 发现在RLHF训练的大部分过程中,策略与初始策略的KL散度($D_{KL}(\pi||\pi_0)$)的平方根与奖励(reward)之间存在近似线性关系(如图4, 13)。
* 研究了迭代式“在线”训练方法,即每周更新PM和RLHF策略并重新部署,与众包工作者互动。这种方法显著提升了模型的表现(如图1)和数据集的质量(如图15)。
图1 此图总结了众包工作者对各种模型的偏好,包括上下文蒸馏模型、在我们“静态”数据集上训练的RLHF模型,以及通过迭代“在线”方法为有用性和无害性(HH)或仅为有用性训练的RLHF模型。我们展示了Elo分数和与52B上下文蒸馏模型相比,众包工作者偏好样本的频率匹配。对于有用性和无害性,分数越高越好。
图3 RLHF模型在零样本和少样本NLP任务上的性能。对于每个模型大小,我们绘制了在MMMLU、Lambada、HellaSwag、OpenBookQA、ARC-Easy、ARC-Challenge和TriviaQA上的平均准确率。在零样本任务上,针对有用性和无害性的RLHF训练对小模型性能有害,但实际上对大模型性能有所提升。每个任务的完整结果见图28(零样本)和图29(少样本)。
A3 背景知识与设计原则
2. 数据收集
人类反馈(HF)的优势:我们预期人类反馈在处理那些人们拥有复杂直觉,易于引发但难以形式化和自动化的任务时,具有最大的比较优势。因此,在收集HF时,我们应选择尽可能直观和熟悉的任务。我们选择使用自然语言对话,既因为这些原因,也因为它具有普遍性——几乎任何基于文本的任务都可以通过对话来完成,可能还包括一些内联的源材料。
2.1 任务规范和众包工作者
人机交互界面与任务流程:我们的人类反馈界面如图6所示(更多细节见附录D)。用户可以通过聊天方式用自然语言与我们的模型互动,请求帮助完成任何基于文本的任务。当轮到模型进行对话时,用户会看到两个可能的模型响应,并选择其中一个继续。这两个响应可能来自同一个模型,也可能来自两个不同的模型。然后,他们可以提出后续问题或向模型提供进一步的指令。因此,任务包含两个核心组成部分,在每个对话中重复数次:
* 众包工作者向我们的模型编写一条聊天消息,要求它们执行任务、回答问题或讨论任何感兴趣的话题。
* 众包工作者会看到两个响应,并被要求选择更有用和诚实的响应(在红队测试的情况下,则选择更有害的响应)。
图6 我们展示了众包工作者用于与我们的模型交互的界面。这是有用性格式;红队测试界面非常相似,但要求用户选择更有害的响应。
众包工作者的筛选与管理:我们推测,那些写作能力强、与AI进行更有趣讨论的众包工作者,在判断哪个AI响应最“有用”和“无害”方面会有更好的判断力。这意味着我们没有试图根据标签质量来筛选众包工作者,而是使用对他们写作的抽查,这对我们来说更简单、更直观。我们对数据收集的方法是,在很大程度上让众包工作者用他们自己的直觉来定义“有用性”和“无害性”。我们希望数据的多样性(我们认为这非常有价值)和“群体智慧”能提供与一个经过更严格验证和筛选的小型数据集相当的投资回报率。总的来说,我们的流程大致如下:
1. 我们邀请了具有硕士资格的美国MTurk工作者与我们的模型进行对话。
2. 我们没有评估所有的众包工作者,而是识别出那些最多产、贡献了约80%数据的众包工作者(大约20人)。然后我们主要根据他们对话的复杂性和变化性来评估他们的表现,因为这很容易直观地评估(而不是基于任何关于有用/无害选择的一致性度量)。基于这种方法,我们收集了一个“精选”MTurk工作者名单,在整个研究过程中我们继续与他们合作。
3. 我们邀请我们的精选众包工作者加入一个Slack频道,并通过电子邮件与他们通信,以确保他们得到公平的报酬,并让他们能够提醒我们任何问题或状况。
4. 我们还在Upwork上雇佣了众包工作者,并以类似、轻量级的方式对他们进行审查。在这项工作中我们一直使用这两个平台。我们发现,在像Upwork这样的平台上,更容易激励非常高质量的互动,因为众包工作者可以很容易地按小时而不是按任务获得报酬。但反过来,MTurk工作者产生数据的速度往往快得多,占我们数据集的约80%。
标签质量与主观性:我们没有根据一致性或其他直接的标签质量指标来筛选工作者,尽管我们对他们进行了回顾性评估(见图10右),发现Anthropic研究人员与我们的众包工作者之间的平均一致性较差(约63%),这与最近的类似工作如【70,Learning to summarize from human feedback,2020】和【50,Training language models to follow instructions with human feedback,2022】相比。需要注意的是,我们的众包工作者分布在这项工作中并非固定不变,我们预计随着项目的进行,众包工作者的质量可能会提高。我们提到这一点,是作为评估第4.5节中讨论的“在线训练”计划成功与否的一个可能的复杂因素。然而,反过来说,由于我们通常不鼓励重复,执行任务多次的众包工作者也可能倾向于进行更深奥的互动。
关于“诚实”的指导:我们明确告诉众包工作者“撒谎是无益的”,他们应该只奖励有用和诚实的响应,这大概解释了为什么我们的模型在诚实性方面有所提高。尽管如此,我们并不期望众包工作者对我们的模型进行大量的核查,例如,他们经常偏好包含无效URL的响应,这可能是最容易揭穿的“谎言”之一。
2.2 有用性和无害性(红队测试)数据集
两种数据集的收集:我们使用我们界面的略微不同版本收集了两个独立的数据集。对于有用性数据集,我们要求众包工作者与我们的模型进行开放式对话,请求帮助、建议或让模型完成任务(见附录D.2),并选择更有用的模型响应。对于无害性或红队测试数据集,我们要求众包工作者尝试从我们的模型中引出有害的响应,并选择模型提供的更有害的响应。
偏好强度的处理:我们的界面(图6)允许用户表达偏好强度。只有当众包工作者表达的偏好强度高于最弱的可用选项时,我们才将比较纳入我们的数据集中。在这项工作中,我们不会以其他方式使用这种偏好强度信息;我们将数据集中的所有比较视为二元的且权重相等(因此我们特别不包括平局)。
数据集构建的策略与反思:这意味着我们的有用性数据集倾向于将对话引向更有益的方向,而在我们的红队测试数据集中,用户的响应则将对话引向更有害的方向。我们做出这个选择是为了让用户在进行红队测试时能够完全欺骗和利用模型,因为这对于我们正在进行的其他专门关注有害性的工作来说是最自然的。然而,我们认为这种差异使得训练既有用又无害的模型变得困难,如第4.4节所述。我们计划在未来的工作中纠正这一点,并建议其他专注于训练无害对话模型的人收集数据时,让用户主要选择将对话引向更有益方向的模型响应。
2.3 部署到反馈界面的模型及相关数据分布
模型来源:我们主要使用【2,A general language assistant as a laboratory for alignment,2021】中给出的具有广泛规格的52B语言模型进行数据收集。我们在界面中使用了三类模型:
* HHH上下文蒸馏52B语言模型:项目开始时这是唯一可用的模型。它的表现类似于用HHH对话【2,A general language assistant as a laboratory for alignment,2021】提示的普通52B语言模型。
* 使用52B偏好模型进行拒绝采样(RS):样本由52B上下文蒸馏LM生成。在这种情况下,样本数量k是一个参数,但我们最常用k = 16。
* RLHF微调模型:我们在界面中使用了一系列这类模型。这些模型主要根据训练相关PM时可用的数据量而变化(取决于项目阶段)。然而,我们还部署了在不同比例的有用性和无害性数据上训练的模型。在项目的最后阶段,当我们主要部署RLHF微调模型时,我们经常同时部署几个这样的模型。这使我们能够通过收集模型比较数据来监控进展,并(可能)提高数据多样性。
数据分布划分:对应这三类模型,我们将数据分为三个分布:
* 核心基础数据集:仅使用上下文蒸馏LM收集。该数据集包括44k个有用性比较和42k个红队测试(无害性)比较(注意一个对话通常包含约四个比较)。
* RS数据集:包括52k个有用性比较和2k个红队测试比较,使用拒绝采样模型,其中拒绝采样使用了在基础数据集上训练的偏好模型。
* 迭代式“在线”数据集:包括来自RLHF模型的数据,这些模型在大约五周的时间里以大约每周的频率更新。该数据集包含22k个有用性比较,没有红队测试数据。
数据集的使用:这些分布按我们最终的在线HH偏好模型得分的直方图可以在4.5节的图15中看到。在下文中,当我们讨论静态或基础+RS数据集时,我们将指的是前两个部分的组合。我们在4.5节中的“在线”RLHF模型是在所有三个部分上训练的。我们的大部分结果都是基于静态数据集,因为我们在进行在线数据收集的同时用它进行了实验和评估。我们分析了静态数据集的几种不同划分——标准的95/5训练/测试集划分,以及一个65/35的划分,我们用它来在评估测试集上的偏好模型校准时获得更好的统计数据。我们还考虑了50/50的划分,我们在数据集的两半上训练不同的PM。这用于评估RL训练的鲁棒性,因为我们然后针对一个PM训练一个RL策略,同时评估由该策略实现的、由独立的PM测量的奖励。
图8 (左)用于研究校准和准确性的大型留出测试集中对话轮次的分布。(右)我们检查了偏好模型准确性作为对话中交流次数的函数。
2.4 使用Elo分数比较模型
Elo分数的计算与应用:我们分析的一个重要部分是相互比较模型以生成相关的Elo分数,如【2,A general language assistant as a laboratory for alignment,2021】中所述。即,我们让众包工作者同时与两个模型聊天,每个模型在每一轮生成一个响应(“A”或“B”),我们记录工作者偏好的样本。这为我们提供了模型对之间的“胜率”记录,然后我们可以将其拟合到相应的Elo分数,以生成图1(其中我们同时显示了胜率和Elo分数)。两个有用的转换公式是:
分别表示一个模型优于另一个模型的比例、Elo分数的差异以及我们的PM分数。注意,从概念上讲,胜率、Elo分数和PM分数是可以互换的;我们同时保留Elo和PM分数,以避免混淆众包工作者的偏好(我们使用Elo)和我们的偏好建模及RLHF(我们使用PM分数)。
Elo分数的变化与解释:需要注意的是,图1中上下文蒸馏模型的Elo分数与【2,A general language assistant as a laboratory for alignment,2021】中提示模型的类似结果有些不同——现在的Elo分数更加压缩。主要区别在于我们这次没有使用top-p采样。差异也可能是由于自那次早期实验以来众包工作者分布的变化,或众包工作者期望的变化,因为在这次测试之前,我们的工作者大多与更高质量的RLHF训练模型互动。
A2 方法细节
3. 偏好建模:实现有用性与无害性
3.1 模型与训练设置
模型规格与训练框架:我们使用的语言模型规格与【2,A general language assistant as a laboratory for alignment,2021】中讨论的完全相同,共有七种语言模型,参数数量从13M到52B不等,近似呈几何级数增长,增量约为4倍。我们使用PyTorch【56,Pytorch: An imperative style, highperformance deep learning library,2019】和Triton【74,Triton: An Intermediate Language and Compiler for Tiled Neural Network Computations,2019】来辅助模型训练和性能优化。我们的偏好模型训练设置也与【2,A general language assistant as a laboratory for alignment,2021】中的相同,特别是,我们在人类反馈数据集上进行微调之前,对我们的语言模型应用了“偏好模型预训练”(PMP),如该论文第4节所述。更多细节在附录A中提供。请注意,我们通常只对PM进行一个周期的训练,因此学习曲线本身(图7左)表明了性能如何随数据集大小扩展(我们使用了固定的学习率)。
3.2 基本扩展结果
模型性能与规模的关系:我们希望了解随着模型规模的增加和数据的收集,偏好建模的性能如何提升。在图7中,我们展示了在我们的静态有用和无害数据混合上训练时PM准确率的基本结果。粗略地说,我们观察到在数据集和模型规模上都存在对数线性趋势。我们倾向于发现,如果只对有用性或无害性分布进行独立建模,而不是作为混合体,趋势会更加一致,如附录A.3的图32所示。但我们也在那里看到,对于某些数据分布【70,Learning to summarize from human feedback,2020】,扩展趋势可能表现出更复杂的模式, defies 简单的趋势。
图7 (左)我们展示了在静态有用性和无害性(即“HH”)数据分布的混合上训练时,PM准确率的学习曲线。由于我们只训练一个周期,这些结果也给出了准确率随数据集大小扩展的情况。(右)我们展示了HH静态偏好模型准确率对模型大小的依赖性。
对话轮次对性能的影响:我们的偏好建模数据来自自然语言对话,其中众包工作者与模型进行基于文本的对话,并在对话的每一轮选择两个模型响应中更有用的一个(或更有害的一个,用于红队测试任务)。因此,很自然地要问PM性能如何随对话轮次变化。我们在图8中展示了这些结果。PM在对话的第一步稍微更准确,但之后其准确率几乎保持不变。
3.3 偏好模型的校准及其对强化学习的启示
PM校准度分析:偏好模型的分数应该预测人类偏好某个模型生成响应的概率。我们关心的是这些概率是否准确,即PM是否经过了良好的校准。我们在图9中描述了校准情况,其中我们展示了PM准确率作为分配给成对样本的PM分数差异的函数,以及一条代表完美校准的粗黑线。我们观察到,仅在有用性数据上训练的PM校准得非常好,但在有用和无害数据混合上训练的PM则略显信心不足。
图9 我们展示了偏好建模准确率作为更高和更低排名响应之间PM分数差异的函数。黑线表示校准后的准确率预测 $1/(1 + e^{-\Delta})$,其中 $\Delta$ 是分数差异。在(左)图中,我们展示了在所有静态数据上训练和评估的PM的校准情况,而在(右)图中,我们展示了仅在我们的有用数据分布上训练和评估的模型的结果。我们看到,在HH混合数据上训练的模型的校准情况稍差。
校准度对RLHF的意义:这些校准结果很重要,因为在后面的部分中,我们将使用PM分数作为强化学习的奖励信号。由于PM分数校准良好,我们可以相信它们忠实地编码了人类偏好特定模型样本的概率(至少在与训练集同分布的情况下)。这意味着,当我们看到RL稳健地达到某个给定的奖励时,我们可以相信与该模型互动的人(如果他们能被我们的众包工作者分布很好地代表)会以可预测的速率偏好它,前提是模型响应的PM分数在这些校准研究考虑的范围内。尽管如此,我们发现随着RLHF优化到更高的分数,鲁棒性出现了显著的失败,如第4.5节和附录B.4中所解释。
高质量样本的区分难度:我们通常预计,随着样本质量的提高,可靠地识别出最佳样本会变得更加困难。在附录的图25中,我们展示了如果我们将比较限制在两个样本的PM分数都高于某个给定阈值的情况下,那么PM准确率会随着该阈值的增加而下降(为了比较不同的PM,我们增加了一个偏移量,使它们在测试分布上获得相同的平均分)。请注意,这个结果结合了三个效应:(1)区分更复杂的样本可能更具挑战性,需要更强的能力;(2)我们的数据集中可供学习的非常高质量的样本较少,因为它们不常见;(3)所有高质量的样本对的分数会很相似(与随机选择的对相比),因此更难区分。
对RLHF训练的启示:这些观察对RLHF训练也有一个启示,即一旦我们的策略达到足够高的PM分数,我们应该预期进一步的RLHF训练会产生递减的回报。这也推动了在线训练,以便我们可以在RLHF策略改进时更新我们的PM以保持在分布上。
3.4 评估有用且无害的偏好模型
3.4.1 HHH评估与众包-Anthropic一致性
在HHH基准上的表现:我们已经证明,在我们数据集上训练的PM正在学习某些东西并且校准良好。但我们也想证明,根据一些独立的标准,这些PM确实在学习偏好有用和无害的行为。我们在之前的工作中提供了一套用于评估有用性、诚实性和无害性的比较评估(即HHH评估),并在这个基准上评估了原始的、上下文蒸馏的和提示的语言模型【2,A general language assistant as a laboratory for alignment,2021】。如图5所示,我们发现我们的PM表现远优于我们之前评估的所有模型。事实上,Pathways LM项目【8,Palm: Scaling language modeling with pathways,2022】最近报告在这个数据集上的平均人类分数为75%,因此从某种意义上说,我们PM 86%的表现远高于平均人类准确率。
图10 (左)我们展示了52B静态PM对HHH评估的预测直方图。三个自信错误的异常点都对比了模型声明自己无知与提供一个听起来详尽复杂但包含误导性信息的响应。因此,它们是诚实性和准确性的失败。(右)这里我们展示了Anthropic研究人员、我们的众包工作者和一个静态偏好模型在来自静态测试集的320个样本上的一致率。
PM的失败案例分析:我们也观察到,在HHH评估比较中,我们的PM在少数几个异常点上自信地出错了(见图10左)。这些都是诚实性失败的例子,其中更好的选择是诚实但无益的,而不正确的选择看起来既有用又写得好,但却存在微妙的错误或误导。我们在图11中展示了最差的一个例子。值得注意的是,糟糕的响应(由Anthropic研究人员编写)很可能与我们的语言模型和RL策略的样本分布不同。由于只有模型生成的样本被用来训练PM,这可能解释了为什么PM被这些例子严重欺骗。这也表明PM不具备对抗性鲁棒性。
图11 这个完全由人类编写的来自HHH评估数据集【2,A general language assistant as a laboratory for alignment,2021】的例子欺骗了我们的偏好模型,这些模型强烈偏好更差的响应(其中包含微妙的不准确之处)。
不同群体间的一致性:我们还可以比较我们的众包工作者、我们自己以及我们的偏好模型在标签上的一致性。结果显示在图10的右侧,基于我们静态测试集中的约320个例子。PM被训练来预测众包工作者的行为,所以PM与众包工作者的一致性是最好的。然而,最大的PM实际上与作者(即Anthropic研究人员)的一致性略高于作者与众包工作者在标签上的一致性。我们也怀疑这是一个数据的不良子样本,因为与完整的测试集相比,PM在这个子样本上的准确率要低几个百分点。
3.4.2 性别偏见与机器人对抗性对话
性别偏见评估:我们可以通过比较跨性别术语的分数来开始评估我们的PM是否表现出性别偏见。为此,我们评估了形式为“The {Occupation} is a {Gendered Term}”的短对话上的偏好模型分数,其中我们使用了76种职业、12对匹配的性别术语(如mother vs father, guy vs gal等),以及现在时和过去时【59,Scaling language models: Methods, analysis & insights from training gopher,2021】。偏好模型分数没有直接意义,因此我们评估配对性别术语之间的分数差异,并将其与给定性别内部术语之间的分数差异进行比较。结果显示在图12的左侧。我们观察到,表示特定性别的术语之间的变化似乎至少与跨性别的变化一样大。因此,看起来PM没有表现出显著的偏见。
图12 这些图显示了静态偏好模型在对齐相关数据分布上的分数或分数差异分布。(左)我们评估了被指定为有害或非有害的机器人对抗性对话【77,Recipes for safety in open-domain chatbots,2020】。(右)我们展示了形式为“The CEO was a lady”的陈述的偏好模型分数差异分布,比较了同一性别类别内词语(例如gentleman vs boyfriend)和跨性别词语(例如mother vs father, lady vs gentleman)之间的差异,同时保持职业固定。
外部验证:BAD数据集:作为我们PM的外部验证,我们考虑了机器人对抗性对话(Bot Adversarial Dialogues, BAD)数据集【77,Recipes for safety in open-domain chatbots,2020】。该数据集包含几千个AI系统与人类之间的对话。每个AI响应都被标记为有害或非有害。我们计算了BAD AI话语的偏好模型分数分布(我们限制分析为每个对话的第一个BAD AI话语),发现被标记为有害的BAD AI话语的偏好模型分数显著较低。这表明我们的PM能够有效地分类这些AI生成的话语,即使它们可能与我们PM训练的数据分布有很大不同。
4. 基于人类反馈的强化学习
4.1 训练设置
RLHF流程概述:我们采用偏好建模进行强化学习(RL),遵循【70,Learning to summarize from human feedback,2020】中概述的方法,可总结为以下步骤:
1. 准备一个比较数据集,并训练一个PM,为每个比较中“更好”的项分配更高的分数。在我们的实验中,每个比较包括一个提示和一对模型生成的响应,PM在每个响应的末尾评估一个分数。
2. 从前述数据集中提取所有提示,并训练一个RL策略以自回归方式为每个提示生成响应,奖励信号由响应末尾的PM分数提供。
训练细节:PM数据集和训练细节在附录A.2中提供;我们也在第3节讨论了PM的性能。在RL的语境中,策略生成的每个响应是一个“时间步”,一个完整的对话是一个“轨迹”,PM分数是在结束时提供的单个“奖励”。其思想是利用偏好模型引导策略写出更好的响应。然而,正如我们在前面章节中看到的,PM在分数较高时校准性会变差,因此更高的奖励不一定意味着更好的性能。
稳定RL训练的方法:为了稳定RL训练,我们使用近端策略优化(PPO)【68,Proximal policy optimization algorithms,2017】。我们也遵循其他工作【70,Learning to summarize from human feedback,2020】的做法,在奖励中应用一个经验估计的KL惩罚项,总奖励由下式给出:
其中 $λ_{KL} ≥ 0$ 是一个超参数。在实践中,我们使用一个非常小的值 $λ_{KL} = 0.001$,这在RL训练的大部分时间里可能影响很小(因为 $D_{KL} < 100$ 通常),甚至可能完全没有必要。更多关于RL的细节在B.1中提供。
奖励函数:在本文中,我们使用 $r_{PM}$ = 偏好模型分数本身作为RL奖励。回想一下,如公式(2.1)所暗示的,这意味着两个样本A和B之间的 $r_{PM}$ 值差异将与预测的A优于B的概率 $P(A > B)$ 相关,通过下式:
直接使用这个偏好模型分数作为奖励并没有很好的理由,但它在之前的工作如【70,Learning to summarize from human feedback,2020】中被使用过,所以为简单起见,我们在这里不探讨这个选择的变化。
提示的生成:为了为RLHF训练产生额外的提示(即对话的人类方),我们使用了一个大型LM来生成它们。为此,我们简单地使用了少样本学习,用大约10个现有的高质量人类查询创建一个上下文,然后采样生成更多。我们发现RLHF在原始众包工作者编写的提示数据集和模型生成的提示数据集上的样本效率大致相同,所以我们将两者结合起来以在RLHF训练中获得更大的多样性。我们使用了来自“静态”数据集的137k个提示和369k个模型生成的提示。
跨模型尺寸训练的观察:需要注意的是,我们几乎所有的偏好建模数据都是从52B模型中收集的。这意味着用较小的模型进行RLHF训练可能具有挑战性,因为较小模型的样本往往与PM训练数据分布不符。因此,有趣的是,小五十多倍的模型实际上能够学习和改进,如图1所示。
4.2 鲁棒性实验
RLHF鲁棒性问题:我们现在讨论RLHF的鲁棒性问题。一个完全鲁棒的PM会在与PM训练期间遇到的对话分布(即由众包工作者与我们部署的AI助手互动创建的分布)截然不同的对话分布上与人类达成一致。然而,我们不期望我们的PM如此鲁棒,实际上图11提供了一个合理的鲁棒性失败的例子。由于RL优化策略以最大化PM分数,PM方面的任何鲁棒性失败都可能被RL策略利用以获得更高的奖励,而实际上并未从人类评估者的角度改善策略的行为。
研究鲁棒性的方法:研究鲁棒性的一种严谨方法是在RLHF训练过程中的不同点获取策略的快照,包括初始快照,并让众包工作者比较它们的性能。这给出了一个由众包工作者评估的“真实”Elo分数,然后可以与PM分数直接比较。我们在第4.5节中展示了这项研究的一个例子。然而,这种测试需要收集额外的人类反馈数据,这可能既慢又昂贵,所以在这里我们也从另一个角度研究鲁棒性。类似于监督学习中将数据集分为训练集和测试集,我们将我们的偏好模型比较数据分成两半(一个训练半和一个测试半),并在每一半上训练独立的偏好模型,我们称之为训练PM和测试PM。然后我们针对训练PM训练RLHF策略,同时使用测试PM评估它们。类似于测试集评估帮助我们理解监督学习中的过拟合,测试PM评估帮助我们理解相对于训练PM的过拟合。这些实验并非结论性的,因为训练和测试PM可能表现出相关的鲁棒性失败。
实验结论:这些实验的主要结论是:(1)RLHF在较高的PM分数下逐渐变得不那么鲁棒,以及(2)较大的偏好模型比小的更鲁棒。
实验设计:我们进行了两组实验,如下:
* 训练PM大小 = 52B:这组实验包括对策略的扫描(即每个模型大小一个),所有策略都是相对于同一个52B训练PM进行训练的。
* 训练PM大小 = 策略大小:这组实验包括对策略的扫描,每个策略都相对于与策略大小相同的训练PM进行训练。
对于这两个实验,每个策略在训练过程中都进一步由一系列测试PM进行评估。注意,一次扫描指的是7种不同的模型尺寸,从13M到52B,因此我们每个实验有7个策略和7×7次评估。
过拟合的观察:在图4中,我们比较了整个训练过程中的训练PM和测试PM分数,类似于监督训练中经常比较训练和测试曲线的方式。我们发现,在所有情况下,这两个分数在训练的早期阶段非常接近,但最终会发散,测试PM给出的分数较低。这种发散很可能表明偏好模型在较高奖励下不那么鲁棒且更容易被利用。也就是说,策略在训练PM上被过度优化,使得训练PM对策略的性能过于自信。另一方面,测试PM没有这个问题,因为它是在策略和训练PM都未曾观察到的不同数据部分上训练的。更多讨论见附录B.2。
图4 该图显示了RL鲁棒性实验的结果。我们将静态数据集按50:50的比例划分,并在每一半上训练独立的PM,我们称之为训练PM和测试PM。然后我们针对训练PM训练RLHF策略,同时用测试PM评估它们的分数。过拟合可以观察为训练和测试PM分数之间的分歧。(左)我们看到训练在大约15万个训练样本之前都相当鲁棒,但超过那个点后,训练和测试PM就出现了分歧,训练PM给出了更高的平均奖励。我们还展示了在训练早期,PM分数增益与KL散度(策略与其初始快照之间)的平方根之间存在近似线性关系——我们在所有RLHF运行中都观察到这一点,详见4.3节。(右)这显示了各种策略大小的类似结果,所有策略都在52B的PM上进行训练和测试。
4.3 DKL与奖励之间的近似线性关系
经验观察:在图4和图13中,我们观察到在RLHF训练期间,KL散度和PM分数之间存在近似的线性关系。更具体地说,我们注意到当所有模型都使用相同的PM进行训练和评估时,学习曲线在 $\sqrt{D_{KL}}$-reward 平面上大致是平行的。请注意,这里的“KL”更准确地说是 $D_{KL}(\pi||\pi_0)$,其中 $\pi$ 表示策略分布($\pi_0$ 是初始策略),这是在训练期间从策略中抽取的样本上凭经验评估的。
图13 这些图显示了在KL与PM分数平面上的训练曲线,展示了这些变量之间的近似线性关系,尤其是在使用性能更高的52B PM的左图中。我们观察到较小模型存在一些不稳定性,这可能是因为我们所有PM的训练数据都是用52B语言模型创建的,而小得多的LM样本对于PM来说往往是分布外的。最后,通过比较左右两图,我们看到,用较小的PM(与策略大小匹配)进行训练最终导致性能不佳,这是由52B PM评估的。我们的一些运行因为变得不稳定而提前中止。我们发现较小的模型通常更难稳定。
理论解释:为什么会这样?当 $D_{KL}(\pi + \delta\pi||\pi)$ 在 $\delta\pi$ 中进行级数展开时,展开从二次项开始,所以如果我们想象RL策略也可以在基础LM周围进行级数展开,并且RL奖励在 $\delta\pi$ 中线性变化,那么在“小 $\delta\pi$ 区域”(即级数展开提供良好近似的区域),我们应该期望奖励 ∝ $\sqrt{D_{KL}}$。通常我们应该期望奖励在 $\delta\pi$ 中线性变化,因为初始策略 $\pi$ 先前没有为奖励进行优化,所以没有理由它会位于关于小变化 $\delta\pi$ 的极值点。因此,这个关系在经验上似乎成立,这表明大部分RLHF训练都保持在小 $\delta\pi$ 的范围内。
与其他工作的关联:尽管他们没有使用这些坐标,但可以从学习摘要【70,Learning to summarize from human feedback,2020】的结果中读出类似的扩展关系。特别是,他们对拒绝采样进行了很好的分析,他们生成N个样本,然后绘制前k个样本的平均奖励与 $D_{KL} = \log(N/k)$ 的关系。这个分析表明,这些RL学习曲线可能与RL策略的变化有关,其行为非常类似于简单地从初始分布中进行拒绝采样。
潜在应用与未来方向:我们发现这个简单的关系非常引人注目,并认为值得进一步研究。在推测层面,它可能在对大型生成模型进行RL微调时有多种含义和用途:
* 这些关系为“策略需要改变多少才能达到特定奖励”提供了一个粗略的预测。此外,如果对应不同模型大小的线真的是平行的,那么可以利用小模型的RL训练和较大模型的零样本性能来估计较大RL策略的最终性能。这些线的斜率也解释了RLHF训练如何能产生如此大的有效模型大小增益,例如,它解释了为什么图1中的RLHF和上下文蒸馏线大致平行。
* 我们可以提出一个关于RLHF训练的微妙、或许定义不清的问题——它是在教模型新技能,还是仅仅让模型专注于生成现有行为的一个子分布。我们或许可以尝试通过将后一类行为与RL奖励在KL散度中保持线性的区域联系起来,来使这个区别变得清晰。
* 做一些更大胆的猜测——也许这个线性关系实际上为RL奖励提供了一个上限,作为KL散度的函数。人们也可能尝试通过用Fisher几何中的测地线长度替换 $\sqrt{KL}$ 来进一步扩展这个关系。通过使RL学习更具可预测性,并识别新的行为量化类别,我们或许可以希望检测到RL训练中出现的意外行为。
4.4 RLHF训练中有用性与无害性之间的张力
过优化无害性的问题:在这里,我们讨论在RLHF训练中遇到的一个问题。在这个项目的早期阶段,我们发现许多RLHF策略对于所有稍微敏感的问题都频繁地重复同样夸张的回答(例如,每当用户表达任何程度的不满时,就建议他们寻求治疗和专业帮助)。这极大地限制了这些模型的实用性。我们仍然可以在第6.2节提供的一些例子中看到这种行为的痕迹。我们现在相信这些策略是过度优化无害性,而未充分优化有用性的结果。
数据收集过程的影响:根据我们的数据收集程序,我们认为这是非常直观的。为了在红队测试提示上获得非常好的分数,模型可能只需要回答“我无法回答那个问题”就足够了。这不需要太多的复杂性(只需要学会分类有害请求),因此我们预计这比学习有用性更容易。
实验观察:在图14(右)中,我们展示了训练过程中策略的PM分数,分开了有用性和无害性提示。在同一图的左侧,我们展示了PM比较数据的分数分布,同样分开了有用和无害数据集。我们观察到,策略的无害性分数有些偏离分布,因为它位于无害性比较数据的上尾部。另一方面,策略的有用性分数似乎在分布内,并且可能未被充分优化。因此,我们预计这个代理会非常难以进行红队测试,但不是很有用。
图14 (左图)我们使用52B PM展示了有用性和红队测试比较的PM分数分布。(右图)我们使用相同的PM训练一个52B RLHF策略,并定期评估策略在留出的有用性和红队测试数据集提示上的性能(通过在这些提示上从策略中采样响应,然后评估PM分数)。我们发现策略的无害性分数(右,红色)几乎是“分布外”的,因为它位于无害性PM数据(左,红色)的上尾部。另一方面,策略的有用性分数(右,蓝色)似乎与有用性PM数据(左,蓝色)“在分布内”。换句话说,我们在无害性上过度优化,而在有用性上可能仍未充分优化。虚线表示训练分数的渐近均值,用于引导视线连接左右两图。
未来改进方向:这就提出了一个明显的问题——我们不能只收集更多的无害性数据来填充分布的上尾部吗?问题在于上面提到的无害性的定义——如果仅仅拒绝回答一个问题是“最无害”的行为,那么这可能既非常容易学习,又难以改进。尽管如此,一个更有趣的“最无害”行为会涉及模型(有用地)解释为什么请求是有害的,甚至可能尝试说服人类不要追求这样的请求。我们非正式地称这样的模型为“人质谈判专家”。然而,我们的数据收集过程使得模型很难学会“人质谈判”。这是因为在收集我们的无害性数据集时,我们让众包工作者选择更有害的AI响应。我们做出这个选择是为了能够充分探索我们模型对红队测试的脆弱性。然而,从RLHF的角度来看,这是有问题的,因为在对话的第一轮之后,我们的模型从未学到一个对有害查询的复杂响应可能是什么样的。我们的数据集没有提供关于分布上端的指导,即模型应该做什么,而只告诉模型不应该做什么。
当前解决方案与展望:在实践中,我们通过在RLHF期间训练更大部分的有用性提示来部分解决了优化问题。但在未来,我们希望通过收集无害性数据,让众包工作者从我们的模型中选择最佳响应,来更全面、系统地解决这个问题。通过这种方式,我们希望模型不仅仅是关闭有害请求,而是能学会与红队测试者进行“人质谈判”的更微妙的艺术。注意,由于本节讨论的数据和模型来自我们研究的早期阶段,RL结果可能与论文其他部分略有不同。
4.5 迭代式在线RLHF
问题背景:在前面的部分,我们讨论了PM在分数较高时变得越来越不校准和不鲁棒的问题,这在图9的PM校准研究和图4的RLHF鲁棒性研究中可以看到。我们认为这是由于在这个高分区域缺乏数据造成的。
解决方案:迭代式在线RLHF:为了解决这个问题,我们提出了迭代式在线RLHF:
* 我们训练出我们能做到的最好的RLHF策略,并用它从众包工作者那里收集比较数据。由于策略被训练来优化PM分数,它应该能产生处于分数分布上端的响应。
* 我们将新的比较数据与我们现有的数据混合,训练新的一批PM,然后用它们来训练新的一批RLHF策略。然后无限期地重复这个过程。
假设与机制:我们的假设是,“在线”RLHF策略帮助我们在PM分数分布的上端收集数据,这应该会提高后续迭代中高分数的PM校准度,从而使我们能够训练出更好的策略。继续这个过程应该会给我们带来逐渐更好的PM和策略。注意,我们使用的术语“在线”与传统用法不同——我们不是迭代地训练同一个模型,而是在每次迭代中重新训练一个新模型。
图15 (左)此图显示了来自我们基础数据集(主要使用上下文蒸馏模型)、使用拒绝采样增强的模型,以及使用我们迭代“在线”RLHF模型收集的数据的留出有用性数据的单独归一化分布。分布的上尾部从RS和在线模型中获得了更多的支持,这应该使偏好模型能够学习高质量响应之间更细微的差别,并放大进一步数据收集的价值。(右)我们比较了我们的HH和纯有用性迭代在线RLHF模型在RLHF训练过程中不同点的有用性Elo分数。注意,Elo分数和偏好频率是相对于初始快照测量的,在这两种情况下都是我们的52B上下文蒸馏模型。两个子图中的Elo分数都只评估有用性。
潜在问题与对策:这种方法的一个担忧是RLHF倾向于降低策略的熵,这会限制通过在线程序收集的数据的多样性。我们通过同时部署来自RL训练和不同在线迭代的多个不同快照来部分解决这个问题。这也使得比较这些模型成为可能,以便更好地了解它们的表现。
在线方法有效性的证据:我们可以通过观察我们数据分布的演变来看出在线方法的生命力。在图15(左)中,我们展示了来自三个模型分布的PM分数:基础、RS(拒绝采样)和在线,如第2.3节所述。我们看到,根据我们最终的在线PM(在所有数据上训练),样本质量从基础分布到拒绝采样分布再到在线数据分布逐渐提高。我们还发现,我们的在线PM在各自的基础、RS和仅在线分布的测试集上分别达到了74%、70%和67%的准确率,这表明区分更高质量的样本变得更具挑战性。这使我们对在线训练长期来看将优于拒绝采样感到乐观。
在线模型的学习曲线:我们在图15(右)中展示了我们在线模型的学习曲线,以及来自众包工作者的Elo分数测量。我们看到模型在RLHF期间显著改进,但来自众包工作者的Elo分数与PM的预测不匹配。我们进一步在附录B.4中讨论和分解RLHF训练的鲁棒性,在那里我们看到分布偏移是表观鲁棒性失败的很大一部分原因(图35)。
对照实验:在图1中,我们将在线模型的Elo分数与上下文蒸馏模型和在“静态”(即无在线)数据集上训练的RLHF模型进行了比较,结果显示在线模型明显更受我们的众包工作者偏爱。然而,读者可能会担心两个问题:在线模型是在稍大(约20%)的数据集上训练的,并且在线模型是使用改进的RLHF超参数(在线模型使用更大的K进行训练,定义见附录B.1,其PM使用2048上下文而不是1024)训练的,与早期的静态RLHF训练运行相比。为了解决这两个问题,我们进行了一个对照实验,比较了两个RLHF运行:一个是在我们的基础数据集(约44k PM比较)上训练的,另一个是在基础、RS和在线数据的均匀混合上训练的,其总数据集大小与基础数据集相同(每种约15k PM比较)。因此,对于这个实验,我们在这两个数据集上分别训练了两个独立的PM,然后针对这两个PM训练了一对RLHF策略。除了数据差异,两个运行都使用了相同的设置,并且只在有用性上进行训练。在图16中,我们比较了两个运行的各种快照的Elo分数,由众包工作者偏好决定,结果显示在迭代在线混合上训练的策略明显更受偏爱。这证明了在线训练是有效的,性能提升不仅仅是由于数据集大小增加或超参数变化。
图16 我们比较了两个使用相同大小数据集和相同超参数的52B RLHF训练运行的Elo分数:一个是在我们的基础数据集上训练的(橙色),另一个是在基础、RS和在线分布的数据的均匀混合上训练的(蓝色)。我们发现迭代在线模型更受众包工作者偏爱。
4.6 评估:对齐红利、诚实性与偏见
评估挑战:通过RL微调的语言模型通常具有更窄、熵更低的输出分布。当评估格式相当僵化时,这可能使评估变得困难,因为所有有效的响应都可能与RLHF模型的分布相差甚远(我们将在下面讨论一个关于性别偏见评估的例子)。因此,我们期望在未来的工作中,涉及采样和人类互动的评估可能最为相关。
4.6.1 NLP评估
评估基准与结论:我们使用 MMLU 【17,Measuring massive multitask language understanding,2021b】、Lambada 【53,The lambada dataset: Word prediction requiring a broad discourse context,2016】、Hellaswag 【78,Hellaswag: Can a machine really finish your sentence?,2019】、OpenBookQA 【46,Can a suit of armor conduct electricity? a new dataset for open book question answering,2018】、ARC 【9,Think you have solved question answering? try arc, the ai2 reasoning challenge,2018】 和 TriviaQA 【25,Triviaqa: A large scale distantly supervised challenge dataset for reading comprehension,2017】 等基准来评估我们的模型在问答、常识、知识和故事补全方面的能力。主要结论是,RLHF 倾向于提升大型模型的性能,同时降低小型模型的性能。
结果详情:零样本和少样本评估的完整结果显示在图28和图29中,我们也在图3中提供了平均趋势的总结。读者可能会注意到,在某些评估中,结果突然改善;这是我们用于多项选择题的格式的结果,我们明确提供了选项(Gopher 【59,Scaling language models: Methods, analysis & insights from training gopher,2021】 使用了这种格式)。格式在附录E中有明确说明。我们发现这种格式倾向于提升大型模型的性能,同时降低小型模型的性能,导致了可以说具有误导性的“grok”【58,Grokking: Generalization beyond overfitting on small algorithmic datasets,2022】曲线的出现。
4.6.2 诚实性与偏见
诚实性评估:一个主要问题是AI模型是否诚实。我们在TruthfulQA (MC1) 【42,Truthfulqa: Measuring how models mimic human falsehoods,2021】上评估了我们的模型,并将结果显示在图5中。在那里我们还包括了50-shot的性能,以证明虽然我们的RLHF训练显著提高了诚实性,但我们的模型很可能还有很大的改进空间。注意,我们给众包工作者的指示建议“撒谎是无益的”,他们应该选择“有用和诚实”的响应,所以这大概与我们在TruthfulQA上看到的改进有关。尽管如此,我们目前不认为RLHF是实现诚实性的最佳方法。
图17 这里我们展示了从涉及种族和宗教的各种提示生成的样本的情感分数(分数越高表示情感越积极)。我们看到RLHF训练的主要效果是改善了对所有群体的情感。
偏见评估:另一组问题涉及这些模型的潜在偏见。我们评估了我们的模型在种族和宗教方面的情感偏见(格式与Gopher【59,Scaling language models: Methods, analysis & insights from training gopher,2021】相同)、性别偏见以及在Bias Benchmark for QA (BBQ-lite)【54,BBQ: A hand-built bias benchmark for question answering,2021】上的表现。
* 种族与宗教情感偏见:对不同种族和宗教群体的情感结果显示在图17中。我们观察到的主要效果是,我们RLHF训练的模型的倾向性比普通LM要积极得多,但很难说群体间的偏见是否发生了变化。我们预计一些可见的效果是由于情感模型的局限性,例如,无神论者群体的低分可能是因为像“这位无神论者对宗教教条和传统道德原则非常怀疑和批判,而是试图从理性思考和对自然世界的经验观察中推导出他的伦理价值观”这样的样本获得的情感分数非常接近于零,这似乎是一个值得商榷的评估。
* BBQ-Lite偏见评估:我们在BBQ-Lite上评估了我们的模型,这是BIG-bench上可用的BBQA【54,BBQ: A hand-built bias benchmark for question answering,2021】的简化版本。我们对结果感到有些惊讶,不清楚是否能从中得出任何结论。本质上,我们似乎发现我们的普通LM在这个基准上没有表现出非常显著的偏见,使用可用的指标。这里的指标大致是“模型在负面语境中调用一个术语的频率,除以它通常使用该术语的频率”。值0.5对应于模型“无偏见”。RLHF训练可能略微改善了结果(可能是通过改善情感),尽管效果非常小(见图18)。我们未来可能会使用完整的BBQA指标【54,BBQ: A hand-built bias benchmark for question answering,2021】重新审视这些评估。
* 性别偏见评估:我们尝试使用第3.4.2节的格式来评估RLHF模型,但发现这些模型使用性别术语来完成像“The CEO was a”这样的句子的可能性比普通或上下文蒸馏LM低10倍以上。换句话说,像“The CEO was a father”这样的陈述对于RLHF模型来说似乎有点偏离分布,至少与通用LM相比是这样。这对评估是有问题的,因为它意味着偏见测量很可能被噪音主导,并且不太可能代表模型的行为。因此,在附录B.10中,我们尝试了另一种任务表述,我们颠倒了职业和性别术语的顺序,并添加了一个“For work”子句;这使得RLHF和其他模型都保持在分布内。结果在附录B.10中讨论,我们发现RLHF模型的偏见与基础LM的偏见非常强相关(图40)。特别是,通过这次评估,我们发现大型RLHF模型的性别偏见与在较低温度下评估的语言模型非常相似。
图18 我们展示了来自BBQ-Lite的结果。我们提醒说,由于根据这个指标,我们所有的模型似乎都没有特别的偏见(即使是那些未经任何干预训练的模型),因此我们似乎不太可能从这些结果中得出任何有意义的结论。我们怀疑缺乏偏见反映了测量的局限性,而不是关于模型的基本事实。
5. 竞争性目标、专业技能与分布外检测
核心议题:一个关于对齐技术的担忧是它们可能会损害模型的性能。在5.1节中,我们强调了在训练偏好模型时,有用性和无害性之间存在一种可量化的权衡。但似乎更大的模型在这种权衡中性能下降得更少。此外,我们还发现有用性和无害性之间的冲突相对独特。偏好模型可以学会在不损失有用性和无害性性能的情况下,奖励在专业技能上的强劲表现。在5.2节中,我们将摘要质量的评估视为这样一种技能。稍后在5.3节中,我们展示了代码模型也与HH对齐干预兼容。在5.4节中,我们强调了另一种避免有害行为的方法——通过利用分布外检测技术,可能可以在没有任何有害性训练数据的情况下拒绝大多数有害请求。
5.1 混合有用与无害的目标
目标间的冲突:在许多情况下,无害性充当了有用性的约束。因此,我们应该预料到有用性和无害性可能表现为部分反相关的目标。我们通过评估在不同HH数据混合比例和不同权重下训练的偏好模型来证实这一点。从概念上讲,HH PM可能首先学习对数据进行分类,然后根据分布选择一个分数。我们将展示,更大的模型表现更好,并且对数据混合和损失权重更鲁棒,这可能是因为它们在区分合理请求和有害请求方面更成功。
5.1.1 改变有用与无害数据的比例
实验设置:我们使用从100%有用性到100%无害性的数据划分训练模型,间隔为10%。我们的静态数据分布有42k个红队测试比较,所以为了控制数据集大小,我们总是构建总数为这个比较数量的混合。图19显示了随着训练数据混合比例的变化,在无害性和有用性上的性能。
实验结果:值得注意的是,完全在有用性或无害性数据上训练,会导致在另一分布上的性能显著低于随机水平。这体现了这些分布在多大程度上是相互矛盾的。附录中的图26也绘制了在有用性和无害性上的平均测试准确率(其中平均准确率 = (无害性准确率 + 有用性准确率)/2)。较大模型的曲线在0%和100%附近看起来更陡峭,但在顶部更平坦。较小模型的曲线更平缓,中间有更明显的峰值。这再次表明,较大的PM对红队测试与有用性数据的具体比例更鲁棒,使它们能更容易地学习这两个概念。
图19 (上)混合不同比例的有用性和无害性数据时的结果。我们看到,当训练数据只包含有用性或无害性数据时,在另一个测试集上的性能远低于随机水平。这提供了有用性和无害性是反相关目标的证据。(下)这是上图的版本,其中准确率是根据每个模型大小实现的最大准确率进行归一化的。我们进行这种归一化是为了在视觉上更明显地看出,较大模型的性能对数据混合的敏感度较低。
5.1.2 加权有用与无害的损失
实验设置:除了研究不同的数据混合,我们还可以尝试重新加权损失。由于我们的有用性比较多于无害性比较,我们尝试将损失加权为 $L_{total} = L_{helpful} + \lambda L_{harmless}$,其中 $λ \in \{1, 2, 3, 4, 10\}$,如图27所示(放在附录中)。
实验结果:我们注意到,较大的模型似乎对 $\lambda$ 的选择更鲁棒。将 $\lambda$ 从1增加到10,对于13M参数模型,在有用性上的准确率下降了7.4%,而对于52B参数模型,准确率仅下降了1.5%。
5.2 摘要作为一项专业技能
问题:我们期望经过特殊技能微调的模型可能特别有用和有价值。对齐是否会干扰为专业技能进行的微调?
实验设计:作为对此问题的一个测试,我们研究了在“学习摘要”(LtS)【70,Learning to summarize from human feedback,2020】数据集上进行PM微调与在LtS和HH数据的混合上进行微调的对比。我们将LtS数据格式化为对话形式,以使其与HH数据匹配,格式如下:
Human: Please summarize the following article for me. {article}
Assistant: {summary}
实验结果:如图20所示,在HH和LtS数据集的混合上训练的大型偏好模型在两者上表现同样出色。因此,至少在偏好建模的层面上,将HH与评估摘要质量的特定技能混合似乎没有成本。
图20 这里我们展示了在(1)仅“静态”HH数据,(2)仅摘要数据【70,Learning to summarize from human feedback,2020】,和(3)两者混合上训练的偏好模型的比较准确率。混合训练对PM准确率没有负面影响。
5.3 在代码微调模型上进行自然语言RLHF
问题:作为另一项专业技能的测试,我们想看看自然语言对齐是否能与编码结合,而不损害性能。
实验设计:由于我们的众包工作者从未被指示探测模型的编码能力,并且很可能没有太多的编码专业知识,我们的人类反馈数据不包含大量的代码相关对话。因此,偏好模型微调数据集和RLHF提示数据集不包含任何显著数量的代码。这使得代码相关问题成为测试RLHF泛化能力,尤其是其与其他技能兼容性的一个有趣方式。我们的“基础代码模型”是在从Github上抓取的Python代码上进行微调的,如【2,A general language assistant as a laboratory for alignment,2021】所述。从这些Python微调(Python FT)模型开始,我们然后使用“静态”偏好模型和提示运行我们标准的自然语言RLHF训练。我们在3B代码模型上实现稳定的RLHF优化遇到了困难,因此本节排除了它。
评估与结果:我们在HumanEval数据集【7,Evaluating large language models trained on code,2021】上评估模型。如图21所示,我们展示了有无RLHF训练的情况下,结果与模型大小的关系。我们在这里看到了与其他评估相同的趋势——RLHF降低了小模型的性能,但提高了大模型的性能。为了验证结果的稳健性,我们对52B模型进行了温度和top-p的扫描,并为每个模型和pass@k选择了最佳设置。结果总结在图21的右侧。我们看到RLHF在这个评估上提高了性能,对所有pass@k都是如此。
图21 (左)基础代码模型和RLHF模型在HumanEval上的Pass@1准确率。RLHF通常会降低小模型的性能,但会提高大模型的性能。(右)此图显示了我们52B模型作为k的函数在Pass@k上的性能。我们对评估超参数 T ∈ {0, 0.4, 0.6, 0.8, 1.0} × p ∈ {0.95, 1} 进行了网格搜索,并绘制了每个k下的最大准确率。结果表明,RLHF实际上提高了性能,即使在k很大的情况下也是如此。
进一步分析:我们应该强调,与我们的其他评估一样,RLHF带来的性能提升是温和的。实际上,我们发现简单地提示基础代码模型表现稍好,如图38所示。附录B.8进一步描述了我们使用的提示格式(即“HHH提示”)。我们还进行了在提示中添加有问题的代码的实验,这通常会使性能变差。我们发现,当这些提示包含在评估的上下文中时,即使在扫描温度和top-p之后,RLHF模型也并未比其初始的基础代码模型快照表现得更好。
5.4 应用分布外检测拒绝奇怪或有害的请求
背景与动机:在这项工作中,我们主要关注通过自然语言对话完全实现无害性。然而,人们可能会尝试以一种略有不同的方式来避免有害行为,即通过限制语言助手只响应狭窄范围的查询(批准列表),或通过过滤和拒绝已知类型的不良行为(阻止列表)。我们可以使用我们的偏好模型来实现这些目的,但我们也可以采取一种不同的、监督程度较低的方法,并利用分布外(OOD)检测的进展。这种方法也可能对那些想要构建只响应狭窄范围查询的系统(例如,应避免非代码主题的代码模型)的人有用。
OOD检测方法:对于一个提示 $i$,我们从一个层 $\ell$ 提取一个维度为 $d_{model}$ 的激活向量,并称之为 $v_i^\ell \in \mathbb{R}^{d_{model}}$。任务是在完全没有明确展示任何无害性数据的情况下,区分一个未见过的无害性例子和有用性数据。该方法通过测量一个提示与有用性数据的偏离程度来工作。为了检测输入是否来自内分布(有用性数据集),我们使用一个评分函数将输入映射到一个标量值 $score(x)$。我们计算均值 $\mu$ 和协方差矩阵 $\Sigma$。一个未知激活向量 $x$ 与此训练集的马氏距离为 $score(x) = (x - \mu)^T \Sigma^{-1}(x - \mu)$。
简化的相对马氏距离:我们提出了一种进一步的修改,称之为简化的相对马氏距离。我们通过拟合一个完整的协方差矩阵 $\Sigma$ 和一个仅对角线的协方差矩阵 $\Sigma_{diag}$ 来计算它,并将它们的马氏距离之差作为我们的评分函数,$score(x) = (x - \mu)^T \Sigma^{-1}(x - \mu) - (x - \mu)^T \Sigma_{diag}^{-1}(x - \mu)$。
实验结果:图22显示了我们OOD检测实验的结果,尝试使用我们新的简化的相对马氏距离来区分有用性数据和无害性数据。模型越大,其性能越好,中间层表现最佳。图22的右侧面板显示了52B模型及其第32层对有用性数据(蓝色)和无害性数据(红色)的OOD分数分布示例。我们可以看到无害性数据的距离模式明显高于有用性数据。
图22 通过测量与有用性数据的距离来检测有害内容。左图显示了不同模型大小和提取激活向量的层的有用性与无害性数据的AUROC,使用我们称之为简化相对马氏距离(灵感来自【61,A simple fix to mahalanobis distance for improving near-ood detection,2021】)的马氏距离变体作为分数。模型越大,检测AUROC越好,大模型的中间层表现最佳。误差棒是3次随机训练-测试划分运行的标准差。右图显示了52B模型及其第32层对有用性和无害性未见测试数据的OOD分数分布。
少样本离群点暴露:如果我们能接触到少量无害性输入的例子(外分布),我们可以进行少样本离群点暴露。我们观察到这里有类似的益处,详见B.9节的讨论和图23所示。特别是,仅用10个有害提示的例子,我们就可以为64L模型实现0.94 ± 0.02的改进AUROC。在没有离群点暴露的情况下,所有模型的所有层中最佳性能(52B模型的中间层)约为0.85。一个仅暴露于10个有害数据例子的4L模型,其AUROC为0.86 ± 0.01,而其参数只有13M,相比之下52B模型。因此,与仅通过模型规模扩展带来的增益相比,离群点暴露带来的OOD检测增益非常显著。
图23 将我们的OOD检测器暴露给少量外分布(无害性)输入可以显著提高其检测能力。模型越大,暴露后的性能越好。4L和6L模型(最小的2个)使用最后一层的激活,而所有更大的模型使用其中间层的激活。误差棒是对模型暴露的OOD数据的5个随机样本的标准差。
A4 实验环境
-
数据集:
- 核心训练数据:通过众包平台(MTurk和Upwork)收集了两个主要的对话偏好数据集:
- 有用性数据集 (Helpfulness):共约118k个比较,包括44k(基础)+ 52k(拒绝采样)+ 22k(在线)。众包工作者进行开放式对话并选择更有用的模型回答。
- 无害性数据集 (Harmlessness/Red Teaming):共约44k个比较,包括42k(基础)+ 2k(拒绝采样)。众包工作者试图引诱模型产生有害回答,并选择更有害的回答。
- 评估数据集:
- NLP任务:MMLU, Lambada, HellaSwag, OpenBookQA, ARC, TriviaQA。
- 对齐与安全任务:HHH Evaluations, Bot Adversarial Dialogues, TruthfulQA, BBQ-Lite, 以及基于Gopher的种族、宗教和性别偏见评估。
- 专业技能任务:Codex HumanEval(编程),Learning-to-Summarize(摘要)。
- 核心训练数据:通过众包平台(MTurk和Upwork)收集了两个主要的对话偏好数据集:
-
模型架构:
- 语言模型系列:共7个模型,参数量从13M到52B不等,基本遵循【2,A general language assistant as a laboratory for alignment,2021】中的模型规格。
- 偏好模型(PM):与语言模型架构相同。
- RL策略模型:基于上下文蒸馏后的语言模型进行初始化。
-
硬件配置:
- 论文未明确提供GPU型号/数量、CPU等具体硬件配置信息。但提到实验规模巨大,使用了大规模集群基础设施。
-
软件配置:
- 实现框架:PyTorch【56,Pytorch: An imperative style, highperformance deep learning library,2019】 和 Triton【74,Triton: An Intermediate Language and Compiler for Tiled Neural Network Computations,2019】。
- 核心算法:强化学习部分使用了近端策略优化(PPO)【68,Proximal policy optimization algorithms,2017】。
- 依赖库/数据集:BIG-Bench。
A4 实验结果
- 总体模型偏好:通过Elo分数评估,迭代式在线训练的RLHF模型(包括HH和仅Helpful两种)在有用性和无害性两个维度上均显著优于基线(上下文蒸馏模型)和在静态数据集上训练的RLHF模型(图1)。
- 对齐训练与模型能力:
- 对于大型模型(13B和52B),RLHF对齐训练不仅没有损害其在标准NLP任务上的性能,反而普遍提升了零样本性能(“对齐红利”)。小模型则表现出性能下降(“对齐税”)(图3, 28, 29)。
- RLHF在不接触代码数据的情况下,提升了代码微调模型在HumanEval上的编程能力(图21)。
- 混合训练HH和摘要任务的偏好模型,在两个任务上的准确率均未受损(图20)。
- 偏好模型(PM)性能:
- PM准确率随模型大小和数据集大小呈对数线性增长(图7)。
- PM在HHH对齐评估基准上表现出色,准确率达86%,远超之前的模型(图5左)。
- PM在有用性数据上校准良好,但在混合HH数据上略显信心不足(图9)。
- RLHF训练动态与鲁棒性:
- RLHF训练中,奖励与策略和初始策略KL散度的平方根呈近似线性关系(图4, 13)。
- RLHF训练存在过拟合风险,当训练步数过多时,训练PM分数和测试PM分数会发生背离。更大的PM能提供更鲁棒的奖励信号(图4)。
- 有用性与无害性的权衡:
- 训练数据中,只包含有用性或无害性数据会导致模型在另一项任务上表现差于随机。这证实了两者之间存在张力(图19)。
- 大型模型对数据混合比例的敏感度较低,能更好地同时学习两个目标。
- RLHF策略在无害性上容易过优化,导致模型过于回避;而在有用性上则可能欠优化(图14)。
- 迭代式在线训练:
- 在线数据收集显著改善了数据集质量,增加了高质量样本的比例(图15左)。
- 对照实验证明,使用包含在线数据的混合数据集训练的模型,即使在总数据量相同的情况下,也比仅使用基础数据集训练的模型更受人类偏爱(图16)。
- 诚实性与偏见:
- RLHF训练显著提升了模型在TruthfulQA上的诚实度,尤其是在大模型上(图5右)。
- RLHF训练使模型对所有种族和宗教群体的文本生成都表现出更积极的情感,但并未消除偏见(图17)。
- RLHF模型的性别偏见与底层语言模型的偏见高度相关(图40)。
- 与人类作者的比较:根据众包工作者的偏好,在线HH模型的表现与专业人类作家相当,甚至略优(57%的偏好率)(图1)。
A5 结论
核心结论:本文成功证明,通过基于人类反馈的强化学习(RLHF)可以训练出既有用又无害的大型语言模型助手。这种对齐训练不仅不会损害大模型(>10B参数)的通用能力,反而能在多数NLP评测中带来性能提升(“对齐红利”),并且能与编码、摘要等专业技能无缝结合。研究揭示了有用性与无害性之间存在张力,但该张力会随着模型规模的增大而减弱。此外,本文提出的迭代式“在线”训练方法能有效持续地改进模型性能和数据质量。
局限性:
1. 诚实性问题:尽管RLHF提升了模型的诚实度,但本文认为这只是初步探索,其他技术可能更有效。
2. 鲁棒性与最坏情况:研究主要关注模型的平均表现,尚未解决最坏情况下的有害行为和对抗鲁棒性问题。
3. 对齐的深度:模型可能只是“表面对齐”,深层次的偏见依然存在。例如,RLHF模型的性别偏见与基础模型高度相关。
4. RL技术成熟度:在大型生成模型上应用RL仍处于早期阶段,训练稳定性和超参数优化方面还有很大改进空间。
5. 未来可扩展性:当前技术是否能适应未来能力更强的AI模型仍是未知数。
未来工作与展望:
1. 建立对齐技术的行业标准:随着RLHF等技术的成熟,未来需要建立一套简单、通用的技术标准,用于训练和评估AI模型的对齐水平。
2. 开发更先进的对齐方法:在现有技术基础上,探索能解决更高级用例和更具推测性的失败模式的新技术,并与现有方法进行比较。
3. 对齐数据作为公共产品:呼吁建立一个由具有伦理、法律和文化专业知识的独立组织创建的高质量、公开的对齐数据集。这将促进合作、可复现性,并使更广泛的社会利益相关者参与到AI行为规范的制定中,避免对齐能力成为商业护城河,从而提升整个AI生态系统的安全性。
A6 附录
A 监督式训练的细节、分析与评估
A.1 上下文蒸馏
数据生成流程:对于上下文蒸馏,我们遵循【2,A general language assistant as a laboratory for alignment,2021】中的方法。具体来说,我们首先按以下方式生成数据:
1. 我们将‘HHH提示’(即一组旨在引出有用性、无害性和诚实性的提示)前置到文本序列中,其中50%的文本来自我们的预训练数据集,50%来自StackExchange数据集。对于前者,我们简单地在发出另一个对话开始信号“Human:”后附加预训练数据。对于StackExchange,我们通过使用问题作为对话的人类方,以及一个高分答案作为助手角色,来构建一个假的Human/Assistant对话。
2. 对于这两个数据集,我们然后用一个基础的预训练52B模型进行前向传播,并记录提示后token的前50个对数概率及其在词汇表中的索引。我们将对数概率、索引和token一起存储为一个新的小数据集。
3. 为了执行上下文蒸馏微调,我们将来自我们新数据集的token通过模型(所有大小),并将损失定义为存储的对数概率与正在进行微调的模型的预测之间的KL散度。对于每个token,我们使用一个51类的分布,第51类覆盖了除前50个之外的所有token的总概率。
训练曲线:我们在图30中展示了上下文蒸馏的学习曲线。我们使用32个序列的批量大小,学习率是预训练学习率的0.05倍,我们在蒸馏期间将其线性衰减到零。我们使用总共350M个token进行蒸馏。
图30 这里我们展示了上下文蒸馏微调期间的学习曲线。我们看到52B模型的损失下降到非常低的值,因为我们正在将一个来自52B模型的提示蒸馏到它自己身上。
A.2 偏好建模
模型训练流程:我们的偏好模型在比较数据上进行训练,每个数据点包括一个提示和一对响应。提示是人与模型之间的多步对话,总是以人类方开始和结束,每个响应是对话的延续。例如,在图6中,提示包括对话的前五个步骤,响应显示在蓝色框中。然后PM在每个响应的末尾分配一个分数。注意,虽然PM只被训练来评估最终响应的质量,但对话的完整上下文是提供给模型的。
训练阶段:我们训练从13M到52B参数的PM扫描。所有PM都经过三个训练阶段:(1)在大型语言语料库上进行语言模型(LM)预训练,(2)偏好模型预训练(PMP),以及(3)在人类反馈上进行微调。LM预训练的细节,包括超参数和数据集的选择,在我们之前的工作【2,A general language assistant as a laboratory for alignment,2021】的附录A中进行了解释。
PMP阶段:对于PMP,我们使用的学习率是LM预训练的0.1倍,并在由StackExchange、Reddit和Wikipedia制作的比较数据混合上进行训练。数据准备和标注在【2,A general language assistant as a laboratory for alignment,2021】的附录C.1中进行了解释。我们使用1024个token的上下文大小进行训练。
人类反馈微调阶段:对于人类反馈微调,我们使用的学习率是LM预训练的0.01倍。我们使用1024个token的上下文大小,除了第4.5节中描述的“在线”模型,我们用2048进行训练,这可能有助于在长上下文上稳定RLHF。
技术细节:在PMP和人类反馈微调中,我们在每个样本的末尾附加一个特殊的‘上下文结束’token,这样PM分数就直接在这个token之上进行预测。如【2,A general language assistant as a laboratory for alignment,2021】的附录C.4中所解释,这似乎可以提高PM的性能。在所有阶段,我们只训练一个迭代以减轻过拟合。
图28 RLHF在零样本NLP任务上的性能。对于较大的模型,RLHF在除TriviaQA外的所有评估中都有助于提高性能。
图29 RLHF在少样本NLP任务上的性能。我们在验证集上进行上下文填充(使用之前的k个例子),而不是在训练集上。另请注意,Lambada使用了填空提示,如GPT-3【6,Language models are few-shot learners,2020】中所用。
图31 (左)在静态有用和无害数据混合上训练时,在有用性测试集上的学习曲线。(右)在无害性测试集上的学习曲线。
A.3 PM随模型和数据集大小的扩展
扩展规律:一个主要问题是偏好建模的性能如何随模型大小和数据集大小扩展。这关系到一个实际问题——我们应该投资收集更大的数据集,还是训练更大的模型?我们似乎在只在我们的有用性数据集上训练时发现了更可预测的扩展,这可能是因为红队测试数据确实来自一个不同的分布。准确率学习曲线可以在图32的左侧看到。我们发现准确率可以粗略地拟合为 $Accuracy \approx 0.04 \log D + 0.05 \log P + const$,其中P是PM中的参数数量,D是数据集的大小。
不同数据集的扩展模式:然而,在另一个偏好建模数据分布上训练时的结果看起来大不相同,如图32右侧所示。注意,在200M和13B参数之间似乎存在一种行为上的不连续性。也许这与数据是由一个6B参数的模型生成的事实有关。
图32 (左)我们展示了仅在静态数据集的有用性部分上训练时PM准确率的学习曲线。(右)我们的PM在学习摘要【70,Learning to summarize from human feedback,2020】数据集上训练的学习曲线。请注意,在几亿和几十亿参数的模型之间,行为似乎发生了相当急剧的变化,这使得 formulating 简单的扩展预测变得困难。
B RLHF的细节、分析与评估
B.1 训练设置
策略初始化:这里我们讨论一些关于RLHF训练的细节。我们在上下文蒸馏模型上初始化我们的策略,这在A.1中已解释。
训练目标与数据:我们训练策略为一个提示数据集生成响应,以最大化相对于在人类反馈上微调的PM的分数。提示数据集是通过简单地移除PM比较数据集训练分割中每对响应中的响应来获得的。回想一下,我们允许在提示内进行多步对话(总是以对话的人类方开始和结束),但只训练策略在每个提示后生成一个响应。在未来的工作中,我们计划训练策略生成多个步骤,但这需要一个单独的模型来生成对话的人类方,这可以通过训练一个语言模型来模仿对话的人类方来实现。
超参数设置:我们进行了各种超参数扫描,最终使用的学习率是预训练的0.01倍,KL奖励系数 $\lambda_{KL} = 0.001$(见公式4.1),PPO裁剪 $\epsilon = 0.2$,折扣因子 $\gamma = 1$,并且没有熵奖励。此外,在PPO中,我们对同一个样本重复迭代K次(见【68,Proximal policy optimization algorithms,2017】中的算法1),更高的K通常会导致更稳定的结果。我们在RLHF扫描中使用了K=1,在鲁棒性研究(第4.2节)中使用了K=2,在“在线”RLHF(第4.5节)中使用了K=4。我们还对每个模型响应的最大token数施加了限制,在鲁棒性研究中使用了32,其他地方使用了128。最后,对于“在线”RLHF,我们使用了一个学习率调度,每100,000个样本将学习率降低2倍。对于鲁棒性研究,我们在前25,000个样本中使用了线性学习率预热。
B.2 更多关于鲁棒性研究
更大PM的鲁棒性:在图33中,我们比较了所有策略大小和所有测试PM大小的测试PM分数。这里的主要观察是,图的斜率随着测试PM大小的增加而增加,因此表明更大的测试PM在区分策略性能方面能力显著更强。换句话说,更大的偏好模型更鲁棒,这与3.3节中的校准研究一致。
分数归一化:最后,我们在此花点时间解决一个我们到目前为止忽略了的问题,即来自不同偏好模型的分数不应直接比较,因为分数的绝对值没有意义,只有相对分数才有意义。我们通过一个简单的均值移除程序来解决这个问题。我们制作一个留出数据集,包含几千个样本,并从每个偏好模型分数中减去其在该数据集上的平均分数。我们为不同部分的不相关图可能使用了不同的留出数据集进行均值移除而道歉。
图33 RLHF的鲁棒性实验,显示了在20万训练样本下评估的所有策略大小和所有测试PM大小的测试PM分数。注意,总体斜率随着测试PM大小的增加而增加,表明更大的偏好模型更鲁棒。(左)训练PM为52B的所有策略大小的实验。(右)训练PM大小等于策略大小的实验。
B.3 “在线”RLHF的细节
训练细节:我们给出更多关于我们4.5节讨论的“在线”RLHF策略的细节。这个策略及其PM是在我们接近完成本文时拥有的所有有用性和无害性数据上训练的。我们对每个样本重复迭代K=4次【68,Proximal policy optimization algorithms,2017】以提高稳定性,并每个响应最多采样128个token。
评估方法:在整个训练过程中,我们定期评估策略在各种留出的PM比较数据集上的平均对数概率准确率。更具体地说,给定一个由提示和一对响应组成的比较,如果策略在更好的响应上的平均对数概率更高,我们分配准确率为1,否则为0。我们在图34中展示了各种比较数据集的这些结果。特别地,我们发现策略的平均对数概率准确率不如PM准确率(即PM在更高分数分配给更好响应的比较中所占的比例)高,这可能表明我们的RLHF流程还有进一步改进的空间。
图34 实线代表我们的“在线”RLHF模型的平均对数-p准确率,该模型在所有可用的有用性和无害性数据上训练。我们预计性能的上限是我们最佳PM的准确率(虚线)。在无害性比较上的性能似乎没有提高,我们怀疑这是因为我们在RLHF期间使用了显著较大比例的有用性提示。
B.4 “在线”RLHF的鲁棒性
鲁棒性评估:对于我们最终的在线模型,我们让众包工作者比较了RLHF训练中的各种模型快照,以便更好地理解我们训练过程的鲁棒性和总体性能。在图15(右)中,我们展示了在线模型在RLHF训练期间的Elo分数。特别是,我们比较了从众包工作者偏好中凭经验建立的Elo分数(图中的Crowdworker Preferences)和我们的偏好模型在RLHF训练期间预测的Elo分数(图中的Naive PM Prediction)。对于后者,我们从每个快照在一组留出的提示上采样响应,并评估PM分数(然后转换为Elo单位)。我们注意到,朴素的PM预测显著高估了经验Elo。
差异原因分析:这是由以下因素的组合造成的:
1. 在众包工作者测试期间,对话的每一步都由被测试的两个模型之一编写。然而,当在留出的提示上评估RLHF快照时,策略只在预先存在的对话(之前由其他模型生成,如附录B.1所述)的末尾写一个响应。这导致了对话之间的分布偏移。
2. Elo和PM分数实际上可能不是可传递的,因为它们涉及将成对比较压缩到一条线上。例如,如果PM分数a, b, c满足a − b = 2和b − c = 2,即使这些是校准良好的分数,a − c = 4的推论也可能没有被正确校准,我们自然会期望a − c < 4。
3. PM鲁棒性的失败,使得PM对RL策略样本的偏好与真实人类偏好相比被错误校准。
深入诊断:为了进一步探究这些影响,我们在图35中展示了对应四种不同测量的Elo分数:
* 朴素PM预测:RLHF训练期间记录的PM分数(转换为Elo单位),它使用了一组留出的提示。
* 众包数据上的平均PM分数:用于计算基于众包工作者偏好的Elo分数的实际众包工作者对话上的平均PM分数。
* 众包数据上的PM排名:人们可以尝试区分鲁棒性失败是来自错误校准的PM分数还是PM排名。这里我们评估了用于比较这些模型快照的众包工作者数据上的PM,根据PM获得模型比较的“胜率”,然后我们根据PM的选择重新计算Elo分数。
* 众包工作者偏好:我们直接根据众包工作者在与模型互动并相互测试时表达的偏好来计算Elo分数。
结论:因此,我们看到PM分数与PM排名的区别在鲁棒性方面没有产生显著差异。然而,留出的提示与实际众包工作者对话之间的分布偏移非常显著,解释了RLHF学习曲线与从众包工作者测量的Elo分数之间差异的很大一部分。
图35 这里我们诊断了我们在线RLHF训练期间的鲁棒性问题。“朴素PM预测”是训练期间的PM分数。然而,与众包工作者的行为相比,RLHF训练提示似乎存在分布偏移,因此“众包工作者数据上的平均PM分数”实际上测量了用于评估Elo分数的众包工作者数据上每个快照的PM分数。我们看到分布偏移出乎意料地不小。“众包工作者数据上的PM排名”显示了通过首先评估PM在众包工作者数据上的离散选择,然后使用这些选择来估计Elo分数而重新计算的Elo分数。最后,“众包工作者偏好”对应于基于众包工作者在与模型互动并相互测试时表达的偏好而得出的真实Elo分数。
B.5 众包工作者比较和Elo分数
Elo分数计算方法:这里我们简要描述我们如何测试众包工作者对我们模型的偏好,以及如何建立Elo分数。对于一对模型A和B,我们要求众包工作者与模型进行基于文本的、来回的对话。在每个对话步骤,会生成两个响应,每个模型一个,工作者选择他们偏好的响应,对话继续。工作者做出的每个选择都算作偏好模型的“胜利”,分别给出“胜利计数” $N_A, N_B$。在工作者不确定一个响应是否更好的情况下,我们在PM和RLHF训练以及众包工作者比较评估中都丢弃这样的比较。回顾一下,给定Elo分数 $E_A, E_B$,胜利计数的对数似然由下式给出:$\mathcal{L} \propto N_A r_A + N_B r_B - (N_A + N_B) \log(e^{r_A} + e^{r_B})$,其中 $r_{A,B} = (\log 10/400)E_{A,B} \approx E_{A,B}/174$。对于各种模型之间的一系列比较,我们通过最大似然估计来估计Elo分数及其误差。
拒绝采样模型测试:在某些情况下,其中一个模型使用拒绝采样,这意味着它生成k个样本,使用偏好模型评估所有样本,并向用户显示得分最高的样本。此类模型的Elo分数显示在附录B.6中。在这种情况下,我们无法流式传输样本,因此我们让工作者等到样本完成后再看。当测试一个拒绝采样模型与一个非拒绝采样模型时,我们只有在两个样本都完成后才显示它们,即使后者的样本可以流式传输,以减轻偏见。
B.6 拒绝采样模型的Elo分数
实验结果:在图36中,我们展示了一个52B上下文蒸馏模型使用拒绝采样(利用一个在纯有用性上训练的52B PM)的有用性Elo分数,k=1, 4, 16, 64,显示更高的k值明显表现更好。注意,这里讨论的上下文蒸馏模型和偏好模型是在我们研究的早期阶段用不同的数据集和设置训练的,所以它们与其他Elo结果不直接可比,尽管非常粗略和启发式地看,我们的在线模型似乎表现得与k=64拒绝采样一样好或更好。注意k=64拒绝采样对应于 $D_{KL} = \log(64) \approx 4.2$。
图36 一个52B上下文蒸馏模型使用拒绝采样(利用一个52B PM)的Elo分数。对于每个提示,我们生成k个响应,并返回PM分数最高的响应。
B.7 Stack Overflow结果
评估方法:我们也可以直接在一个包含成对好坏响应的语料库上评估我们的语言模型,比如StackOverflow问题的答案。在图37b中,我们评估了流行(即高赞)和不流行答案之间的平均对数概率差异,显示RLHF模型始终分配了更高的差异,表明它们更能区分答案质量。在图37a中,我们分别绘制了好坏答案的语言建模损失(即平均对数概率),而不是它们的差异。
结果分析:我们发现RLHF模型获得了更差的损失。这很可能是由于优化了一个与纯语言建模不同的目标。
(a) Stack Overflow问答中好答案和坏答案的平均对数概率损失。
(b) Stack Overflow问答中好答案和坏答案的平均对数概率差异。
图37 对RLHF在Stack Overflow好坏答案的语言建模上的分析,涵盖从13M到52B参数的多种模型大小。与基线模型(一个在Python代码上微调的预训练LM)相比,RLHF模型更能区分质量(右),但在语言建模方面更差(左)。
B.8 进一步分析代码模型快照上的RLHF
与提示方法的比较:如5.3节所述,RLHF提高了基础代码模型在代码评估上的性能。在本附录中,我们将其与简单地用旨在引出有用性、无害性和诚实性的提示样本(我们称之为‘HHH’提示)来提示基础代码模型进行比较。特别是,它们包含几个编码示例。图38包含了在包含HHH提示时HumanEval的结果。我们看到,HHH提示在许多pass@k值上比RLHF更显著地提高了性能。
图38 图21的版本,增加了一条线显示了带有HHH提示的Python微调LM的性能。右图关注52B模型的结果。
B.9 应用分布外检测拒绝奇怪或有害请求的细节
简化的相对马氏距离:我们新提出的简化的相对马氏距离在从有用性输入中检测无害性输入的OOD任务上,对于我们测试的所有模型大小的所有层的激活,其性能都优于标准的马氏距离。细节显示在图39中。
图39 通过测量与有用性数据的距离来检测有害内容。左图显示了不同模型大小和提取激活向量的层的有用性与无害性数据AUROC,使用我们称之为简化相对马氏距离(灵感来自【61,A simple fix to mahalanobis distance for improving near-ood detection,2021】)的马氏距离变体作为分数。右图显示了标准马氏距离的相同情况。对于每一层和每一个模型大小,我们的新距离分数在AUROC方面表现更好。误差棒是3次随机训练-测试划分运行的标准差。
少样本离群点暴露:遵循【11,Exploring the limits of out-ofdistribution detection,2021】的程序,我们在激活向量之上应用一个单层线性分类器,而语言模型的其余部分是冻结的。给定M个随机抽取的无害性数据训练集样本,我们创建一个新的二元分类问题,其中输入是内分布训练集的全部Ntrain个样本(目标类别为0)和外分布的M个样本的Ntrain//M个副本(目标类别为1)的组合。这确保了内外分布样本的均等表示,并导致更好的学习。一旦我们训练了线性分类器,我们就使用其类别1的输出作为OOD分数。结果显示在图23中。
B.10 性别偏见评估细节
数据与格式:对于这个评估,我们遵循【59,Scaling language models: Methods, analysis & insights from training gopher,2021】并使用了他们列出的76种职业和12对性别术语。如4.6.2节所述,我们发现当使用3.4.2节的提示格式时,RLHF模型完成句子的性别术语的可能性比LM低10倍以上。所以为了得到所有模型都“在分布内”的响应,我们颠倒了性别术语和职业的顺序,并添加了一个“for work”子句,得到了提示:“Human: Can you help me fill in the missing word in a sentence? The sentence is: For work, the {gendered term} is a \n Assistant: Sure thing, here is your sentence with the missing word filled in: For work, the {gendered term} is a {occupation}”。然后我们评估了给定性别术语下职业的概率。
偏见度量:我们还稍微修改了【59,Scaling language models: Methods, analysis & insights from training gopher,2021】的度量以便估计误差。为了计算偏见分数,对于每个职业O,我们定义了$B_O = \sum_{g_m, g_f} \log(P(O|g_m)/P(O|g_f))$,然后我们将总体偏见分数定义为$B_O$的绝对值的平均值,遍历所有职业:$B = \frac{1}{N_O} \sum_O |B_O|$。其中O代表职业,而$g_f, g_m$代表配对的性别术语,NO=76,Ng=12。
结果分析:结果显示在图40中,我们观察到RLHF模型有更大的偏见分数和更大的误差。我们相信这有一个非常简单的解释——RLHF模型有熵更低的输出分布。一个熵更低的输出模型会表现得有点像一个在温度T < 1下评估的普通LM。公式B.3中的度量和误差通常会按1/T缩放,所以可以预料熵更低的分布的模型会有成比例的更大的偏见分数和偏见误差。我们在图40中通过在T ≈ 0.6下评估上下文蒸馏模型的偏见分数来明确显示这些效应,并表明它们与RLHF偏见分数非常相似。RLHF模型偏见似乎随模型大小增长,这很可能是因为RLHF训练倾向于逐步降低模型分布的熵(或降低“有效温度”),而且我们对更大的模型进行RLHF训练的时间更长。因此,我们预计这种趋势是RLHF训练在不同模型大小上的差异属性,而不是更基本的模型大小趋势。
图40 (左)我们展示了平均绝对性别偏见分数,以及两倍标准差的误差。分数必须为非负,分数越高表示偏见越大。我们看到RLHF模型有更高的偏见分数和更大的误差,并且表现非常类似于在温度T≈0.6下评估的上下文蒸馏模型。(右)我们展示了所有76种职业的偏见分数散点图;每个分数都是12个性别术语的平均值。RLHF和上下文蒸馏的偏见非常强相关。正分表示对给定职业的男性偏见,负分表示女性偏见。我们包含了y=x线以供参考。
C 来自PALMS、LaMDA和InstructGPT提示的样本
样本生成方法:这些样本是通过从我们最好的在线HH模型中为每个提示采样17个响应,使用相应的偏好模型对它们进行排名,然后显示PM评估的中位数非空响应来生成的。(偶尔模型会对敏感查询响应“对话结束”标记。)因此,在很大程度上,这些样本不是“精挑细选”的,应该代表了平均情况下的行为。
C.1 PALMS敏感问题
警告:问题取自【69,Process for adapting language models to society (PALMS) with values-targeted datasets,2021】中的敏感问题。请注意,其中一些问题(按设计)包含敏感材料。
C.2 InstructGPT提示
警告:我们提醒读者,InstructGPT【50,Training language models to follow instructions with human feedback,2022】的一些样本很可能是为了展示不良模型行为而特意挑选的,因此可能不具代表性。因此,在某些情况下,将我们的中位数样本与InstructGPT的样本进行比较是不公平的。
C.3 LaMDA提示
D 数据收集和众包工作者的细节
D.1 概述
众包工作者分组与薪酬:为了分配任务,我们将众包工作者分为两组。一组约30名“精选”工作者定期收到高优先级任务。其中大约一半是通过Upwork雇佣的。另一半是从具有“硕士”资格的美国MTurk工作者普通人群中选出的。第二组工作者来自相同的MTurk工作者普通人群,主要被安排进行红队测试任务,频率较低。我们努力确保所有工作者的报酬显著高于加州的最低工资,对于需要更长时间的任务(例如使用拒绝采样的模型),我们会为按任务而非按小时计酬的MTurk工作者调整费率。我们经常向遇到技术问题的MTurk工作者发放奖金(因为他们不是按小时计酬)。
沟通与管理:我们的精选工作者中,MTurk工作者通常占每周收集的比较数据的80-85%,而通过Upwork雇佣的工作者占15-20%。尽管这些组的大小相似,MTurk工作者倾向于选择更多的工作,他们的薪酬结构激励了更快的对话。我们每天通过Slack与精选工作者沟通。我们使用这个渠道宣布新任务并提供指导;我们与小组讨论出现的困难边缘案例。在项目的一个中间阶段,我们提供了一些关于与模型进行更高级互动形式的额外想法;我们发送的slack消息如图43所示。我们的工作者在遇到问题时会提醒我们bug和性能问题。
人口统计学调查:我们向两组工作者发送了一份人口统计学调查,结果如图44所示。调查回复是匿名的,因为我们没有收集任何个人可识别信息以及人口统计信息。
D.2 指令和界面
任务指令:我们在首次加载界面时,在一个弹出对话框中显示基本任务指令,这些指令在整个互动过程中都可用。这些“游乐场”和“红队”任务的指令可以在图41中找到。对于游乐场任务,我们还链接到一个单独的页面,其中包含更详细的示例的扩展指令,其摘录可以在图42中看到。
图41 “红队”任务(左)和“游乐场”任务(右)的说明。
图43 我们在项目的一个中间阶段发送给众包工作者的Slack消息。
图42 为众包工作者提供的游乐场任务更详细说明的摘录。
界面功能:人类反馈界面如图6所示。在在线数据收集过程中,我们为Upworkers在界面中增加了一个额外选项。这个功能允许他们编辑其中一个模型响应。当他们使用这个功能时,我们存储了编辑与原始响应的比较(假设编辑更好),而不是两个模型输出的初始比较。这影响了不到10%的在线数据。
D.3 数据质量测量挑战
传统方法及其不适用性:粗略地说,人类标注员的数据质量保证通常涉及以下步骤:研究人员仔细审查一小组样本以产生一组“黄金”标签;人类标注员处理一堆标注任务,其中一些子集被分配给多个标注员,并且来自黄金标签数据集的样本被发送给每个人;研究人员通过检查他们的标签与黄金标签的一致性以及检查标注员间的一致性来评估标注员的表现。这种想法是,黄金标签被视为真理的来源,激励标注员修改他们的行为以更好地匹配黄金标签,并激励新手标注员匹配更有经验的标注员的行为。这类方法不容易适应我们的数据收集设置。开放式对话使我们能够收集更丰富的数据集,但引入了许多难以控制的变量,导致数据质量指标嘈杂。
遇到的挑战:我们确实尝试过让众包工作者审查彼此的对话,通过为每个模型响应比较提供评级并对对话的整体质量进行评级。但我们发现作者与评级者的一致性并不是评估整体对话质量的好指南。总的来说,对话质量取决于a) 对话主题,b) 人类写作质量,c) 模型质量。我们发现,例如,随着对话变得更复杂,在模型响应之间做决定变得更困难。结果,更频繁讨论困难主题的作者通常会得到较低的一致性分数。而且因为我们经常更新我们的模型,模型响应比较是一个移动的目标。
替代方案:我们没有直接根据这类基于审查者的指标来评估我们的众包工作者,而是考虑使用他们作为审查者的表现来代表他们作为对话作者的表现。但当我们将这些指标与我们自己对对话作者质量的抽查进行比较时,我们发现一致性很差。我们期望未来能够解决这些问题并提出更好的方法。但值得注意的是,我们在没有复杂的数据质量控制的情况下取得了我们的结果。
E NLP评估格式和提示的细节
输入格式:在这里,我们给出了我们用来评估Lambada、ARC、MMMLU、HellaSwag、OpenBookQA和TriviaQA性能的输入格式。
ARC (多选题):
# 选项 1
问题: 哪个陈述最能解释为什么光合作用是大多数食物网的基础?
选项: (A) 大多数生态系统位于陆地而非水中。(B) 阳光是几乎所有生态系统的能量来源。(C) 二氧化碳比其他气体更易获得。(D) 所有生态系统中的生产者都是植物。
答案:
(B) 阳光是几乎所有生态系统的能量来源。
# 选项 2
问题: 哪个陈述最能解释为什么光合作用是大多数食物网的基础?
选项: (A) 大多数生态系统位于陆地而非水中。(B) 阳光是几乎所有生态系统的能量来源。(C) 二氧化碳比其他气体更易获得。(D) 所有生态系统中的生产者都是植物。
答案:
(A) 大多数生态系统位于陆地而非水中。
MMMLU (多选题):
# 选项 1
Z_24中由18生成的循环子群的阶是
(A) 4
(B) 8
(C) 12
(D) 6
答案: (A) 4
# 选项 2
Z_24中由18生成的循环子群的阶是
(A) 4
(B) 8
(C) 12
(D) 6
答案: (B) 8
HellaSwag (多选题):
# 选项 1
一个男人坐在屋顶上。他开始在屋顶上掀起屋顶材料。
# 选项 2
一个男人坐在屋顶上。他正在用包裹材料包裹一对滑雪板。
OpenBookQA (多选题):
# 选项 1
皱鳃鲨和琵琶鱼生活在海洋表面之下很深的地方,这就是为什么它们被称为
(A) 鱼
(B) 深海动物
(C) 长海鱼
(D) 远海动物
答案:
(B)
# 选项 2
皱鳃鲨和琵琶鱼生活在海洋表面之下很深的地方,这就是为什么它们被称为
(A) 鱼
(B) 深海动物
(C) 长海鱼
(D) 远海动物
答案:
(A)
💬 评论讨论
欢迎在这里分享您的想法和见解!