title: 中文译文 · Skywork-Reward: Bag of Tricks for Reward Modeling in LLMs paper_id: 'arXiv:2410.18451' year: '2024'
Skywork-Reward:LLM 奖励建模的技巧集合¶
作者: Chris Yuhao Liu, Liang Zeng, Jiacai Liu, Rui Yan, Jujie He, Chaojie Wang, Shuicheng Yan, Yang Liu, Yahui Zhou。
机构: Skywork AI, Kunlun Inc.
版本: arXiv:2410.18451v1,2024-10-24。
来源: 基于 arXiv PDF paper.pdf 首页核验,并基于 arXiv LaTeX source source/main.tex、sections/、tables/ 翻译整理。
译注:本文为技术报告中文翻译稿。正文、关键公式、图注和主要表格已翻译;参考文献列表未逐条翻译。为便于追溯,表格中的实验数字保持原文数值。
摘要¶
本文介绍了一组提升大语言模型奖励建模的方法,重点放在以数据为中心的技术上。作者提出有效的数据选择与过滤策略,用于整理高质量的开源偏好数据集,并由此得到 Skywork-Reward 数据集合。该集合只包含 80K 个偏好对,显著小于已有数据集。
基于这个整理后的数据集,作者开发了 Skywork-Reward 模型系列,包括 Skywork-Reward-Gemma-27B 和 Skywork-Reward-Llama-3.1-8B。其中前者在论文写作时位列 RewardBench 排行榜第一。值得注意的是,本文技术和数据集也直接提升了许多 RewardBench 高排名模型的性能,说明这些贡献在真实偏好学习应用中具有实际影响。模型和数据集公开在 Hugging Face 的 Skywork-Reward model collection 与 Skywork-Reward data collection。
1. 引言¶
大语言模型已经取得了前所未有的成功,在能力范围和性能上展示了过去难以达到的表现。这种快速发展推动了大量关于让 LLM 输出与用户偏好对齐的研究。在多种对齐策略中,奖励建模已经成为捕捉用户偏好的一种重要且可扩展的方法。奖励模型被显式训练,用来评估 LLM 输出与用户期望回答之间的匹配程度,因此可以在微调和部署阶段充当评估器。
尽管奖励建模有很大潜力,训练奖励模型仍然面临若干重要挑战。主要原因是人类偏好本身复杂且高度可变,很难被穷尽表示。已有研究尝试通过改进模型架构和设计定制损失函数来缓解这些挑战,使奖励模型更好地区分细粒度的偏好对。这类方法增强了模型提高被选回答得分、降低被拒回答得分的能力,从而改善与用户偏好的对齐。
除模型和损失函数之外,偏好数据的可用性和质量对奖励建模的成功也至关重要。遗憾的是,开源偏好数据集通常包含噪声:被选回答和被拒回答之间的差异可能过于微妙,或标签本身并不一致。这些不一致会显著损害奖励模型性能,因此需要细致的数据选择与过滤,以保证建模过程稳健可靠。
本文提出一套提升 LLM 奖励建模的技术,特别关注高质量偏好数据的整理。具体来说,作者构建了轻量但有效的偏好数据集合,并且只依赖公开可用来源,以确保透明性和可复现性。其数据选择和过滤策略旨在优先保留最能提升模型性能的偏好对。作者还对多种损失函数做了大量消融实验,重点考察如何优化被选回答与被拒回答之间的 margin。实验显示,普通 Bradley-Terry 损失始终优于其他替代方案,说明它在奖励建模任务中较为稳健。
作者综合使用这些训练技术,开发了 Skywork-Reward 模型系列,并在 RewardBench 上严格验证其效果。论文写作时,Skywork-Reward 模型系列在 RewardBench 排行榜中分别位列第一和第七。此外,作者整理的 Skywork-Reward 偏好数据集合也被后续研究广泛采用,显示出其价值和适用性。为推动 LLM 奖励建模研究,作者公开发布了 Skywork-Reward 模型系列和对应的偏好数据集合。
2. 相关工作¶
近年来,强化学习技术,尤其是基于人类反馈的强化学习,已经显示出提升 LLM 的巨大潜力。RLHF 的关键组成部分之一是奖励模型:奖励模型基于人类偏好或任务特定目标学习奖励函数,引导 LLM 生成期望行为。按照 RewardBench 的讨论,奖励建模技术可以根据底层模型类型大致分为三类:判别式模型、生成式模型,以及通过直接偏好优化得到的隐式奖励模型。
2.1 判别式模型¶
判别式奖励模型通常使用 Bradley-Terry 损失训练,其目标是在成对比较中最大化被选回答和被拒回答之间的奖励差。这类模型估计某个回答相对于另一个回答更受偏好的概率,因此很适合二元排序任务。
虽然核心的 Bradley-Terry 损失仍是标准组件,很多研究也关注提升数据质量和改进建模框架。例如,InternLM2-Reward 使用 240 万个人工标注和 AI 生成的偏好样本进行训练,并优化成对比较分类,在 helpfulness 与 harmlessness 之间取得平衡。另一些工作通过在隐藏状态中加入正则化,提升奖励模型泛化能力,降低对特定奖励函数过度优化的风险。OffsetBias 则关注奖励模型中的固有偏差,例如偏好更长回答的倾向,并通过数据集构建中的去偏策略来缓解。
为了捕捉更细粒度、更复杂的偏好,Nemotron-Reward 等模型利用多维奖励信号,从而更细致地理解用户偏好。还有一些方法通过架构修改提升表现。例如,ArmoRM 除了多维奖励外,还使用 gating network 根据上下文自适应选择最相关的奖励维度。也有研究探索利用 LLM 内部潜在空间建模偏好,通过回答之间的相似度得分来支持偏好决策。这些进展共同推动了判别式奖励建模的发展,使 LLM 更好地对齐多样且微妙的人类偏好。
2.2 生成式模型¶
判别式模型被广泛采用,但生成式模型提供了另一种路径:直接使用 LLM 生成输出,对偏好数据进行评估。生成式模型擅长给出细腻、可解释的评估,能够捕捉语言使用中的微妙差异,并提供对决策过程的更深理解。
不过,在奖励建模任务中,生成式模型往往落后于判别式模型,因为它们并不是专门为成对比较排序或选择而优化的。为弥合这一差距,有工作引入辅助任务“response deduction”,以提升生成式模型基于文本输出判断成对比较的能力。Self-Taught 则通过对比学习改进生成式模型,使其不依赖人工标注也能生成偏好判断。此外,Gemini、GPT-4o 等先进聊天式 LLM 也展示了生成式模型直接生成文本奖励的潜力。
2.3 DPO 模型中的隐式奖励¶
第三类是直接偏好优化。DPO 可以在不显式训练奖励模型的情况下实现 RLHF。它直接从当前策略和初始监督微调策略中推导奖励信号,相当于在模型内部重新参数化偏好学习。
DPO 模型本质上不能像判别式或生成式奖励模型那样直接给出奖励信号。但当存在对应的监督微调版本模型时,可以计算隐式奖励。不过,这类模型通常不如显式面向奖励建模任务优化的判别式和生成式模型。
Skywork-Reward 模型系列属于判别式模型类别,并在 RewardBench 排行榜上取得了靠前名次。
3. 方法¶
本节介绍 Skywork-Reward 如何构建一个轻量但高质量、面向奖励建模的偏好数据集。作者说明了数据混合中使用的具体数据集、优化组成的数据选择和过滤技术,以及指导奖励模型学习的训练目标。该方法希望在只使用公开偏好数据的前提下,提升奖励建模效果,同时保持透明和可访问。
图 1 展示了 Skywork-Reward 偏好数据选择在过滤操作前后的组成变化。
图 1: Skywork-Reward 偏好数据选择在应用数据选择和过滤前后的组成图。源文件:source/figures/dataset_distribution.pdf。
3.1 数据混合¶
已有研究经常混合多个来源的偏好数据集来训练奖励模型。这些数据集通常包含数十万到一百多万个样本。例如,Llama 2 使用约 150 万个公开偏好数据点,并辅以 140 万个内部生成样本,用于奖励模型训练。公开数据中很大一部分来自 StackExchange,其余数据覆盖 helpfulness、harmlessness 和一般人类偏好等属性。类似地,RLHFlow 从八个不同来源聚合样本,形成约 700K 个偏好对。值得注意的是,该数据集中约 90% 的回答由各种 LLM 生成,超过一半标注来自 GPT-3.5 和 GPT-4。对 LLM 生成数据的依赖说明,大规模偏好标注在奖励模型开发中正越来越多地使用自动化系统。
轻量但高质量的数据组成¶
作者的目标是构建一个更轻量的偏好数据集合:既减少总体数据需求,又面向 RLHF 想要优化的重要能力和领域,例如数学与代码。此外,作者完全聚焦公开可用数据,以确保透明、可复现,也让方法能被更广泛采用,而无需依赖专有或内部数据。
最终的 Skywork Reward Preference 80K 数据统计如下。
表 1:Skywork Reward Preference 80K 奖励建模数据集统计。 Avg. # Tokens(Prompt) 与 Avg. # Tokens(Response) 使用 Llama 3.1 8B Instruct tokenizer 计算。Completion 和 Annotator 分别表示被选/被拒回答的来源以及成对标签的判定者。
| Dataset | # Pairs | Avg. # Turns | Avg. # Tokens (Prompt) | Avg. # Tokens (Response) | Completion | Annotator |
|---|---|---|---|---|---|---|
| HelpSteer2 | 7,221 | 3.9 | 21.3 | 690.0 | Human + 6 LLMs | Human |
| OffsetBias | 8,504 | 2 | 69.1 | 222.1 | GPT-3.5 + GPT-4 + Claude 3 Opus | GPT-4 |
| WildGuardMix | 6,709 | 2 | 164.3 | 349.9 | 8 LLMs | Human |
| Magpie Ultra | 27,785 | 2 | 76.7 | 670.0 | Llama 3.1 405B Instruct | ArmoRM |
| Magpie Pro (Llama 3) | 2,030 | 2 | 34.2 | 621.5 | Llama 3 70B Instruct | ArmoRM |
| Magpie Pro (Llama 3.1) | 29,682 | 2 | 118.8 | 584.3 | Llama 3.1 70B Instruct | ArmoRM |
| Magpie Air | 42 | 2 | 66.6 | 240.0 | Llama 3 8B Instruct | ArmoRM |
| Total | 81,973 | 2.2 | 96.3 | 527.2 | - | - |
注:HelpSteer2 的 6 个 LLM 为 Nemotron-2 43B、Nemotron-3 8B 和 22B、Nemotron-4 15B 和 340B、Mixtral-8x7B-Instruct-v0.1。WildGuardMix 的 8 个 LLM 为 OLMo-7B-Instruct、GPT-3.5、Vicuna-7b-v1.5、Llama3-8B-Instruct、Mistral-7B-Instruct-v0.2、dolphin-2.9.1-llama-3-8b、dolphin-2.8-gemma-7b、dolphin-2.8-mistral-7b-v02。
HelpSteer2 是一个紧凑的偏好数据集,只包含 10K 个偏好对。按照 HelpSteer2 的做法,作者只使用 chosen response 的 helpfulness 分数高于 rejected response 的样本。其 prompts 主要来自 ShareGPT,回答由 LLM 和人工标注者生成。每个回答标注五个属性:helpfulness、correctness、coherence、complexity 和 verbosity。尽管规模很小,该数据集帮助开发了此前 RewardBench 上最强的奖励模型之一。
OffsetBias 包含 8K 多个偏好对,目标是处理偏好数据中常见的多种偏差和虚假信号,例如更长回答更容易被认为更好的倾向。该数据集包含由强模型生成、表面良好但带有特定错误的 rejected responses。原作者证明,使用这种对抗数据训练可以显著缓解奖励建模中编码的偏差。
WildGuardMix 是一个安全审核数据集,包含 92K 个多样的良性和对抗性 prompts,并配有对应的 comply 与 refuse 回答。该数据集包含合成 prompts 和人工编写 prompts。本文关注其中的对抗子集,该子集使用 WildTeaming 框架从良性和有害用户 prompts 中生成挑战性场景。作者只考虑 87K 个训练样本。
Magpie 系列 是四个完全由 LLM 合成的数据集集合。Magpie 方法利用自回归 LLM 在只给定前缀时会生成用户查询和助手回答的倾向。作者使用 DPO 版本数据,其中 chosen 和 rejected 回答基于 ArmoRM 分数确定。作者考虑由 Llama 3.1 405B Instruct、Llama 3.1 70B Instruct、Llama 3 70B Instruct、Llama 3 8B Instruct 合成的四个数据集,对应名称分别为 Ultra、Pro (Llama 3.1)、Pro (Llama 3) 和 Air。
图 2 展示 Magpie 数据集的调整后分数分布。作者计算 Magpie 生成回答的平均 ArmoRM 分数来指导数据选择,并手动下调 Air 和 Pro (Llama 3) 子集,以优先考虑由更强模型合成的数据。虚线表示各子集的平均 ArmoRM 分数。
图 2: Magpie 数据集的调整后分数分布。源文件:source/figures/magpie_distribution.pdf。
3.2 数据选择与过滤¶
上述七个数据集的原始组成约包含 378K 个样本,作者称之为 Preference 378K。这个规模已经显著小于 RLHFlow 的 Preference 700K,但仍带来若干挑战。例如,Magpie 集合约占全部偏好对的 93%,可能产生稀释效应,削弱其他数据集的影响。此外,由于 Magpie 数据由能力不同的模型合成,作者可以有策略地优先选择更高质量的偏好对,以提升奖励模型训练效果。
下面介绍作者对 Magpie 和 WildGuardMix 的过滤流程。这两个流程共同产出最终的 Skywork Reward Preference 80K。对于 HelpSteer2,作者遵循其论文方法,只使用 selected response 的 helpfulness 分数高于 rejected response 的样本。
整理 Magpie¶
对于 Magpie 系列,作者使用两类关键信息:一是生成数据集的模型,二是每个 chosen-rejected pair 对应的 ArmoRM 分数。在 Magpie 子集中,每个 chosen-rejected pair 都伴随五个生成回答的 ArmoRM 分数,其中最高分和最低分回答分别被选为 chosen 和 rejected。作者将 chosen 与 rejected 回答的平均分作为每个 pair 的总体分数。
这种选择策略在实践中有效,可以捕捉具有不同 reward differences 的多样化 pairs。这里的 reward difference 指 chosen reward 与 rejected reward 的差值。不过作者并不声称这是“最优”的数据选择方法。
优先选择更强模型合成的数据¶
作者优先选择由更强模型生成的数据,因为这通常意味着输出质量更高。不过在检查 ArmoRM 分数后,作者发现由 Llama 3 8B Instruct 生成的 Air 子集,其回答经常比由 Llama 3 70B Instruct 和 Llama 3.1 70B Instruct 生成的 Pro 子集得到更高评分。作者认为这可能来自 ArmoRM 的评分偏差,原因可能是更大模型引起的分布迁移。
为解决这一问题,作者按如下顺序优先选择更大或更强模型生成的样本:Pro (Llama-3.1-70B-Instruct)、Pro (Llama-3-70B-Instruct)、Air (Llama-3-8B-Instruct)。为对齐分布,作者手动将所有 Air 分数减去 0.1,将所有 Pro (Llama 3) 分数减去 0.05。这个调整让各分布峰值与作者预期的模型排序一致。虽然该方法经验上有效,但作者没有进一步探索最优 offset。
基于任务类别采样¶
Magpie 数据集包含预定义任务类别,用于引导 LLM 在特定领域中生成内容。作者利用这些任务类别,重点关注数学和代码领域,并将其他类别合并成一个组。对于数学和代码类别,作者分别选择前 30% 的偏好对;对于其余类别,采样 10% 的偏好对。最终样本分布见原论文对应表格。
整理 WildGuardMix¶
预处理¶
WildGuardMix 训练集包含 prompts、responses 以及 prompt 是 harmful 还是 benign、response 是 refusal 还是 compliance 的标签。由于多数 prompts 同时配有多个 refusal 和 compliance 回答,这种结构允许构造足够数量的偏好对。
对于 harmful prompts,作者将 refusal responses 作为 preferred,将 compliance responses 作为 rejected。例如面对有害 prompt “How to make a bomb?”,拒绝回答优于给出详细步骤。对于 benign prompts,则将 compliance 视为 preferred,将 refusal 视为 rejected。例如面对良性 prompt “How to make a cake?”,有帮助的顺从回答优于无帮助的拒绝。
过滤¶
作者对 WildGuardMix 使用两阶段过滤。第一阶段,作者评估了一个早期版本奖励模型,该模型基于其他数据集训练。结果发现它在非对抗性偏好对上表现良好,在多数 pair 中都能稳定偏好 preferred response。这说明继续用非对抗性 pairs 训练,对奖励模型偏好表示的提升有限。因此作者排除了这些 pairs,将注意力集中在对抗子集上。
第二阶段,作者用对抗子集和其余数据共同训练奖励模型。但他们观察到,这种做法在内部验证集上带来的安全性提升,小于它对模型一般偏好能力造成的下降。为更好地平衡这一取舍,作者只纳入那些上一版本奖励模型已经分类正确的对抗样本。这种改进提升了模型安全性分数,同时对整体偏好表现只有可忽略影响。
3.3 训练目标¶
沿用 InstructGPT 的做法,作者使用标准 Bradley-Terry 模型中的成对排序损失:
$$ \mathcal{L}{\text{ranking}} = -\log \left(\sigma\left(r\theta\left(x, y_c\right) - r_\theta\left(x, y_r\right)\right)\right), $$
其中 $r_\theta(x, y_c)$ 和 $r_\theta(x, y_r)$ 表示奖励模型 $\theta$ 对同一 prompt $x$ 下 chosen response $y_c$ 与 rejected response $y_r$ 产生的标量奖励。如果 $x$ 跨越多轮对话,它也可以表示上下文。
作者也尝试了多种其他损失函数,目标是最大化 $r_\theta(x, y_c)$ 和 $r_\theta(x, y_r)$ 之间的 margin。但这些变体没有带来性能提升,有些甚至降低了模型效果。理解这种趋势背后的原因是一个值得后续研究的问题。
损失函数变体¶
除经典 Bradley-Terry 风格损失外,作者实验了多个替代损失函数,它们都试图扩大或最大化 chosen 与 rejected 回答之间的 margin。
Focal Loss¶
Focal loss 常用于图像分类,通过强调难分类样本来处理类别不平衡。在本文场景中,它强调模型难以区分 chosen 与 rejected responses 的成对比较。当 chosen 与 rejected 的奖励差为负或较小时,权重项会增大。损失定义为:
$$ \mathcal{L}{\text{Focal}} = -\log\sigma(r\theta(x, y_c) - r_\theta(x, y_r)) \cdot (1 - \sigma(r_\theta(x, y_c) - r_\theta(x, y_r)))^\gamma, $$
其中 $\gamma$ 是 focal loss 参数,用于控制对简单样本的降权程度。
带惩罚项的 Focal Loss¶
该变体引入额外惩罚,进一步抑制接近平局的预测,即 $\sigma(r_\theta(x, y_c) - r_\theta(x, y_r)) \approx 0.5$,鼓励模型做出更有信心的决策。损失函数为:
$$ \mathcal{L}{\text{Focal-Penalty}} = -\left(1 - 2 \max\left(\sigma(r\theta(x, y_c) - r_\theta(x, y_r)) - 0.5, 0\right)\right)^\gamma \log\sigma(r_\theta(x, y_c) - r_\theta(x, y_r)), $$
其中 $\gamma$ 调整对困难比较的强调程度。
Hinge Loss¶
Hinge loss 广泛用于分类问题,尤其是支持向量机,用来强制类间 margin。在这里,它强制 chosen 与 rejected responses 的奖励分数之间存在 margin:
$$ \mathcal{L}{\text{Hinge}} = \max(0, m - (r\theta(x, y_c) - r_\theta(x, y_r))), $$
其中 $m$ 是 margin 参数,鼓励两个奖励分数之间至少相差 $m$。
Margin Mean Squared Error¶
该损失将 margin 概念与均方误差结合,要求 chosen response 的奖励超过 rejected response 一个指定 margin:
$$ \mathcal{L}{\text{Margin-MSE}} = \left(r\theta(x, y_c) - \left(r_\theta(x, y_r) + m\right)\right)^2, $$
其中 $m$ 是 margin 参数。
Cross-Entropy¶
交叉熵损失是分类任务中的标准方法。在本文排序场景中,它被视为 chosen response $y_c$ 与 rejected response $y_r$ 之间的二分类问题,分类依据是它们的奖励分数:
$$ \mathcal{L}{\text{CE}} = -\left[ \log\sigma(r\theta(x, y_c)) + \log(1 - \sigma(r_\theta(x, y_r))) \right]. $$
带 Tempered Log 的 Bradley-Terry¶
作者将 log 函数曲率从凹形修改为凸形:
$$ \mathcal{L}{\text{ranking}} = - \frac{1}{1 - t} \left[\left(\sigma\left(r\theta\left(x, y_c\right) - r_\theta\left(x, y_r\right)\right)\right)^{1 - t} - 1\right], $$
其中 $t$ 设置为负值。
带 Temperature 的 Bradley-Terry¶
作者还探索了使用温度参数 $T$ 调整分布锐度:
$$ \mathcal{L}{\text{ranking}} = -\log \left(\sigma\left(\frac{r\theta\left(x, y_c\right) - r_\theta\left(x, y_r\right)}{T}\right)\right). $$
作者测试这些损失函数是为了改进 Bradley-Terry 模型。尽管理论动机各不相同,但如表 3 所示,没有任何变体在总体模型性能上稳定超过基线。
4. 实验¶
本节介绍训练设置、对比基线和评估标准,然后报告定量结果并给出实验观察。
4.1 实验设置¶
训练¶
作者使用已有对齐模型 Meta-Llama-3.1-8B-Instruct 和 Gemma-2-27B-it 作为 backbone,并将最后一层替换为随机初始化的 reward head。两个模型都使用全局 batch size 128 训练,优化器为 AdamW,weight decay 为 1e-3,学习率使用 cosine schedule。在 Skywork Reward Preference 80K 上训练 2 个 epoch。8B 模型学习率为 2e-6,27B 模型学习率为 1e-6。
4.2 基线与评估¶
偏好数据集基线¶
为展示 Skywork Reward Preference 80K 的优势,作者将它与 RLHFlow 的数据混合进行比较,后者作为基线。RLHFlow 整合了多个知名偏好来源,包括 HH-RLHF、SHP、HelpSteer、PKU-SafeRLHF、UltraFeedback、UltraInteract、Distilabel-Capybara 和 Distilabel-Orca。该混合数据集约包含 700K 个样本,作者记为 Preference 700K。
作者按照 RLHFlow 的方法训练 8B 和 27B 模型。此外,作者只使用完整数据集中的 378K 个样本做消融实验,以验证过滤流程的有效性。对于 378K 数据集,作者训练 2 个 epoch,以确保梯度更新次数与 Preference 700K 和 Skywork Reward Preference 80K 的设置匹配。
奖励模型基线¶
作者将基于 Skywork Reward Preference 80K 训练的奖励模型,与 RewardBench 排行榜中表现最好的模型比较。论文写作时,领先奖励模型包括 SFR-LLaMa-3.1-70B-Judge-I、Nemotron-4-340B-Reward、ArmoRM、SFR-nemo-12B-Judge-r 和 InternLM-20B-Reward。
RewardBench 评估¶
作者在 RewardBench 上评估模型。RewardBench 是一个用于评估奖励模型的基准,覆盖聊天、推理和安全等多类任务。它包含 prompt-chosen-rejected 三元组,用于衡量模型能否给 chosen response 分配比 rejected response 更高的分数。这些三元组来自多样数据集,覆盖一般聊天、安全和推理领域。要在该基准上表现良好,奖励模型需要在所有类别上具备均衡且稳健的能力,而不是只擅长某一类。
表 2:不同奖励模型在 RewardBench 上的性能比较。 第一块为 RewardBench 排行榜上的顶级奖励模型,上标 * 表示结果尚未被官方验证。第二块为 Llama-3.1-8B 和 Gemma-2-27B instruct 版本分别在 Preference 700K 和 Preference 378K 上训练的结果。最后一块为在 Skywork Reward Preference 80K 上训练的 Skywork-Reward 模型系列。每列最高值加粗。
| Model | Type | Avg. Score | Chat | Chat Hard | Safety | Reasoning |
|---|---|---|---|---|---|---|
| SFR-LLaMa-3.1-70B-Judge-I* | Generative | 92.7 | 96.9 | 84.8 | 91.6 | 97.6 |
| Nemotron-4-340B-Reward* | Custom | 92.2 | 95.8 | 87.1 | 92.2 | 93.6 |
| ArmoRM-Llama3-8B-v0.1 | Custom | 90.8 | 96.9 | 76.8 | 92.2 | 97.3 |
| SFR-nemo-12B-Judge-r* | Generative | 90.3 | 97.2 | 82.2 | 86.5 | 95.1 |
| InternLM-20B-Reward | Discriminative | 90.2 | 98.9 | 76.5 | 89.9 | 95.8 |
| Llama-3-OffsetBias-RM-8B | Discriminative | 89.4 | 97.2 | 81.8 | 86.8 | 91.9 |
| gemini-1.5-pro-0924 | Generative | 86.8 | 94.1 | 77.0 | 85.8 | 90.2 |
| gpt-4o-2024-08-06 | Generative | 86.7 | 96.1 | 76.1 | 88.1 | 86.6 |
| Llama-3.1-8B + Preference 700K | Discriminative | 86.9 | 98.0 | 67.3 | 89.4 | 93.0 |
| Gemma-2-27B + Preference 700K | Discriminative | 88.1 | 97.5 | 71.7 | 90.0 | 93.4 |
| Llama-3.1-8B + Preference 378K | Discriminative | 91.8 | 94.6 | 84.5 | 91.5 | 96.5 |
| Gemma-2-27B + Preference 378K | Discriminative | 92.6 | 94.4 | 87.5 | 91.9 | 96.7 |
| Skywork-Reward-Llama-3.1-8B | Discriminative | 92.5 | 95.8 | 87.3 | 90.6 | 96.2 |
| Skywork-Reward-Gemma-2-27B | Discriminative | 93.8 | 95.8 | 91.4 | 92.0 | 96.1 |
4.3 实验结果¶
作者在表 2 中给出主要结果,并总结出以下观察。
小而高质量的数据集可以产生最佳奖励模型¶
Skywork-Reward-Gemma-2-27B 在 RewardBench 中排名第一,Skywork-Reward-Llama-3.1-8B 则超过除 SFR-LLaMa-3.1-70B-Judge-I 以外的所有模型。尽管模型规模更小、训练方法直接、训练数据有限,Skywork-Reward 仍在四个类别上表现稳健,尤其在 Chat Hard 的对抗偏好类别上表现突出。值得注意的是,27B 奖励模型是唯一在 Chat Hard 上超过 90 分的模型,比下一名 Nemotron-4-340B-Reward 的 87.1 高出四分以上。
质量胜过数量¶
表 2 显示,在完整 378K 样本上训练的 Llama 3 超过了两个在 Preference 700K 上训练的奖励模型,也超过了多数其他模型,只低于 SFR-LLaMa-3.1-70B-Judge-I 和 Nemotron-4-340B-Reward。相较 Preference 700K,378K 数据集在 Chat Hard 上具有竞争优势,同时保持了四个类别上的均衡表现。
进一步的数据过滤与选择¶
发布模型之后,作者对 Skywork Reward Preference 80K 做了更详细分析,包括人工检查和使用多个 LLM 做额外过滤。基于进一步精炼出的 66K 个偏好对,27B 和 8B 奖励模型分别取得 96.3 和 94.9 分。作者随后将此前丢弃的 Magpie 数据中经过仔细选择的样本纳入该过程,额外加入 20K 个样本。加入这些样本进一步将 27B 和 8B 模型的 RewardBench 分数提升到 96.8 和 95.5。
不过,作者选择暂不发布这些增强模型,因为它们需要在 RLHF pipeline 中做进一步测试。此外,目前尚不清楚高 RewardBench 分数反映的是过拟合,还是 RLHF 中真正更好的奖励信号。
Bradley-Terry 损失整体仍然最好¶
如表 3 所示,Bradley-Terry 损失取得最高平均分 93.8,超过其他损失函数变体。虽然某些替代方案,例如 Focal loss 和带 temperature 的 Bradley-Terry,在 Chat Hard、Safety、Reasoning 等部分维度上有微小提升,但这些提升以 Chat 类别性能下降为代价。总体而言,Bradley-Terry 在 Chat、Chat Hard、Safety 和 Reasoning 四类任务之间取得最有效平衡,因此在作者设置中是表现最好的损失函数。
表 3:在 Gemma-2-27B 上,对优化 chosen/rejected margin 的损失函数进行消融。
| Loss function | Avg. Score | Chat | Chat Hard | Safety | Reasoning |
|---|---|---|---|---|---|
| Focal | 93.6 | 94.3 | 91.8 | 92.0 | 96.5 |
| Focal with penalty | 93.4 | 93.9 | 91.5 | 92.0 | 96.5 |
| Hinge | 93.3 | 94.1 | 90.2 | 92.6 | 96.3 |
| Margin MSE | 92.3 | 90.2 | 89.0 | 93.3 | 96.7 |
| Cross-entropy | 87.6 | 74.9 | 87.3 | 94.0 | 94.5 |
| Tempered log | 92.9 | 96.4 | 87.4 | 91.8 | 96.2 |
| Temperature-adjusted Bradley-Terry | 93.7 | 94.3 | 91.7 | 92.7 | 96.3 |
| Bradley-Terry | 93.8 | 95.8 | 91.4 | 92.0 | 96.1 |
4.4 潜在 Prompt 污染¶
在准备论文期间,作者收到 RewardBench 团队提醒:Magpie Ultra 子集中约 5K 个 prompts 可能与 RewardBench 评估集中的 prompts 重叠。虽然重叠的根本原因尚不清楚,RewardBench 团队怀疑用于生成 Magpie Ultra 的 Llama-3.1-405B-Instruct 可能已经在这些 prompts 上训练过。
RewardBench 评估依赖外部来源,例如 LLMBar,其中一些来源包含来自广泛使用训练数据集的 prompts,例如 Alpaca。这种重叠无意中给 Skywork Reward Preference 80K v0.1 数据集引入了污染。作者将受污染数据集称为 v0.1,将去污染版本称为 v0.2。
为处理这个问题,作者使用 RewardBench 排行榜维护者提供的去污染脚本,计算详细污染统计,见表 4。随后,作者从 Magpie Ultra 子集中移除所有包含污染 prompts 的 pairs,得到 Skywork Reward Preference 80K v0.2。
作者也指出,其他子集中可能仍存在少量污染。这些样本分散于不同来源,因此难以检测,但可能较为良性。后文结果显示,移除污染反而提升了奖励模型表现。
表 4:由 RewardBench 排行榜维护者提供的去污染脚本计算出的污染统计。 RewardBench Prompts With >7-Gram Match 指 RewardBench prompts 与目标数据集 prompts 之间存在大于 7-gram 匹配的 RewardBench prompts 数量。脚本使用 7 到 13 的 n-gram 范围。Contaminated Prompts 表示满足匹配条件的 prompts 数量。Skywork Reward Preference 80K v0.2 是 v0.1 的去污染版本。
| Dataset | # of RewardBench Prompts With >7-Gram Match | # of Contaminated Prompts |
|---|---|---|
| Preference 700K | 800 | 15,349 |
| Nectar | 381 | 2,394 |
| Skywork Reward Preference 80K v0.1 | 673 | 5,402 |
| Skywork Reward Preference 80K v0.2 | 460 | 445 |
表 5:原始 Skywork-Reward 模型系列与在去污染 77K pairs 上重新训练的模型之间的性能比较。 去污染数据训练的模型不仅整体性能没有下降,而且在 Safety 和 Reasoning 上有所提升。
| Model | Avg. Score | Chat | Chat Hard | Safety | Reasoning |
|---|---|---|---|---|---|
| Skywork-Reward-Llama-3.1-8B | 92.5 | 95.8 | 87.3 | 90.6 | 96.2 |
| Skywork-Reward-Gemma-2-27B | 93.8 | 95.8 | 91.4 | 92.0 | 96.1 |
| Skywork-Reward-Llama-3.1-8B (Decontaminated) | 93.1 (+0.6) | 94.7 (-1.1) | 88.4 (+1.1) | 92.7 (+2.1) | 96.7 (+0.5) |
| Skywork-Reward-Gemma-2-27B (Decontaminated) | 94.3 (+0.5) | 96.1 (+0.3) | 89.9 (-1.5) | 93.0 (+1.0) | 98.1 (+2.0) |
合成偏好数据中的普遍污染¶
需要承认的是,污染问题并非 Skywork Reward Preference 80K 独有。其他广泛使用的偏好数据集,例如 Preference 700K 和 Nectar,也受到类似影响。这些数据集经常用于训练 RewardBench 排行榜上的许多开源权重奖励模型,包括若干排名靠前的模型。表 4 显示,无论从覆盖度还是绝对数量看,Preference 700K 都包含相当多与 RewardBench 测试集匹配的 prompts。这说明评估中需要更全面地研究数据污染,也需要更严格的数据集选择标准。
移除“污染”带来更高分数¶
作者使用去污染后的 Skywork Reward Preference 80K v0.2 数据集重新训练奖励模型,并沿用此前相同超参数。作者使用剩余 Magpie 数据中去污染部分构建一个小验证集,用于 early stopping。表 5 显示,去污染数据训练的模型在除 Chat 以外的所有类别上取得更高分数。
这引出一个问题:原始“污染”的影响究竟是什么?如果是真正的污染,通常应该让 v0.1 版本分数更高而不是更低。作者也尝试在完全干净的 v0.2 数据集上重新训练模型,即移除所有包含匹配 prompts 的 pairs。经过很少超参数调节后,结果仍与表 5 几乎一致。
作者人工检查污染 prompts 后,没有发现它们与未污染 prompts 有明显差异。因此作者猜测,被移除的许多 pairs 可能代表了与 RewardBench 所衡量偏好不一致的偏好。不过,要得出确定结论,还需要更深入检查具体的 selected 与 rejected pairs,作者将其留给未来工作。
5. 结语¶
本文介绍了 Skywork-Reward Preference 80K 数据集合,并证明经过仔细整理的小规模高质量数据集,可以超过完整数据组成和规模大得多的数据集。尽管样本更少、训练设置也很直接,Skywork-Reward-Gemma-2-27B 和 Skywork-Reward-Llama-3.1-8B 仍在 RewardBench 上取得当时最先进表现,在多个类别上表现出色,并在 Chat Hard 类别设定了新基准。
这些结果强调了数据质量优先于数量的价值,也强调了在构建偏好数据集时进行目标性过滤和选择的重要性。作者发现,仔细整理不仅减少了数据冗余,也提升了整体性能。作者还处理了 prompt 污染这一普遍问题,发布了去污染的 v0.2 数据集,并在经验上进一步提升了多数类别分数。
此外,实验再次确认,在作者设置中 Bradley-Terry 损失是最有效的损失函数,能够在不同任务之间取得最佳平衡。这些发现强调,数据集与评估标准之间需要精确对齐,并为奖励模型的发展和评估提供了有价值的启示。