收集 RLHF 与偏好数据
如何为 RLHF 和模型对齐收集人类偏好数据,包括成对比较、评分量表打分与理由说明,并借助 Potato 完成。
基于人类反馈的强化学习(RLHF)训练模型以契合人类偏好。其核心数据是人类对模型输出的比较判断,最常见的形式是"这两条回复中哪一条更好?"。 把这类数据收集好本身就是一个标注问题,而 Potato 正是为此而生。
相关背景参见基于人类反馈的强化学习。
标准做法:成对偏好
展示一个提示词和两条候选回复,让标注者选出更好的一条。这些判断用于训练一个对输出打分的奖励模型,再由它来引导策略模型。
yaml
annotation_schemes:
- annotation_type: pairwise
name: preference
description: "Which response better follows the instruction and is more helpful and harmless?"
mode: binary
allow_tie: true
- annotation_type: text
name: rationale
description: "One sentence on why you chose it."
label_requirement:
required: false收集一句简短的理由很有价值:它让你能审查偏好数据,找出标注者优化了错误目标(长度、排版)而非质量的情形。
成对比较的机制参见成对比较与最优—最劣量表,模型间正面对决的评估参见模型成对比较。
多维度偏好
单一的"更好"判断会掩盖各种取舍。若要采集为什么某条输出胜出的信号,可用评分量表对多个标准分别打分:
yaml
annotation_schemes:
- annotation_type: rubric_eval
name: quality
description: "Rate the response on each dimension."
scale_points: 5
criteria:
- {name: Helpfulness, description: "Does it actually answer the request?"}
- {name: Harmlessness, description: "Is it safe and appropriate?"}
- {name: Honesty, description: "Is it accurate and non-misleading?"}偏好数据特有的质量陷阱
- 长度与风格偏差。 标注者往往不论正确与否都偏好更长或更自信的回答。在标注指南中点明这一点,并加以留意。
- 位置偏差。 随机决定哪条回复显示为"A"。
- 标准漂移。 定期重新分享锚定示例,以免长期任务中标准发生漂移。
- 一致性。 偏好是主观的,应收集重叠标注并跟踪一致性。