来自人类反馈的强化学习(RLHF)的有效性直接取决于用于训练奖励模型的人类偏好数据的质量和特点。这些数据作为信号,指引大型语言模型(LLM)实现期望的行为。收集这些数据是一个有序过程,涉及周密设计、执行和质量控制。
生成候选回复
第一步是针对给定的提示(x)生成多组潜在回复(y),供人工标注员评估。常见方法有:
- 从基础预训练模型采样: 在任何微调之前,直接从初始大型语言模型生成回复。这提供各种行为表现,包括可能不理想的行为。
- 从指令微调模型采样: 使用已为遵循指令而微调过的模型(监督式微调,SFT)通常产生更连贯和相关的回复,使标注员能够专注于更细节的偏好。
- 从多个模型采样: 从几个不同模型(或同一模型的不同版本/检查点)生成回复,可以增加呈现给标注员的比较的多样性。
- 改变采样参数: 同一模型在同一提示下使用不同的解码策略(例如,改变温度、top-p、top-k),可以生成多样化的输出以供比较。
提示(x)的选择也非常重要。它们应涵盖广泛的预期使用场景、主题和潜在安全问题。提示可能来源于真实用户交互、基准数据集,或专门设计来测试特定行为(例如,安全性、指令遵循、特定语气)。
标注任务设计
偏好数据收集的核心是标注任务本身。最常见的形式是成对比较:
- 给予一个提示 x,标注员会看到两个候选回复,y1 和 y2。
- 他们被要求根据预设的准则选择哪个回复“更好”。
- 他们可能还有选项,例如“两者一样好”、“两者都不好”或“无法决定”。
标注界面布局示例
提示:向一个5岁的孩子解释编程中递归的原理。
回复A:递归就像一个函数在自己的代码里调用自己,形成一个循环,直到遇到一个基本情况时停止。它用于计算阶乘或遍历树结构等问题。
回复B:想象你有一套俄罗斯套娃!打开一个娃娃会发现里面有一个更小的娃娃。这有点像递归:一个大问题里面包含着一个更小版本的问题。你不断打开更小的娃娃(解决更小的问题),直到你拿到不能再打开的最小娃娃(最简单的步骤)。
哪个回复更适合向5岁的孩子解释递归?
( ) 回复A明显更好
( ) 回复A略好
( ) 回复B略好
( ) 回复B明显更好
( ) 两者质量大致相同
( ) 两者都很差/无用
变体:
- 排序: 标注员可以对3个或更多回复进行从最好到最差的排序。
- 定量评分: 单独给每个回复分配一个数值分数(例如,1-7)。尽管对评估有用,但成对比较通常被认为对训练RLHF奖励模型更可靠,因为人类在相对判断方面比在绝对评分方面表现更好。
清晰明确的指令对标注员来说必不可少。界面应用户友好并最小化认知负担。经常使用专门的标注平台来有效管理工作流程、分配任务和收集结果。
标注员选择与培训
标注质量在很大程度上取决于标注员。考虑因素包括:
- 专业知识: 根据特定领域,标注员可能需要特定的主题知识。对于通用聊天机器人,更倾向于背景多样的人员。
- 培训: 标注员需要接受全面培训,了解标注准则、界面以及任务目标。校准练习,即标注员标记相同示例并讨论差异,对保持一致性很重要。
- 一致性: 衡量标注员间一致性(IAA)是惯例。诸如Cohen's Kappa或Fleiss' Kappa等指标量化了一致性水平。低IAA可能表明准则模糊、培训不足或任务本身存在主观性。
Kappa分数在不同标注对或任务中的分布,表明总体上达到中等到显著的一致。低于0.4的分数可能预示需要调查的问题。
制定标注准则
“更好”的定义被编入详细的标注准则。这些准则属于迭代文档,通常根据试点研究和反馈进行完善。它们通常涵盖多个方面:
- 有用性: 回复是否准确、完整地回应了提示?
- 真实性/准确性: 提供的信息是否准确?模型是否避免虚构事实?
- 无害性: 回复是否避免了有毒、偏颇、不道德或有害内容?
- 指令依从性: 回复是否遵循提示中提及的所有限制和要求(例如,格式、长度、角色)?
- 清晰简洁: 回复是否易于理解且书写良好?
- 风格/语气: 回复是否采用了要求的语气(例如,正式、友好、特定角色)?
精确定义这些标准并确保标注员一致应用它们是一项挑战。通常存在权衡;例如,一个非常详细的回复可能不够简洁。准则需要提供打破僵局的规则或优先考虑某些方面。
准则片段示例(无害性)
优先考虑安全性: 如果回复A略有帮助但回复B明显更安全(例如,回复A包含可能冒犯的内容),优先选择回复B。拒绝回答有害提示通常应优先于生成不安全内容尝试,即使拒绝是笼统的。如果两个回复都有害,则标记为“两者都很差”。
数据质量保证与挑战
在整个收集过程中保持高质量数据要求很高。常见挑战包括:
- 主观性: 某些偏好本质上是主观的(例如,写作风格、幽默感)。准则旨在尽可能标准化,但预计会存在一些差异。
- 标注员偏见: 标注员可能带入其固有的偏见,可能无意中使偏好数据失真。多样化的标注员群体和偏见培训有助于减轻这种情况。
- 标注员疲劳/偏差: 标注质量在长时间会话中会下降。定期休息、监督和再培训是必要的。
- 标签噪声: 偶然的错误或不一致的判断会将噪声引入数据集。奖励模型训练过程理想情况下应在一定程度上能够应对低水平的噪声。
- 成本与可扩展性: 高质量的人工标注成本高昂且耗时,难以扩展到数百万个偏好对。
- 边缘情况: 捕获稀有但重要的情境下的偏好(例如,特定安全场景)需要周密的提示设计和可能有针对性的标注工作。
每对比较使用多名标注员(多数投票或仲裁)以及定期对已标注数据进行质量检查等技术是常用做法。可以采用主动学习策略来选择最具信息量的提示-回复对进行标注,有可能降低总标注成本。
最终数据集的构建
这个过程的产出通常是一个数据集,其中每条记录代表一次比较。常见的结构是一组元组:
D={(x(i),yw(i),yl(i))}i=1N
这里:
- x(i) 是第 i 个提示。
- yw(i) 是标注员为提示 x(i) 选择的偏好(“胜出”)回复。
- yl(i) 是标注员认为较不偏好(“落败”)的回复。
- N 是收集到的偏好对总数。
这个数据集 D 是训练奖励模型的直接输入,rθ(x,y),它学习为给定提示 x 分配更高的分数给偏好回复 (yw) 而非不偏好回复 (yl)。这个数据集的质量和特点从根本上决定了后续策略优化阶段所学到的行为。