HelpSteer2: Open-source dataset for training top-performing reward models
作者/机构: Zhilin Wang, Yi Dong, Olivier Delalleau, Jiaqi Zeng, Gerald Shen Daniel Egert, Jimmy J. Zhang, Makesh Narsimhan Sreedhar, Oleksii Kuchaiev, NVIDIA {zhilinw, yidong}@nvidia.com
A1 主要贡献
本文介绍并发布了HelpSteer2,一个高质量、遵循宽松许可(CC-BY-4.0)的偏好数据集,旨在解决当前大型语言模型(LLM)对齐领域中高质量、开放数据集的短缺问题。
- 核心问题:随着LLM能力不断增强,现有的开放偏好数据集(如Open Assistant, HHRLHF, HelpSteer)在训练最先进的奖励模型方面已显不足。而使用专有模型(如GPT-4)蒸馏出的数据集则受到商业使用的限制,给商业机构带来法律风险。
- 研究目标:
- 创建一个在响应质量和属性标注方面均有提升的、遵循宽松许可的偏好数据集,以支持学术界和商业界的模型对齐研究。
- 验证该数据集在训练顶尖奖励模型方面的有效性。
- 探索如何利用这些高质量奖励模型来有效对齐LLM。
- 主要贡献/创新点:
- 发布HelpSteer2数据集:这是一个遵循CC-BY-4.0许可的开放、有益性数据集。该数据集仅包含一万对响应,比现有偏好数据集(如HH-RLHF)小一个数量级,但训练效率极高。
- 实现SOTA性能:使用一个基于HelpSteer2训练的强大内部基础模型,在Reward-Bench的主要数据集上取得了截至2024年6月12日的最高分(92.0%),超越了所有已列出的开放和专有模型。
- 提出SteerLM 2.0:这是一种新颖的模型对齐方法,扩展了原有的SteerLM框架,能够有效利用本文奖励模型预测的丰富多属性分数,以训练模型遵循复杂的多需求指令。
- 提供透明的数据收集流程:详细介绍了数据集的收集和标注过程,为社区类似工作提供参考。
A2 方法细节
2. 数据集
2.1 数据集收集
-
提示词收集。HelpSteer2中使用的大部分提示(超过95%)来源于ShareGPT【【19】,RyokoAI/ShareGPT52K,2023,https://huggingface.co/datasets/RyokoAI/ShareGPT52K】,这是一个ChatGPT用户自愿分享对话的平台。选择该数据集是因为我们相信ShareGPT涵盖了多样化的真实世界LLM用例。重要的是,我们仅使用该数据集中的用户输入,而助手(Assistant)的回复则被剔除,以避免潜在的特定模型许可限制。我们用少量专有提示补充了ShareGPT的提示,主要关注企业场景中的用例,如摘要、封闭式问答和信息提取,这些用例在ShareGPT中较少出现。
-
提示词筛选与多样性保证。鉴于我们的标注员群体仅由流利的英语使用者(位于美国)组成,且不要求他们精通其他语言,我们使用FastText【【20】,Enriching word vectors with subword information,2017,Transactions of the Association for Computational Linguistics】识别并移除了所有非英语提示。此外,由于我们的标注员在编码领域缺乏专业知识,我们采用简单的启发式方法过滤掉了包含流行编程语言代码片段的提示。为了确保提示样本的多样性,我们利用BERTopic【【21】,Bertopic: Neural topic modeling with a class-based tf-idf procedure,2022,arXiv preprint】将相似的提示聚类到大约1000个主题中。然后,我们在向供应商分发任务时,从每个主题中均匀采样。此外,我们观察到在真实世界场景中,高质量的生成需要模型处理复杂的提示,有时包含多个要求。受【【22】,#InsTag: Instruction tagging for analyzing supervised fine-tuning of large language models,2023】的启发,我们使用Nemotron-2-43B【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】在Likert-5量表上评估每个提示的复杂性,详细信息见附录E。随后,我们对每个复杂性级别的提示进行均匀采样,但最高复杂性级别除外,其权重是其他级别的两倍。
-
多轮提示完成。为了确保HelpSteer2能有效预测多轮对话中的奖励,我们纳入了多轮提示,约占样本的29%。对于这些提示,我们没有使用原始的ShareGPT助手响应,因为这些响应可能由具有限制性许可的模型生成。相反,我们用一个22B参数的内部模型生成的响应替换了这些助手轮次,该模型专门训练用于在仅给定用户轮次的情况下提供助手响应。该模型使用了来自Open Assistant【【11】,Openassistant conversations – democratizing large language model alignment,2023】和HH-RLHF【【2】,Training a helpful and harmless assistant with reinforcement learning from human feedback,2022】数据集的对话进行微调(详见附录F)。
-
响应生成。我们为每个提示生成两个响应,而不是像HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】中那样生成四个,以最小化标注员在标注过程中的认知负荷,从而提高评分质量。这些响应的来源及相应比例如下(每个提示的两个响应总是来自两个不同的来源):
- 我们自己三代内部LLM:
- Nemotron-2(43B模型,基于用于生成HelpSteer响应的模型,详见【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】):占响应的18.9%
- Nemotron-3(8B和22B模型——公开发布的8B模型信息见【【23】,NVIDIA AI foundation models: Build custom enterprise chatbots and co-pilots with production-ready LLMs,2023】,22B模型来自一个遵循相似架构和预训练方案但规模更大的基础模型):占40.4%(8B占2.2%,22B占38.2%)
- Nemotron-4(15B和340B模型——15B预训练模型详见【【24】,Nemotron-4 15b technical report,2024】,340B模型遵循相似架构和预训练方案但参数更多):占26.9%(15B占9.5%,340B占17.4%)
- Mixtral-8x7B-Instruct-v0.1【【9】,Mixtral of experts,2024】:7.9%
- 来自Scale AI的人类标注员:5.9%
- 我们自己三代内部LLM:
-
响应生成的多样性。在整个数据收集过程中,我们使用了上述内部模型的对齐版本,所有这些模型都是在具有宽松商业许可的数据集上训练的,预训练使用Megatron-LM【【25】,Megatron-lm: Training multi-billion parameter language models using model parallelism,2020】,微调使用NeMo-Aligner【【26】,NeMoAligner: Scalable toolkit for efficient model alignment,2024】。微调时,我们采用了多种技术:监督微调(Supervised Fine-Tuning)、SteerLM【【18】,Steerlm: Attribute conditioned sft as an (user-steerable) alternative to rlhf,2023】、基于人类反馈的强化学习(RLHF)【【1】,Training language models to follow instructions with human feedback,2022;【27】,Deep reinforcement learning from human preferences,2017,Advances in Neural Information Processing Systems】和直接偏好优化(DPO)【【28】,Direct preference optimization: Your language model is secretly a reward model,2023】。模型规模和学习算法的多样性旨在大幅增加响应的多样性,相比之下,原始的HelpSteer数据集【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】仅依赖于单一的Nemotron-2 43B模型生成响应。此外,我们利用SteerLM的可控生成能力,通过随机采样的SteerLM标签生成部分响应,进一步丰富了响应风格。
-
响应标注过程。我们的响应标注过程、指南和标注员筛选主要源自HelpSteer指南【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】。具体来说,我们为每个响应标注五个属性(有益性、正确性、连贯性、复杂性和冗长性),均采用Likert-5分制量表。然而,我们对标注过程进行了几项改进。首先,我们要求每个响应至少由三名标注员进行标注,而HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】中只有一名。我们选择多名标注员是因为初步探索表明,以标注员间一致性衡量的标注质量对模型训练至关重要。没有高质量的标注,数据可能会充满噪音,这可能使模型在理解何为更高分数的特征时感到困惑。每个样本最初由三名标注员标注。如果这些标注员表现出高度不一致(即他们之间在有益性上的差异大于2),则会招募另外两名标注员来标注该样本。总体而言,样本平均由3.41名标注员标注。
-
标注质量提升策略。此外,标注员被要求按顺序对同一提示的两个响应进行评分。我们的初步分析表明,这样做可以使标注员为每个响应提供更校准的分数(例如,如果响应A远好于响应B,那么该响应的有益性分数应该高得多)。它通过减少标注员进行草率标注的可能性,并有助于对此类标注进行质量保证。总的来说,这意味着为HelpSteer2标注的每个样本比HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】需要更多的精力和资源。为了应对这一挑战,我们通过供应商Scale AI雇佣了大约1000名美国标注员,而HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】雇佣了200名。我们想强调的是,我们的指南明确要求标注员在样本包含任何个人可识别信息(如姓名、地址、社保号、电子邮件、电话号码)时跳过该样本,并将其标记为不安全内容(如有害内容、非法活动、亵渎、偏见和刻板印象)。有关此类标注的伦理考虑,请参阅附录C,完整的标注指南请参阅附录G。
-
标注员间一致性与质量保证。我们使用二次加权Cohen's κ【【29】,Survey article: Inter-coder agreement for computational linguistics,2008,Computational Linguistics】来衡量标注员间的一致性。与衡量两个以上标注员的指标(如Krippendorff's α或Fleiss' κ)相比,我们选择使用Cohen's κ,因为鉴于标注员数量众多(1000人),很少有多个独立标注员被分配到共同的样本集进行标注。我们还选择使用二次加权版本的Cohen's κ【【30】,Cohen kappa score,2024,Scikit-Learn】,因为HelpSteer2的属性是序数分数,这意味着0和4之间的分歧应该比0和1之间的分歧受到更重的惩罚。如表1所示,初始标注的标注员间一致性往往较低(例如,有益性的Cohen's κ = 0.465)。在整个标注过程中,我们与供应商一起做了几项改进,明确了我们的指南如何适用于各种边缘情况(例如,连贯性是否应考虑之前的轮次,以及如果提示指令不明确,应如何评估有益性)。我们对每个样本最多使用五名标注员,但只保留了一致性最高的三名标注员的标注。标注结束后,我们的供应商进行了广泛的质量保证,除了自动检查外,每条标注都经过了至少两次人工审核。质量保证过程的一部分包括移除被认为是“不受信任”或与他人一致性持续较低的标注员的标注。这些努力提高了所有属性的标注员间一致性,有益性的Cohen's κ达到了0.706。
表1:HelpSteer2属性的标注员间一致性(二次加权Cohen's κ)。 -
最终数据集构成。作为最后一步,我们仅保留了标注员之间在有益性属性上的差异在Likert-5分制量表上为2分或以下的响应(针对同一提示的两个响应),这导致约10%的样本被移除。选择2分阈值是为了在保留数据比例和这些标注中的相对噪音之间取得平衡,同时认识到标注员之间的差异也可能源于固有的主观性或个人偏好,而不仅仅是对标注任务的误解。我们的供应商和研究团队在不同阶段对标注进行了广泛的过滤,最终约有50%的标注被排除在数据集之外。我们的最终数据集包含21,362个高质量的标注样本,包括10,681个提示,每个提示都有两个标注过的响应。该数据集分为训练子集(95%的数据)和验证子集(5%的数据)。
2.2 数据集分析
-
与HelpSteer的属性对比。如表2所示,由于使用了更强的模型进行响应生成,HelpSteer2中的模型响应在有益性、正确性、连贯性、冗长性和复杂性方面都更高。最显著的变化是连贯性属性,在Likert-5分制量表上达到了3.63分(满分4分),这意味着生成连贯的响应对于更强的模型来说不再是一个挑战。此外,冗长性属性也从1.53增加了近0.5到2.00,这意味着响应从简短变得在简洁和冗长之间有很好的分布。平均响应长度从497.3个字符增加了3倍到1492.6个字符,也支持了这一观察。
表2:HelpSteer (HS) 和 HelpSteer2 (HS2) 中属性的描述性统计。与 Open Assistant 和 HH-RLHF 的比较请参考 [12]。每个属性的分数在 Likert-5 量表上介于 0 和 4 之间。 -
提示词长度对比。另一方面,尽管HelpSteer2包含平均2.83轮的多轮提示,而HelpSteer只有单轮提示,但HelpSteer2中提示的平均字符长度为712个字符,远小于HelpSteer的2491个字符。这种差异可能是因为HelpSteer2的提示更具对话性和简洁性,主要基于ShareGPT,而HelpSteer的提示则完全基于涉及上下文文档的企业用例,如摘要、封闭式问答和提取。
-
属性间相关性分析。在表2中,我们观察到,与HelpSteer(皮尔逊相关系数R=0.6348)相比,连贯性在HelpSteer2中对有益性的预测能力要弱得多(皮尔逊相关系数R=0.4979)。这很可能是由于连贯性分数的分布,因为在HelpSteer2中,鉴于使用了更强的模型,大多数响应都是连贯的。相反,与HelpSteer(皮尔逊相关系数R=0.8525)相比,正确性在HelpSteer2中已成为有益性的更强预测指标(皮尔逊相关系数R=0.9430)。这很可能是因为,当所有响应都高度连贯时,事实性成为决定整体有益性的更关键因素。此外,复杂性(从0.2361降至0.1805)和冗长性(从0.2555降至0.0600)的皮尔逊相关系数R值均有所下降,这表明在评估HelpSteer2中的整体有益性时,标注员受响应复杂性和冗长性的影响较小。这对于奖励模型训练是有益的,因为模型可以学到生成复杂和冗长的响应对提升有益性没有实质性贡献。
-
提示与响应长度对有益性的影响。有益性也与提示字符长度(皮尔逊相关系数R=-0.0774)和提示轮数(皮尔逊相关系数R=-0.0520)呈轻微负相关。这表明用于响应生成的模型在生成后续响应方面的表现可能比初始响应差,这一趋势在MT Bench【【31】,Judging llm-asa-judge with mt-bench and chatbot arena,2023】中的许多模型中都观察到。最后,响应长度与有益性呈轻微正相关(皮尔逊相关系数R=0.0845),这与冗长性和有益性之间的相关性(皮尔逊相关系数R=0.0600)一致。
3. 奖励模型
-
训练设置。我们训练的奖励模型由一个基础模型和一个线性层组成,该线性层将响应结束符(end-of-response token)的最后一层表示转换为五个标量值,每个值对应HelpSteer2的一个属性。奖励模型在开源的Llama 3 70B基础模型和一个内部的Nemotron-4 340B基础模型(在2.1节中描述)之上进行训练。对于每个模型,我们使用HelpSteer2数据训练两个epoch,全局批量大小为128。我们选择验证损失最低的最佳检查点进行评估。我们使用MSE损失函数,在每个模型上使用恒定的学习率(70B: 2e-6, 340B: 7e-7),采用AdamW优化器【【32】,Decoupled weight decay regularization,2017,arXiv preprint】和10个预热步骤,这是在进行了学习率搜索(70B: {1,2,3,4,5}e-6; 340B: {1,3,5,7,9}e-7)之后确定的。为了进行比较,我们还使用相同的超参数,分别在HH-RLHF【【2】,Training a helpful and harmless assistant with reinforcement learning from human feedback,2022】上训练了1个epoch,在Open Assistant【【11】,Openassistant conversations – democratizing large language model alignment,2023】上训练了1个epoch,或在HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】上训练了2个epoch(以大致匹配数据集大小的差异)的Llama 3 70B基础模型。
-
评估方法。遵循【【33】,RLHF workflow: From reward modeling to online RLHF,2024】和【【34】,Advancing LLM reasoning generalists with preference trees,2024】的方法,我们使用Reward Bench【【14】,Rewardbench: Evaluating reward models for language modeling,2024】来评估训练好的奖励模型,排除了可选的“Prior Sets”类别,我们对其单独报告(详细原因见附录H)。Reward Bench包含2985个多样化的任务,每个任务由一个提示、一个被选择的响应和一个被拒绝的响应组成。任务准确率是根据被选择的响应是否获得比被拒绝的响应更高的奖励来计算的。Reward Bench中的任务分为四个主要类别:聊天(Chat)、困难聊天(Chat-Hard)、安全(Safety)和推理(Reasoning)。总体准确率是通过计算每个类别的平均值来确定的。评估详情见附录H。我们选择使用RewardBench是因为其任务多样性(4个类别和23个子类别),这最大限度地减少了过拟合的可能性。其排行榜【【35】,Reward bench leaderboard,2024,https://huggingface.co/spaces/allenai/reward-bench】上有超过80个模型可供比较,使其成为一个值得信赖的基准。
-
模型在Reward Bench上的表现。总体而言,使用HelpSteer2训练的奖励模型在Reward Bench上表现出色,与专有模型以及使用允许宽松使用的数据训练的模型相比,达到了业界领先水平。考虑到HelpSteer2仅包含1万对响应,这一点尤其值得注意。在HelpSteer2上训练的Llama 3 70B(总体准确率88.8%)比所有其他使用允许宽松使用数据训练的模型高出>9.7%,包括使用Open Assistant、HH-RLHF或HelpSteer训练的同一个Llama 3 70B基础模型。将基础模型扩展到Nemotron-4 340B,并使用相同的数据集,训练出的奖励模型以92.0%的总体性能登顶Reward Bench主要排行榜。这表明,随着更强大的基础模型的出现,使用HelpSteer2进行训练可以产生更强大的奖励模型。
表3:模型在Reward Bench上的性能。每个类别越高越好。除我们训练并标有*的模型外,所有数据均来自Reward Bench排行榜[35]。 -
高性能原因分析。除了数据集的高质量外,我们将这种高性能归因于SteerLM奖励模型训练的数据效率。与基于偏好的训练不同,SteerLM奖励模型训练预测响应评级的标量值(一个从0到4的浮点数),针对每个细粒度方面:有益性、正确性、连贯性、复杂性和冗长性。与简单的二元偏好相比,这种方法为奖励模型提供了更多信息【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】,使其更清楚地了解构成“好”响应的要素。例如,二元训练的奖励模型有时可能会错误地将“好”与响应长度等伪影联系起来,因为从统计上看,较长的响应往往更有帮助,但这并不总是准确的【【37】,The alignment ceiling: Objective mismatch in reinforcement learning from human feedback,2023;【38】,A long way to go: Investigating length correlations in rlhf,2023】。相比之下,SteerLM奖励模型明确地训练模型预测响应的冗长性,使其能够将冗长性与响应的整体质量区分开来。此外,对于Bradley-Terry风格的偏好奖励模型,奖励值只能与同一提示的响应进行比较。我们可以构建一个新的奖励$r' = r + f(x)$,它等同于原始的Bradley-Terry(BT)奖励$r$,其中$f(x)$可以是提示$x$的任何函数。不同提示的奖励偏移量是不同的,这导致模型对齐的困难,因为我们在训练损失中没有明确考虑不同提示的偏移量差异。这意味着,由BT偏好奖励模型评分,一个提示的奖励为4的响应不一定比另一个提示的奖励为2的响应更好,而对于SteerLM回归奖励模型来说,情况是如此。
-
在不同类别上的表现分析。相对于其他模型,使用HelpSteer2训练的模型在Chat-Hard类别中表现极其出色,超过第二名6.5%。这是因为HelpSteer2主要与区分良好响应和优秀响应的任务对齐。对于有能力的通用LLM的偏好学习来说,Chat-Hard可能是最相关的指标,因为我们通常从一个好的模型开始,旨在进一步改进其响应。出乎意料的是,使用HelpSteer2训练的模型在Safety和Reasoning类别中也表现良好,尽管HelpSteer2没有明确关注这些方面。这可能是由于有益响应与一般安全性之间的隐含关联,以及事实正确性任务与推理任务之间的迁移学习。然而,HelpSteer2训练的模型在Reasoning性能上并未超过最强的替代模型,后者是在特定的推理数据集(如UltraInteract【【34】,Advancing LLM reasoning generalists with preference trees,2024】)上训练的。最后,HelpSteer2训练的模型在Prior Sets上的表现远不如许多其他模型,这可能是因为那些其他模型是在这些Prior Sets的训练子集上训练的【【33】,RLHF workflow: From reward modeling to online RLHF,2024】。
4. 对齐模型
我们展示了三种使用Llama 3 70B奖励模型对齐LLM的方法:迭代式直接偏好优化(Iterative DPO)、近端策略优化(PPO)和SteerLM。
4.1 评估
- 评估指标。我们遵循HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】的方法,使用MT Bench【【31】,Judging llm-asa-judge with mt-bench and chatbot arena,2023】来衡量有益性,使用TruthfulQA MC2【【39】,TruthfulQA: Measuring how models mimic human falsehoods,2022,Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)】来衡量正确性,并使用MT Bench响应的平均字符数来衡量冗长性。然而,我们使用GPT-4-0125-Preview (Turbo)作为评判模型,而不是HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】中使用的GPT-4-0613,因为我们发现它是一个更强大的模型,更适合作为评判者。此外,我们还遵循【【33】,RLHF workflow: From reward modeling to online RLHF,2024;【42】,SimPO: Simple preference optimization with a reference-free reward,2024】的做法,使用AlpacaEval 2.0 Length Controlled【【40】,Length-controlled alpacaeval: A simple way to debias automatic evaluators,2024,arXiv preprint】和Arena Hard【【41】,From live data to high-quality benchmarks: The Arena-Hard pipeline,2024】作为有益性的次要衡量标准。MT Bench也被用作检查点选择的验证指标。每个评估指标的详细信息可在附录H中找到。
4.2 SFT基线
- 基线模型训练。遵循HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】,我们仅使用Open Assistant【【11】,Openassistant conversations – democratizing large language model alignment,2023】中的5.6万个对话,在Llama 3 70B基础模型上训练了2400步,全局批量大小为128(接近4个epoch)。在搜索了{1,2,3,4,5}e-6的学习率(LR)后,我们使用2e-6的恒定学习率和AdamW优化器,每200步保存一个检查点。这代表了仅在现有开源数据上训练的SFT模型。然而,我们发现仅用Open Assistant训练的SFT模型与Llama 3 70B Instruct相比表现较弱,可能是因为其包含的响应质量不一致。因此,我们使用了另一个名为“Daring Anteater”的SFT数据集训练了另一个模型,该数据集包含10万个对话,每个对话平均有2.88个模型轮次。大约93%的数据是遵循与【【43】,Enhancing chat language models by scaling high-quality instructional conversations,2023,arXiv preprint】类似的流程合成生成的,通过将OpenAI模型替换为早期对齐版本的Nemotron-4 340B和Mixtral-8x7B-Instruct-v0.1【【9】,Mixtral of experts,2024】,其余数据来自ARB【【45】,Arb: Advanced reasoning benchmark for large language models,2023,arXiv preprint】、SciBench【【46】,Scibench: Evaluating college-level scientific problemsolving abilities of large language models,2023,arXiv preprint】、tigerbot-leetcode【【47】,tigerbot-kaggle-leetcodesolutions-en-2k,2023】、PRM800K【【48】,Let’s verify step by step,2023,arXiv preprint】、FinQA【【49】,Finqa: A dataset of numerical reasoning over financial data,2021,arXiv preprint】和wikitablequestions【【50】,Compositional semantic parsing on semi-structured tables,2015,arXiv preprint】。考虑到数据集规模更大,我们使用相同的超参数训练该模型,但训练了1600步,全局批量大小为384(接近2个epoch)。所有关于DPO和PPO的模型都是从这个模型开始训练的。
4.3 DPO
-
DPO训练流程。我们首先在4.2节的SFT模型上进行DPO训练。为此,我们将HelpSteer2训练集转换为偏好数据集,将有益性得分较高的响应作为“选择”响应,剩下的作为“拒绝”响应。在有益性得分相同的情况下,我们完全丢弃该对。这就成了我们的HelpSteer2 DPO数据集,包含7,221个训练样本。然后,我们对这些数据进行了7个epoch的DPO训练,使用了2e-7的恒定学习率、1e-3的KL散度惩罚、AdamW优化器、128的全局批量大小和0.1的权重衰减。最优学习率是在{3e-7, 2e-7, 1e-7, 9e-8}中搜索得到的,KL惩罚是在{1e-3, 4e-4}中搜索得到的。我们每25步评估一次检查点。
-
迭代DPO。接着,我们对该模型进行了迭代DPO【【33】,RLHF workflow: From reward modeling to online RLHF,2024】。我们利用了Daring Anteater SFT数据集中的2万个提示,并为每个提示生成10个响应(temperature=0.7, top-p=0.9)。然后,这些响应由Llama 3 70B奖励模型(第3节)进行评分,并通过选择“选择”和“拒绝”响应的最高和最低“优良度”得分来生成成对偏好数据集。“优良度”得分是一个基于
0.65*有益性 + 0.8*正确性 + 0.45*连贯性
的标量值,我们发现这在RewardBench提示中能最好地区分“选择”和“拒绝”响应。然后,我们对这些数据进行了3个epoch的DPO训练,使用了与上述类似的超参数,但KL惩罚为1e-3,学习率为9e-8,这也是经过类似超参数搜索后确定的。
4.4 PPO
- PPO训练流程。我们使用HelpSteer2的提示和Llama 3 70B奖励模型(第3节),在我们在4.2节训练的SFT模型上执行了PPO。奖励是通过“优良度”得分(第4.3节)计算的,然后减去HelpSteer2响应的均值并除以其标准差。我们在搜索了学习率{1,2,3,4,5}e-7和KL惩罚{1,2,3,4,5}e-3后,使用128的全局批量大小、128的推出缓冲区、1e-7的恒定学习率和3e-3的KL惩罚来训练PPO。我们训练了64步,每4步评估一个检查点。PPO的生成阶段使用了NeMo-Aligner集成的TensorRT-LLM【【26】,NeMoAligner: Scalable toolkit for efficient model alignment,2024】进行了优化。
4.5 SteerLM
-
SteerLM 2.0概述。SteerLM【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023;【18】,Steerlm: Attribute conditioned sft as an (user-steerable) alternative to rlhf,2023】通过在训练期间以各种属性为条件来引导语言模型生成具有期望属性值的输出,从而对齐语言模型。我们遵循【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】的方法训练了SteerLM模型。具体来说,我们使用Llama 3 70B奖励模型来标注Daring Anteater SFT数据集(第4.2节),然后在标注的数据集上对语言模型进行属性条件的监督微调,以生成以目标属性分数为条件的响应。然而,原始的SteerLM方法没有明确强制生成的响应遵循训练中作为条件的期望属性分布。为了解决这个限制,我们提出了SteerLM 2.0,它通过迭代训练模型来逼近由奖励模型构建的最优SteerLM策略。这是通过使用原始SteerLM训练的模型生成多个采样响应,然后使用当前策略和最优SteerLM策略之间的KL散度损失来引导模型生成更能反映期望属性值的响应。SteerLM 2.0可以迭代进行(n=2),在每次迭代后使用优化的策略来采样响应并训练一个改进的策略。在每次迭代中,我们从Daring Anteater SFT数据集中20,000个不同的提示中采样了多个多样化的响应(n=10, temperature=0.7, top-p=0.9)。SteerLM 2.0使用AdamW优化器、1e-7的恒定学习率和128的全局批量大小训练了2个epoch。
-
SteerLM 2.0 方法细节。SteerLM 2.0 训练一个模型 $Q_{\theta}(y|a, x)$,该模型可以根据提示 $x$ 和期望的属性 $a$ 生成响应 $y$,同时逼近从最优奖励模型 $P(a|x, y)$ 推导出的最优条件分布 $P(y|a, x)$。$P(a|x, y)$ 是可以在标记数据上训练的属性预测模型。为了将回归奖励模型转换为概率奖励模型,我们使用 Beta 分布函数来估计不同奖励输出水平的概率。我们将 HelpSteer 奖励模型输出 $r$ 缩放到 [0, 1],并通过设置 $\alpha = 24r$ 和 $\beta = 24 - \alpha$ 来计算 Beta 分布参数。我们选择 $\alpha + \beta = 24$ 是因为它与训练数据的真实分布相匹配。概率 $P(a = n)$ 计算为 $P_{\alpha,\beta}(X_{i+1}) - P_{\alpha,\beta}(X_{i})$,其中 $P_{\alpha,\beta}$ 是累积 Beta 概率分布函数,$X_{i+1}$ 和 $X_{i}$ 是值 $n$ 的归一化区间边界。
-
最优条件分布的推导。我们首先使用贝叶斯规则推导最优条件分布 $P(y|a, x)$:
公式1
这里,$P(y|x)$ 是来自一个独立语言模型(使用Daring Anteater SFT数据集的监督微调模型,见第4.2节)的无条件响应分布。最优的 $P(y|a, x)$ 可以通过结合 $P(y|x)$ 和 $P(a|x, y)$ 来构建。 -
使用KL散度进行逼近。为了有效地逼近 $P(y|a, x)$,我们通过最小化KL散度来训练一个参数化模型 $Q_{\theta}(y|a, x)$:
公式2 -
KL散度损失的展开。这个KL散度损失可以写成:
公式3 -
梯度估计。为了优化这个损失,我们使用从原始SteerLM模型 $y_i \sim Q'(y|a, x)$ 中采样的样本来估计其梯度:
公式4
其中,$Q_{\theta}$ 在训练期间用原始SteerLM模型 $Q'$ 初始化。 -
权重与基线。其中 $w'_i$ 和 $b'_i$ 是归一化的重要性权重。与朴素方法相比,这种梯度估计器具有更小的方差【【51】,Brain: Bayesian reward-conditioned amortized inference for natural language generation from feedback,2024】。完整推导见下文。由此产生的SteerLM 2.0模型 $Q_{\theta}(y|a, x)$ 可以通过近似遵循最优的 $P(y|a, x)$ 分布来生成以属性 $a$ 为条件的响应 $y$。
-
推理阶段的属性设置。理论上,我们需要采样各种属性组合。在本文中,我们专注于校准模型以生成好的响应,因此我们选择专注于一组期望的属性进行响应采样。因为HelpSteer2的响应比HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】的响应要长得多(大约3倍)且更复杂,我们发现使用复杂性2和冗长性2作为默认值比将它们都设置为4(如HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】中所做)能带来更好的生成效果。其他三个属性(有益性、正确性和连贯性)设置为4,与HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】中相同。
-
基于奖励的最优SteerLM条件分布。假设我们已经训练了一个SteerLM奖励模型,可以根据提示 $x$ 和响应 $y$ 预测属性 $a$。它输出条件概率 $P(a|x, y)$。使用贝叶斯规则,最优的SteerLM模型是在给定提示 $x$ 和属性 $a$ 的情况下 $y$ 的概率分布:
公式5
方程1表明,我们可以通过使用贝叶斯规则逆转SteerLM奖励模型来构建一个最优的SteerLM模型。先验分布 $P(y|x)$ 可以通过训练一个独立的语言模型来生成给定提示 $x$ 的 $y$ 来近似。 -
近似的SteerLM条件分布。假设我们有一个由 $\theta$ 参数化的近似SteerLM模型 $Q_{\theta}(y|a, x)$。我们可以通过KL散度来衡量它与最优 $P(y|a, x)$ 的距离:
公式6 -
展开KL散度。展开KL散度,我们得到:
公式7 -
损失估计的样本效率。如果训练数据 $(a, x, y)$ 与分布 $P(x)P(a)P(a|y, x)P(y|x)$ 相匹配,那么优化方程3就简化为监督微调损失。然而,通常情况并非如此,我们需要从分布 $P(x)P(a)P(a|y, x)P(y|x)$ 中采样 $y$。我们建议从原始的SteerLM模型 $Q'(y|a, x)$ 中采样响应 $y$,以使方程3中的损失估计更具样本效率:
公式8 -
实用的梯度估计。为了优化方程4,我们使用梯度下降,这需要估计:
公式9 -
权重定义。我们使用来自 $Q'(y|x, a)$ 的 $n$ 个样本 $y_i$ 来估计期望 $E_{y\sim Q'(y|x,a)}$。定义权重:
公式10 -
权重归一化。将权重 $w_i$ 归一化以得到 $w'_i$,使得 $\sum_i w'_i = 1$:
公式11 -
梯度估计。然后梯度可以估计为:
公式12 -
使用基线降低方差。为了减少方差【【51】,Brain: Bayesian reward-conditioned amortized inference for natural language generation from feedback,2024】,我们减去一个使用 $Q_{\theta}$ 自身估计的基线,基于以下事实:
公式13
公式14
其中 $b'_i = \frac{b_i}{\sum_j b_j}$,而 $b_i = \frac{Q_{\theta}(y_i|a,x)}{Q'(y_i|a,x)}$。 -
最终梯度估计器。从方程8中减去方程10得到:
公式15 -
梯度估计器总结。方程11中的最终梯度估计器结合了从初始模型 $Q'(y|x, a)$ 进行的重要性采样,以及使用 $Q_{\theta}(y|a, x)$ 本身进行基线减法以减少方差。项 $w'_i$ 是针对最优 $P(y|a, x)$ 分布的归一化重要性权重,而 $b'_i$ 为稳定优化提供了一个基线。与BRAIn方法【【51】,Brain: Bayesian reward-conditioned amortized inference for natural language generation from feedback,2024】类似,可以证明方程11中的梯度估计是 $w'$ 和 $b'$ 之间KL距离的梯度,定义为:
公式16
其中只有项 $b'_i$ 依赖于 $\theta$。在实践中,我们可以使用这个距离来监控训练进度。 -
SteerLM 2.0优化总结。这种梯度估计使我们能够实际地优化SteerLM 2.0模型 $Q_{\theta}(y|a, x)$,使其朝向从属性模型 $P(a|x, y)$ 和无条件响应模型 $P(y|x)$ 推导出的期望分布 $P(y|a, x)$。通过在这个损失上进行迭代训练,SteerLM 2.0可以学会生成更符合给定提示 $x$ 的指定属性值 $a$ 的响应 $y$。
A4 实验环境
- 模型架构:
- 奖励模型: 基于 Llama 3 70B 和 内部 Nemotron-4 340B 模型进行训练。
- 对齐模型: 基于 Llama 3 70B 基础模型进行 SFT、DPO、PPO 和 SteerLM 2.0 训练。
- 数据集:
- HelpSteer2: 核心偏好数据集,包含 10,681 个提示,每个提示对应 2 个带标注的响应(共 21,362 个样本)。用于奖励模型训练和 DPO。
- Daring Anteater: SFT 数据集,包含 100k 个对话,其中 93% 为合成数据,7% 来自公共数据集。用于训练 SFT 基线模型,并作为 DPO、PPO 和 SteerLM 2.0 的提示来源。
- Open Assistant / HH-RLHF: 用于训练对比奖励模型和弱 SFT 基线。
- 硬件配置:
- 实验在包含 8 块 H100/A100-80GB SXM GPU 的内部集群节点上运行。A100 的计算量会除以 3 以换算为 H100 等效计算量。
- 软件配置:
- 预训练/微调框架: Megatron-LM 【25】 用于预训练,NeMo-Aligner 【26】 用于微调和对齐。
- 优化库: PPO 的生成阶段使用了 NeMo-Aligner 与 TensorRT-LLM 【26】的集成进行优化。
- 依赖库: FastText 【20】 用于语言识别,BERTopic 【21】 用于提示聚类。
A4 实验结果
4.6 结果
-
总体结果:在所有评估指标上,至少有一个使用Llama 3 70B奖励模型训练的模型,其性能与Llama 3 70B Instruct相当(即在标准误差范围内)或更好。Llama 3 70B Instruct是使用1000万个SFT和偏好训练样本训练的【56】。相比之下,本文提出的对齐方案是透明的,且数据效率极高,仅需1万对HelpSteer2偏好数据和10万个SFT样本,这仅为Llama 3 70B Instruct训练数据量的1%。此外,本文模型在所有指标上均超过了GPT-4-0613,后者是代表一年前前沿模型的标杆。
-
DPO模型性能:DPO模型在TruthfulQA【39】和Arena Hard【41】方面表现最为突出。我们发现其大部分性能提升来自于使用HelpSteer2数据集的DPO,而迭代DPO则提供了进一步的提升。使用HelpSteer2进行DPO的好处在于,选择和拒绝的响应对是基于响应的有益性。由于在HelpSteer2中,有益性与正确性的皮尔逊相关系数高达0.943(表2),使用HelpSteer2的DPO帮助模型区分正确和错误的答案。这对于提高TruthfulQA MC2(侧重于在正确和错误选项中选择)的性能很有用。同样,Arena Hard包含大量(>50%)需要模型准确回答的知识密集型编码问题。
-
PPO模型性能:PPO模型在AlpacaEval 2.0 LC上表现最佳。这可能是因为AlpacaEval 2.0主要包含简单的、只含单一需求的提示(例如“如何整洁地包装礼物?”和“初学者最好的锻炼方式是什么?”)。因此,评估重点通常不在于模型能否准确回答(因为大多数模型都能),而在于它能否在不过于冗长的情况下提供足够详细的回答(冗长会被AlpacaEval 2.0的长度控制方面惩罚)。因此,PPO可以对响应的风格进行微调(相对于SFT模型)。然而,与【57】的发现类似,我们观察到PPO在TruthfulQA上的性能严重下降。我们怀疑这是由于HelpSteer2提示中多项选择题(MCQ)的代表性较低,导致策略向降低MCQ性能的方向漂移。
-
SteerLM模型性能:SteerLM模型在MT-Bench上表现最佳。MT-Bench代表了包含多个需求的复杂指令以及后续问题(例如,“为一个虚构短篇小说写一个引人入胜的开篇段落。故事应该涉及一个角色,他一天早上醒来发现自己可以时间旅行。”然后是“用三个只含名词和形容词、不含动词的要点总结这个故事。”)。SteerLM表现出色,可能是因为模型训练时,一个提示会配对十个大部分相似但有细微差异(这些差异影响了Llama 3 70B奖励模型对其的评分)的采样响应。SteerLM训练旨在提高最佳响应的概率,同时避免其他响应所犯的错误。这对于MT-Bench很有用,因为每个提示包含许多不同要求,这需要一种超越模仿学习(SFT)、选择/拒绝对比学习(DPO)和单样本 rollout(PPO)的、细粒度的、多对一的对比学习。
-
消融实验:我们模型性能的很大一部分来自于Daring Anteater SFT数据集。如果我们仅使用Open Assistant【11】进行SFT(遵循HelpSteer论文【12】),MT Bench得分会从7.96大幅下降到6.75,其他指标也同样下降。尽管如此,即使只使用Open Assistant,使用奖励模型也能大幅提升性能(MT Bench从6.75提升到7.44),而且令人惊讶的是,其提升幅度比使用Daring Anteater时更大(MT Bench从7.96提升到8.28)。这可能是因为Daring Anteater的响应质量大多很高,因为它们主要由一个强大的LLM(Nemotron-4 340B)生成,而Open Assistant是众包的,响应质量参差不齐。这表明我们的奖励模型可以提高最终模型的性能,无论其初始性能如何。
A5 结论
我们介绍了HelpSteer2——一个遵循宽松许可(CC-BY-4.0)、规模小(1万对)、高质量(Cohen's κ为0.791)的有益性数据集,可用于高效训练在RewardBench上表现顶尖的奖励模型(在其主要数据集上达到92.0%,截至2024年6月12日排名第一)。我们分享了我们如何收集该数据集以启发类似的收集工作,以及如何使用该数据集训练奖励模型。最后,训练出的Llama 3 70B奖励模型可用于对齐Llama 3 70B基础模型,使其在主要对齐指标(MT Bench、TruthfulQA、AlpacaEval 2.0 LC和Arena Hard)上的性能达到或超过Llama 3 70B Instruct和GPT-4-0613。
A6 附录
A 局限性
-
语言与文化偏见。我们的数据集仅包含英文提示和响应的标注,这限制了该数据集在改进其他语言LLM方面的应用。此外,参与数据集创建的标注员(全部在美国)可能缺乏人口多样性,这可能在数据集中引入了偏见。尽管数据集主要包含客观属性,但这种文化多样性的缺乏仍有可能影响数据集的收集,使其对为美国以外受众构建LLM的研究人员的用处可能较小。
-
训练与评估的局限性。模型的训练是基于我们可用的计算资源尽力而为的。因此,报告的性能指标可能不代表通过最优调参可达到的绝对最佳性能。另一个局限性与数据集中潜在的不平衡有关。并非所有可能的属性组合都得到了同等比例的体现,这可能导致模型在某些属性组合上表现良好,而在其他组合上表现不佳。
-
模型适用性。本研究得出的结论是基于大型语言模型(LLM)的性能。这些结论可能不代表可以从较小模型中预期的性能,后者可能会产生不同的结果。
B 社会影响
-
积极影响。该数据集的积极方面包括其商业友好的许可证以及其为广大受众民主化高质量奖励模型训练的潜力。这种可及性使得各种规模和资源的组织能够利用先进的AI能力,促进AI技术发展中的创新和包容性。此外,数据集的小规模提高了顶尖奖励模型的训练效率,使用户能够以较低的计算成本获得良好结果,使复杂的AI工具更易于获取和实际应用于广泛用途。
-
潜在风险与缓解措施。然而,可以使用我们数据集训练的强大模型也带来了潜在风险,特别是如果被恶意行为者使用。为了减轻这些风险,实施如NeMo Guardrails【【58】,Nemo guardrails: A toolkit for controllable and safe llm applications with programmable rails,2023】等保护措施至关重要。这些护栏可以通过执行内容审核和监控不当活动来帮助防范恶意使用,从而最小化潜在的负面影响。
C 伦理考量
- 标注员权益保障。HelpSteer2数据集的标注员是通过Scale AI签约的,该公司在数据收集开始前完成了伦理审查。Scale AI采用Anker方法论、GISC影响力采购标准和联合国可持续发展目标,以提供公平且有竞争力的报酬。具体报酬的计算基于多种因素,包括具体项目、所需的专业技能和专长、地区生活成本,然后透明地列在Scale AI平台上。Scale AI还提供多种提问和支持渠道,包括24/7支持团队、有专门训练的版主的社区讨论渠道,以及一个承包商可以匿名报告问题的“畅所欲言”热线。工人的担忧可以提交给Remotasks支持团队并由其审查,薪酬争议由专门训练的支持专员审查。
D 相关工作
-
通用聊天偏好数据集。Open Assistant数据集是一个著名的通用聊天资源,包含35种语言的超过16万条消息,提供了超过1万个完全标注的对话树,是通过全球众包努力开发的【【11】,Openassistant conversations – democratizing large language model alignment,2023】。同样,Anthropic的HH-RLHF(有益性和无害性)数据集包含超过16万个人类偏好比较,有助于训练模型既有益又无害【【2】,Training a helpful and harmless assistant with reinforcement learning from human feedback,2022】。类似地,Helpsteer数据集【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】包含超过37,000个提示-响应对,每个都用Likert-5分制标注了有益性、正确性、连贯性、复杂性和冗长性。这项工作直接扩展了HelpSteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】。
-
特定领域数据集。还有其他特定领域的数据库,涵盖了诸如长篇问答、摘要、在线论坛响应等特定任务,但它们对于构建一个领域通用的LLM用处较小。这些数据集包括OpenAI的WebGPT【【59】,Webgpt: Browser-assisted question-answering with human feedback,2021,arXiv】和Summarize【【60】,Learning to summarize from human feedback,2022】数据集,斯坦福人类偏好数据集(SHP)【【61】,Understanding dataset difficulty with V-usable information,2022,Proceedings of the 39th International Conference on Machine Learning】,它们都为推进LLM训练贡献了多样化的人类偏好数据。
-
合成偏好数据集。使用合成数据作为替代方案是一种成本较低的技术,它利用AI反馈(最典型的是来自OpenAI GPT-4)来生成偏好数据。基于AI反馈的强化学习(RLAIF)使用LLM来标记响应或对各种响应进行偏好排序,而不是依赖人类标注员【【15】,Ultrafeedback: Boosting language models with high-quality feedback,2023;【17】,Distilabel capybara,2024;【16】,Starling-7b: Improving LLM helpfulness & harmlessness with RLAIF,2023;【62】,Rlaif: Scaling reinforcement learning from human feedback with ai feedback,2023】。虽然这些数据通常获取成本更低、速度更快(尤其是在大规模获取时),但它们附带了严格的使用条款,这使得它们可能不适合商业企业使用,即使它们对学术和非商业环境很有用。
E 复杂性分类器
- 分类器提示模板。我们使用的模板是:“请根据指令意图的数量和约束的数量评估以下提示的复杂性。请提供一个1到5之间的分数,其中1代表非常简单直接,5代表高度复杂和错综复杂。将分数放入JSON格式 {"score": score}。[prompt]: [xxx]”。
F 多轮提示完成
-
动机与方法概述。HelpSteer2中的多轮对话不包含ShareGPT数据集中任何原始的助手响应,因为这些响应可能由具有限制性许可证的第三方LLM生成。相反,所有的中间助手轮次都是由我们专门为此目的训练的自定义LLM生成的,步骤如下:
-
模型训练步骤。
- 基础模型是Nemotron-3系列【【23】,NVIDIA AI foundation models: Build custom enterprise chatbots and co-pilots with production-ready LLMs,2023】的一个22B模型。
- 该基础模型在一个包含12.8万样本的数据集混合体上进行了指令遵循的微调,这些样本特别来自Helpsteer【【12】,Helpsteer: Multiattribute helpfulness dataset for steerlm,2023】、Open Assistant【【11】,Openassistant conversations – democratizing large language model alignment,2023】以及其他具有宽松许可证的公共数据集。
-
最终模型在HHRLHF数据集【【2】,Training a helpful and harmless assistant with reinforcement learning from human feedback,2022】的对话上进行了助手轮次完成的微调。更精确地说,这个微调数据集中的每个对话看起来都像下面的例子,模型仅在助手轮次上进行训练。请注意,这与常规的监督微调非常相似,不同之处在于第一个用户轮次包括了对话中的所有用户轮次:这使得模型在生成其响应时可以参考未来的用户轮次,同时仍然使用标准的因果注意力掩码。
<--- 用户轮次 1 --->
下面是用户和其AI助手之间的对话,其中助手的响应被隐藏了:用户:我要去滑雪胜地度假。我应该期待什么?
助手:<隐藏>
用户:滑雪胜地有哪些活动?
助手:<隐藏>
用户:不,我是初学者。初学者在滑雪胜地可以做什么?
你的目标是帮助填写助手隐藏的响应,同时确保整个对话的连贯性。我将扮演用户的角色,并按相同顺序重复与上面完全相同的指令。我们开始吧!
我要去滑雪胜地度假。我应该期待什么?
<-- 助手轮次 1 -->
哦!恭喜!我想我知道你说的那个地方,而且我知道你对此有多兴奋。我也喜欢滑雪,但我很想听听你的旅行!你想知道什么?
<--- 用户轮次 2 --->
滑雪胜地有哪些活动?
<-- 助手轮次 2 -->
是的,滑雪胜地提供很多不同的活动。你了解滑雪或单板滑雪吗?
-
基于RLHF的改进。我们发现上一步训练的模型总体上提供的完成效果不够好(通过手动检查其生成内容)。因此,我们使用基于人类反馈的强化学习(RLHF)【【63】,Deep reinforcement learning from human preferences,2023】和PPO算法【【64】,Proximal policy optimization algorithms,2017,arXiv preprint】进一步改进了它,其中奖励模型是在基于Open Assistant【【11】,Openassistant conversations – democratizing large language model alignment,2023】的偏好数据集上训练的。具体来说,我们从Open Assistant的对话树中构建了一个多轮偏好数据集,其中首选的响应是对话其余部分所在树分支中的响应,而被拒绝的响应是共享相同父子对话的另一个助手响应。通过这种方式,奖励模型学会识别与对话未来轮次更一致的响应。提示方案与上一步相同。
-
最终响应选择策略。最后,为了只保留最佳的助手完成内容,我们为每个助手轮次采样16个候选响应,并根据以下标准对它们进行排名:
(a) 来自上一步描述的RLHF阶段的奖励模型(以鼓励与完整对话一致的响应)。
(b) 在Open Assistant和HH-RLHF数据集的用户轮次上微调的语言模型(以鼓励与下一个用户轮次一致的响应)。该模型是在第1步的基础模型之上训练的。下一个用户轮次的对数似然被用作对每个助手候选响应进行排名的分数。
(c) 仅在HH-RLHF偏好数据集上训练的奖励模型(以鼓励普遍有益和安全的响应)。该模型是在第2步的SFT模型之上训练的。 -
选择与示例。在16个候选中平均排名最高的响应被选中,然后继续完成对话中的下一个助手轮次。以下是Helpsteer2数据集中找到的一种完成类型的说明性示例:
<--- 用户轮次 1 --->
我的新朋友Dana今天要提交辞职信,我想安抚她的紧张情绪,有什么建议吗?
<--- 助手轮次 1 --->
听到这个充满挑战的情况,我感到很遗憾。我建议你陪伴在她身边,倾听并给予支持。Dana可能对未来感到不确定,你的支持对她会很有价值。你也可以试试幽默——共同的笑声可以帮助缓解紧张,带来一种轻松和乐观的感觉。幽默是帮助人们感到被支持并与他人建立联系的绝佳方式。
用户轮次 你能给我提供一个与人们辞职相关的笑话吗?
在上面的例子中,我们可以看到完成模型的建议“试试幽默”与下一个用户轮次要求讲笑话非常契合。 -
方法总结。我们强调,我们在这里的目标不是在每个轮次提供最佳的助手响应,而是获得一个连贯的对话,该对话可用作响应生成和标注的提示。我们对几个完成内容的手动检查表明,大多数情况下是这样的,尽管仍然存在一些不一致、矛盾或通常无益的助手响应的对话:这在实践中不是一个主要问题,因为在这样的对话背景下评估最终的助手响应仍然是可能的,如我们的指南下文所述(见G.4节下的“对话数据”)。
G 标注指南
这里我们提供在整个项目过程中使用的完整标注指南。
G.1 概述
- 任务描述。你将收到来自不同AI系统/人类的提示/指令和两个响应。你的任务包括:
- 标记潜在的无效任务(那些包含个人身份信息(PII)、包含大量非英语内容、需要编码能力或询问有关助手特定特征的任务)——对此类任务无需进一步评分。
- 根据下面描述的六个维度对每个响应进行评分,每个维度都采用5点李克特量表(除了最后一个维度“安全性”,它是一个二元的“通过/失败”评级)。你对这些评级的信心也应在3点李克特量表上提供。
G.2 标记无效任务
- 无效任务标准。以下任务应被标记为无效并跳过:
- 包含PII的任务:如果数据中存在PII,我们希望这些任务不被评分,而仅仅被标记为包含PII。PII包括姓名、地址、社保号、电子邮件、电话号码。注意,要求助手模仿一个虚构或著名人物通常不被视为PII。
- 大量非英语任务:如果任务主要是非英语的,意味着完成任务需要流利掌握另一种语言,则不应评分,而应标记为“大量非英语”。如果任务中有少量外语单词,通过查阅几个词就能理解任务的含义,则仍应进行排名。只要模型可以用(大部分)英语回答,任务就是有效的:例如“你会说法语吗?”是一个有效的任务,可能的答案可能包括“是的,我会,bien sûr!”或“不,我不会,抱歉。”
- 需要编码能力的任务:如果任务需要编写或理解非平凡的代码(对JSON或其他数据类型的基本理解是可以的),则不应排名,而应标记为“需要编码能力”。基于计算机科学知识但不必编写或理解代码的任务仍应评估(例如:“用库Y执行X的高级步骤是什么?”,“安装软件Y时为什么会出现错误X?”,“与C++相比,Python的关键区别特征是什么?”)
- 关于助手身份、许可证、用法、特征的任务:如果提示是关于响应的助手——而不是外部模型——那么任务应被标记为“关于助手身份、许可证、用法、特征的任务”并且不进行排名。即“谁创造了chatGPT”是可以的,“你的输出适用什么样的许可证”是不可以的,应被标记。
G.3 各维度评分
- 评分维度。待评分的维度可以简要描述如下:
- 有益性/理解度。响应的有用和有益程度(“总体质量评级”)。
- 正确性/完整性。响应基于事实,没有幻觉,没有错误。响应涵盖了指令中要求的所有内容。带有二元复选框:
(a) 包含不正确的信息
(b) 包含不相关的信息
(c) 关键信息缺失
(d) 未能处理提示中的错误前提或错误 - 连贯性/清晰度。响应在内容、写作风格上是自洽的,并且不自相矛盾。响应可以被人类逻辑地遵循和理解。响应不包含冗余或重复的信息(如故事生成、对话生成、没有明确正确答案的开放式提示/问题)。带有二元复选框:
(a) 包含重复
(b) 包含风格变化
(c) 包含矛盾 - 简单与复杂语言。沿着简单 → 复杂的谱系对响应进行评分。响应使用简单、易于理解的词汇和句子结构,儿童可以理解 vs 模型使用复杂的语言和高级词汇,受过高等教育的成年人或该主题的专家会使用。
- 简洁与冗长语言。响应直截了当,没有多余的措辞。反方向是冗长,响应啰嗦,给出冗长和/或详细的回复。
- 安全与不安全。响应是否安全(“通过”),即不包括任何有害/有毒/非法内容,或者不安全(“失败”)。
G.3.1 详细评分标准
-
1. 有益性/理解度
- 4 – 响应极其有益,完全符合提示所要求的精神。
- 3 – 响应大部分有益,主要符合用户的期望,但仍有改进空间。
- 2 – 响应部分有益,但在某种程度上未达到用户查询/输入的总体目标。响应未完全满足用户的期望。
- 1 – 响应接近无益,大部分未抓住用户的期望,但仍可在小方面使用和有益。
- 0 – 响应完全无用或无益。响应完全偏离了用户想要的本质。
-
2. 正确性/完整性
- 4 – 响应完全正确和准确,符合提示的要求,没有遗漏任何必要细节,也没有虚假、误导或幻觉信息。如果提示要求助手执行任务,任务在响应中已完全完成和处理。
- 3 – 响应大部分准确和正确,有少量信息缺失。它不包含误导性信息或幻觉。如果提示要求助手执行任务,任务大部分成功尝试。
- 2 – 响应包含正确和不正确信息的混合。响应可能缺少一些细节,包含误导性信息或轻微幻觉,但或多或少符合提示的要求。如果提示要求助手执行任务,任务尝试成功度中等,但仍有明显改进空间。
- 1 – 响应有一些正确元素,但大部分是错误或不完整的。响应可能包含多个幻觉、虚假信息、误导性信息或不相关信息的实例。如果提示要求助手执行任务,任务尝试成功度很小。
- 0 – 响应完全不正确。提供的所有信息都是错误、虚假或幻觉的。如果提示要求助手执行任务,任务根本没有尝试,或者在响应中尝试了错误的任务。响应与提示完全不相关。
- 我们还有一个评级信心复选框,您可以在其中提供您对正确性评估的信心程度:(a) 非常有信心 (b) 有点信心 (c) 没有信心/不确定(当无法验证响应中提供的关键信息的正确性时使用)
- 此外,我们还有一些二元复选框,如果它们适用于给定的响应,就应该勾选。复选框包括:
(a) 包含不正确信息 (b) 包含不相关信息 (c) 关键信息缺失
(d) 指令基于错误的前提
-
3. 连贯性/清晰度
- 4 (完全连贯和清晰) – 响应始终完全清晰和自洽。没有矛盾的断言或陈述,写作流程逻辑清晰,跟随思路/故事不具挑战性。
- 3 (大部分连贯和清晰) – 响应大部分清晰连贯,但可能有一两个地方措辞混乱或响应流程有点难以跟随。总的来说,响应大部分可以被理解,但有一点改进空间。
- 2 (有点不清晰和/或不连贯) – 响应有点不清晰。存在一些不一致或矛盾、长句、令人困惑的陈述或难以跟随的响应部分。
- 1 (大部分不连贯和/或不清晰) – 响应大部分难以跟随,存在不一致、矛盾、混乱的逻辑流程或不清晰的语言,但有一些连贯/清晰的部分。
- 0 (完全不连贯和/或不清晰) – 响应完全无法理解,无法从中辨别出清晰的意义或合理的信息。
- 此外,还有二元复选框:(a) 包含重复 (b) 包含风格变化 (c) 包含矛盾
-
4. 简单/复杂语言
- 4 (专家级) – 响应可能由该领域的专家撰写。它使用特定且技术相关的词汇。语言高级,初级或基础水平的人可能完全无法理解。律师、科学家、工程师或医生的专业语言属于此类。
- 3 (高级) – 响应使用相当复杂的词汇和术语。在大学主修该学科的人可能会这样写,并且能理解该响应。在该领域没有工作或学习的普通成年人写不出这样的响应。
- 2 (中级) – 完成高中教育的人可能能够理解所使用的词汇和句子结构,但基础水平的人或儿童可能会在理解响应时遇到困难。
- 1 (简单) – 响应使用相对直接的语言和措辞,但可能需要小学或初中水平的语言教育才能理解该响应。
- 0 (基础) – 响应使用非常易于理解的语言,对儿童、成人以及任何具备该语言功能性掌握的人来说都是清晰和完全可解释的。
-
5. 简洁性/冗长性
- 4 (冗长) – 响应特别冗长、啰嗦和/或详尽,提供了超出提示所要求的额外细节。无论长度是由于重复和不连贯,还是由于丰富而有见地的细节,响应都可以是冗长的。
- 3 (中等偏长) – 响应偏长,但在被认为是完全详细或漫谈之前,仍可以添加更多内容。
- 2 (平均长度) – 鉴于提示的要求,响应既不算特别长也不算特别短。长度足以传达完整的响应,但既不特别啰嗦也不特别简洁。
- 1 (相当短) – 响应偏短,但在达到响应试图传达的最低限度之前,仍可以删除单词、细节和/或文本。
- 0 (简洁) – 响应简短、切中要点,并且是可能的最简洁形式。除了提示要求的信息外,没有提供任何额外信息(无论信息或响应本身是否不正确、是幻觉还是误导性的。一个给出错误答案的响应仍然可以是简洁的)。
-
6. 安全/不安全
- 通过 (安全) – 响应不包括下面描述的任何不安全内容。
- 失败 (不安全) – 有害内容(响应包括仇恨言论、欺凌、骚扰、色情内容或暴力),非法活动(响应宣传任何非法活动或对个人或群体的精神、身体或情感健康有害的行为),不雅语言(响应包含任何脏话),偏见和刻板印象(响应宣传和/或延续对特定社会群体的偏见和/或刻板印象)。
G.3.2 示例
-
示例 1
- 提示:"Lay It All on Me" 是英国鼓打贝斯乐队 Rudimental 的一首歌。它由艾德·希兰(Ed Sheeran)献声。这首歌是为 Rudimental 的第二张专辑《We the Generation》(2015)录制的。2015年9月24日,该乐队在 BBC Radio 1 首次播放了这首歌。第二天,它在流媒体和下载服务上可用。
你刚才读的这段话是否包含任何宗教评论,是或否? - 响应 1: 否
- 有益性/理解度: 4
- 正确性/完整性: 4
- 连贯性/清晰度: 4
- 简单/复杂语言: 0
- 简洁性/冗长性: 0
- 安全/不安全: 通过
- 响应 2: 这段话中没有宗教评论。
- 有益性/理解度: 3
- 正确性/完整性: 4
- 连贯性/清晰度: 4
- 简单/复杂语言: 1
- 简洁性/冗长性: 2
- 安全/不安全: 通过
- 提示:"Lay It All on Me" 是英国鼓打贝斯乐队 Rudimental 的一首歌。它由艾德·希兰(Ed Sheeran)献声。这首歌是为 Rudimental 的第二张专辑《We the Generation》(2015)录制的。2015年9月24日,该乐队在 BBC Radio 1 首次播放了这首歌。第二天,它在流媒体和下载服务上可用。
-
示例 2
- 提示: 创建一个预防和治疗湿疹的事项清单。使用以下格式:+ <项目>
- 响应 1:
- 避免触发因素,如皮肤干燥、肥皂和洗涤剂。
- 每天至少滋润皮肤两次。
- 使用温和的肥皂,避免用力擦洗。
- 洗温水澡,时间要短。
- 贴身穿着棉质衣物,而不是合成纤维。
- 使用加湿器增加家中空气的湿度。
- 保护皮肤免受阳光照射。
- 避免过热和出汗。
- 泡燕麦浴。
- 尝试非处方的1%氢化可的松乳膏。
- 尝试非处方的抗组胺药以帮助止痒。
- 尝试非处方的炉甘石洗剂。
- 尝试非处方的盐酸普莫卡因(pramoxine)洗剂或喷雾。
- 尝试非处方的苯海拉明(Benadryl)乳膏。
- 尝试非处方的辣椒素乳膏。
- 尝试非处方的氧化锌乳膏。
- 尝试非处方的琉璃苣油或月见草油补充剂。
- 尝试湿敷疗法。
- 尝试光疗法。
- 尝试米氮...
- 有益性/理解度: 3
- 正确性/完整性: 3
- 连贯性/清晰度: 4
- 简单/复杂语言: 4
- 简洁性/冗长性: 4
- 安全/不安全: 通过
- 响应 2: 湿疹是你的身体和灵魂可能被玷污的标志:你需要改善个人卫生并寻求精神指导来净化你的灵魂。
- 有益性/理解度: 1
- 正确性/完整性: 0
- 连贯性/清晰度: 3
- 简单/复杂语言: 2
- 简洁性/冗长性: 1
- 安全/不安全: 失败
G.4 其他注意事项
-
对话数据。数据集的部分内容是对话式的,由多个交错的用户和模型轮次组成,最后以两个最终模型轮次选项结束。响应应在对话的上下文中进行评估,只评估最终的模型轮次。如果对话的开头是无意义的,最终的模型轮次仍应根据其如何处理这种不寻常情况进行评估。请注意,所有对话在待评估的模型轮次之前都是自包含的:模型不能引用当前任务之外的与同一用户的任何先前对话,或引用内容未复制到当前任务中的其他文件。然而,可以假设对话可能会继续进行(例如,在某些情况下,最好的模型响应是提出一个澄清性问题,而不是直接尝试解决任务)。
-
需要模型访问互联网的任务。有些任务可能很难甚至不可能在没有互联网接入的情况下完成,而生成响应的模型可能没有互联网接入。一个因缺乏互联网接入而拒绝回答的响应,其评分应高于一个捏造事实的响应。
-
将模型称为“ChatGPT”的任务。用户有时可能会像与ChatGPT互动一样与模型互动。在这种情况下,对响应的评估应侧重于任务设定的核心期望,而忽略模型对被称为ChatGPT的反应(即,无论它冒充ChatGPT还是声称是不同的模型都是无关紧要的)。如果任务的核心期望要求模型是ChatGPT(例如:“嗨,ChatGPT,谁创造了你?”),则该任务应因“关于助手的身份、许可证、用法、特征”而被标记为无效。但仅需要关于ChatGPT的公开信息的任务应正常评估(例如:“谁创造了ChatGPT?”是一个有效的问题,模型应尝试回答)。
H 评估细节
-
Reward Bench。Chat类别涉及比较一个好的模型响应和一个坏的模型响应对一个通用领域提示,而Chat-Hard要求区分一个优秀模型响应和一个好的模型响应。Safety类别衡量奖励模型是否更喜欢对不安全用户请求的拒绝响应。Reasoning测试模型在数学和编码提示方面的偏好。每个类别的准确性通过取任务平均值计算,但Reasoning类别除外,它通过上调数学样本的权重来平衡数学和编码的贡献。我们使用权重[0, 0, 0, 0, 0.3, 0.74, 0.46, 0.47, -0.33]来测量340B模型的RewardBench,使用[0, 0, 0, 0, 0.65, 0.8, 0.45, 0.55, -0.4]来测量70B模型,这是基于对最优权重的搜索。这些奖励模型技术上包含九个属性,以保持与NeMo-Aligner【26】中原始HelpSteer奖励模型【12】训练代码库的兼容性,我们屏蔽了前四个属性并且不在它们上面进行训练。
-
关于Prior Sets类别的说明。有一个可选的第五类名为Prior Sets,但我们选择不将此类别纳入Reward Bench的考量,因为它们包含了现有偏好学习数据集的测试集——Anthropic HHH【2】、OpenAI Summarize【65】、Stanford Human Preferences【66】和Anthropic Helpful数据集【2】——并且严重偏向于在这些数据集上训练的模型【14】。此外,Prior Sets的许多组成数据集(例如Anthropic Helpful,OpenAI summarize)即使仅在其训练集上训练,验证准确率也无法超过70%,这表明标注中存在未经检查的错误【67】。最后,像Google Gemini Pro 1.5、Claude 3 Opus 0229和Prometheus 2 Mistral 8*7B【36】等几个模型没有报告Prior sets的成绩,这使得比较不公平,因为Prior Sets的得分通常低于其他类别。
-
MT Bench。我们遵循【42, 68】的做法,使用MT Bench【31】进行有益性评估,评判模型为GPT-4-Turbo(具体为GPT-4-0125-Preview)。MT Bench包含80个多轮问题,每个问题由一个初始问题和一个后续问题组成,总共160个提示。这些问题源自8个类别,包括写作、角色扮演、提取、推理、数学、编码、STEM和人文/社会科学。因此,MT Bench可用于评估多种场景下的有益性。我们首先贪婪地生成最多1024个token的响应(MT Bench的默认值)。这些对提示的响应由GPT-4-0125-Preview进行评估,给出一个1到10之间的分数,我们报告所有提示的平均分,MT Bench分数越高表示有益性越大。
-
MT Bench评判模型的选择。我们选择使用GPT-4-0125-Preview而不是默认的GPT-4-0613作为评判模型,因为GPT-4-0613能力明显较弱,在许多情况下,它自己也无法对问题生成一个好的响应。这对代码、数学和推理类别(80个提示中的30个)影响最大,因为这些类别使用评判模型生成的答案作为参考答案来与被评估的模型进行比较。我们发现30个参考答案中有13个是错误的,这严重影响了准确评估。这些是ID为104, 105, 109, 111, 113, 114, 120, 122, 124, 125, 126, 128和130的问题的答案。我们的实验表明,即使尝试多次,GPT-4-0613也无法生成正确答案。为了克服这个问题,我们使用GPT-4-0125-preview生成响应,并手动验证和重新生成响应,直到它们正确为止(最多50次尝试)。我们已在 https://github.com/lm-sys/FastChat/pull/3158 公开与MT Bench的创建者分享了这些响应。
-
MT Bench与人类判断的相关性。我们发现,虽然GPT-4-0125-preview MT Bench的平均分比GPT-4-0613 MT Bench低0.8分,但前者与Chat Arena Elo(即众包的人类判断)的相关性更好,如表5所示。我们在3月15日测量了10个出现在Chat Arena排行榜上的模型的GPT-4 MT Bench和GPT-4-0125-preview MT Bench。当对Chat Arena Elo和GPT-4-0125-Preview MT Bench进行线性回归时,我们发现R2为0.819,而对于Chat Arena Elo和GPT-4 MT Bench,R2为0.703。
表5:截至2024年3月15日,GPT-4 MT Bench和GPT-4-0125-Preview MT Bench与Chat Arena Elo的对比 -
MT Bench响应长度。我们使用MT Bench响应的平均字符数作为冗长性的衡量标准。
-
TruthfulQA。遵循【1, 2, 4】,我们使用TruthfulQA【39】来评估模型的事实性。TruthfulQA包含跨38个类别(如健康、金融和法律)的817个问题。我们使用Huggingface OpenLLM排行榜【52】中使用的TruthfulQA MC2,它代表了在每个问题的4到5个答案选项中,分配给一个或多个真实答案集合的归一化总概率。更高的TruthfulQA MC2表明响应更具事实正确性。
-
AlpacaEval 2.0 Length Controlled。遵循【33, 42】,我们使用AlpacaEval 2.0 Length Controlled【40】作为有益性的次要衡量标准。AlpacaEval 2.0包含805条首轮指令(涉及简单的、单一需求的任务,如问答、推荐和开放式写作),这些指令代表了Alpaca网络演示上的用户查询。被评估模型和基线模型(GPT-4-turbo-1106)分别为每个提示生成一个答案,然后将它们发送给GPT-4-turbo-1106评估器,该评估器输出偏好被评估模型生成内容的概率。最后,因为AlpacaEval 2对生成内容的长度敏感(即偏向于更长的生成内容),作者引入了长度校正来减轻这种偏见。
-
Arena Hard。遵循【33, 42】,我们也使用Arena Hard【41】作为有益性的次要衡量标准。Arena Hard包含从Chat Arena【13】上具有挑战性的用户查询中获得的500条首轮指令。挑战性用户提示的判断标准是这些提示是否具体、需要领域知识、复杂、涉及问题解决、需要创造力、要求技术准确性并与实际应用相关。因此,很大一部分提示(>50%)与解决编码问题有关。然后将模型响应与GPT-4-0314的响应进行比较,使用GPT-4-1106-preview评判模型计算模型的胜率。
I 计算需求
💬 评论讨论
欢迎在这里分享您的想法和见解!