作者/机构: 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
本文介绍并发布了HelpSteer2,一个高质量、遵循宽松许可(CC-BY-4.0)的偏好数据集,旨在解决当前大型语言模型(LLM)对齐领域中高质量、开放数据集的短缺问题。
提示词收集。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】中那样生成四个,以最小化标注员在标注过程中的认知负荷,从而提高评分质量。这些响应的来源及相应比例如下(每个提示的两个响应总是来自两个不同的来源):
响应生成的多样性。在整个数据收集过程中,我们使用了上述内部模型的对齐版本,所有这些模型都是在具有宽松商业许可的数据集上训练的,预训练使用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。
最终数据集构成。作为最后一步,我们仅保留了标注员之间在有益性属性上的差异在Likert-5分制量表上为2分或以下的响应(针对同一提示的两个响应),这导致约10%的样本被移除。选择2分阈值是为了在保留数据比例和这些标注中的相对噪音之间取得平衡,同时认识到标注员之间的差异也可能源于固有的主观性或个人偏好,而不仅仅是对标注任务的误解。我们的供应商和研究团队在不同阶段对标注进行了广泛的过滤,最终约有50%的标注被排除在数据集之外。我们的最终数据集包含21,362个高质量的标注样本,包括10,681个提示,每个提示都有两个标注过的响应。该数据集分为训练子集(95%的数据)和验证子集(5%的数据)。
与HelpSteer的属性对比。如表2所示,由于使用了更强的模型进行响应生成,HelpSteer2中的模型响应在有益性、正确性、连贯性、冗长性和复杂性方面都更高。最显著的变化是连贯性属性,在Likert-5分制量表上达到了3.63分(满分4分),这意味着生成连贯的响应对于更强的模型来说不再是一个挑战。此外,冗长性属性也从1.53增加了近0.5到2.00,这意味着响应从简短变得在简洁和冗长之间有很好的分布。平均响应长度从497.3个字符增加了3倍到1492.6个字符,也支持了这一观察。
提示词长度对比。另一方面,尽管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)一致。
训练设置。我们训练的奖励模型由一个基础模型和一个线性层组成,该线性层将响应结束符(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进行训练可以产生更强大的奖励模型。
高性能原因分析。除了数据集的高质量外,我们将这种高性能归因于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】。
我们展示了三种使用Llama 3 70B奖励模型对齐LLM的方法:迭代式直接偏好优化(Iterative DPO)、近端策略优化(PPO)和SteerLM。
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,这也是经过类似超参数搜索后确定的。
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)$:
这里,$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)$:
KL散度损失的展开。这个KL散度损失可以写成:
梯度估计。为了优化这个损失,我们使用从原始SteerLM模型 $y_i \sim Q'(y|a, x)$ 中采样的样本来估计其梯度:
其中,$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$ 的概率分布:
方程1表明,我们可以通过使用贝叶斯规则逆转SteerLM奖励模型来构建一个最优的SteerLM模型。先验分布 $P(y|x)$ 可以通过训练一个独立的语言模型来生成给定提示 $x$ 的 $y$ 来近似。
近似的SteerLM条件分布。假设我们有一个由 $\theta$ 参数化的近似SteerLM模型 $Q_{\theta}(y|a, x)$。我们可以通过KL散度来衡量它与最优 $P(y|a, x)$ 的距离:
展开KL散度。展开KL散度,我们得到:
损失估计的样本效率。如果训练数据 $(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中的损失估计更具样本效率:
实用的梯度估计。为了优化方程4,我们使用梯度下降,这需要估计:
权重定义。我们使用来自 $Q'(y|x, a)$ 的 $n$ 个样本 $y_i$ 来估计期望 $E_{y\sim Q'(y|x,a)}$。定义权重:
权重归一化。将权重 $w_i$ 归一化以得到 $w'_i$,使得 $\sum_i w'_i = 1$:
梯度估计。然后梯度可以估计为:
使用基线降低方差。为了减少方差【【51】,Brain: Bayesian reward-conditioned amortized inference for natural language generation from feedback,2024】,我们减去一个使用 $Q_{\theta}$ 自身估计的基线,基于以下事实:
其中 $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得到:
梯度估计器总结。方程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距离的梯度,定义为:
其中只有项 $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$。
总体结果:在所有评估指标上,至少有一个使用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是众包的,响应质量参差不齐。这表明我们的奖励模型可以提高最终模型的性能,无论其初始性能如何。
我们介绍了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。
语言与文化偏见。我们的数据集仅包含英文提示和响应的标注,这限制了该数据集在改进其他语言LLM方面的应用。此外,参与数据集创建的标注员(全部在美国)可能缺乏人口多样性,这可能在数据集中引入了偏见。尽管数据集主要包含客观属性,但这种文化多样性的缺乏仍有可能影响数据集的收集,使其对为美国以外受众构建LLM的研究人员的用处可能较小。
训练与评估的局限性。模型的训练是基于我们可用的计算资源尽力而为的。因此,报告的性能指标可能不代表通过最优调参可达到的绝对最佳性能。另一个局限性与数据集中潜在的不平衡有关。并非所有可能的属性组合都得到了同等比例的体现,这可能导致模型在某些属性组合上表现良好,而在其他组合上表现不佳。
模型适用性。本研究得出的结论是基于大型语言模型(LLM)的性能。这些结论可能不代表可以从较小模型中预期的性能,后者可能会产生不同的结果。
积极影响。该数据集的积极方面包括其商业友好的许可证以及其为广大受众民主化高质量奖励模型训练的潜力。这种可及性使得各种规模和资源的组织能够利用先进的AI能力,促进AI技术发展中的创新和包容性。此外,数据集的小规模提高了顶尖奖励模型的训练效率,使用户能够以较低的计算成本获得良好结果,使复杂的AI工具更易于获取和实际应用于广泛用途。
潜在风险与缓解措施。然而,可以使用我们数据集训练的强大模型也带来了潜在风险,特别是如果被恶意行为者使用。为了减轻这些风险,实施如NeMo Guardrails【【58】,Nemo guardrails: A toolkit for controllable and safe llm applications with programmable rails,2023】等保护措施至关重要。这些护栏可以通过执行内容审核和监控不当活动来帮助防范恶意使用,从而最小化潜在的负面影响。
通用聊天偏好数据集。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】。虽然这些数据通常获取成本更低、速度更快(尤其是在大规模获取时),但它们附带了严格的使用条款,这使得它们可能不适合商业企业使用,即使它们对学术和非商业环境很有用。
动机与方法概述。HelpSteer2中的多轮对话不包含ShareGPT数据集中任何原始的助手响应,因为这些响应可能由具有限制性许可证的第三方LLM生成。相反,所有的中间助手轮次都是由我们专门为此目的训练的自定义LLM生成的,步骤如下:
模型训练步骤。
最终模型在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节下的“对话数据”)。
这里我们提供在整个项目过程中使用的完整标注指南。
1. 有益性/理解度
2. 正确性/完整性
3. 连贯性/清晰度
4. 简单/复杂语言
5. 简洁性/冗长性
6. 安全/不安全
示例 1
示例 2
对话数据。数据集的部分内容是对话式的,由多个交错的用户和模型轮次组成,最后以两个最终模型轮次选项结束。响应应在对话的上下文中进行评估,只评估最终的模型轮次。如果对话的开头是无意义的,最终的模型轮次仍应根据其如何处理这种不寻常情况进行评估。请注意,所有对话在待评估的模型轮次之前都是自包含的:模型不能引用当前任务之外的与同一用户的任何先前对话,或引用内容未复制到当前任务中的其他文件。然而,可以假设对话可能会继续进行(例如,在某些情况下,最好的模型响应是提出一个澄清性问题,而不是直接尝试解决任务)。
需要模型访问互联网的任务。有些任务可能很难甚至不可能在没有互联网接入的情况下完成,而生成响应的模型可能没有互联网接入。一个因缺乏互联网接入而拒绝回答的响应,其评分应高于一个捏造事实的响应。
将模型称为“ChatGPT”的任务。用户有时可能会像与ChatGPT互动一样与模型互动。在这种情况下,对响应的评估应侧重于任务设定的核心期望,而忽略模型对被称为ChatGPT的反应(即,无论它冒充ChatGPT还是声称是不同的模型都是无关紧要的)。如果任务的核心期望要求模型是ChatGPT(例如:“嗨,ChatGPT,谁创造了你?”),则该任务应因“关于助手的身份、许可证、用法、特征”而被标记为无效。但仅需要关于ChatGPT的公开信息的任务应正常评估(例如:“谁创造了ChatGPT?”是一个有效的问题,模型应尝试回答)。
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。
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评判模型计算模型的胜率。