什么是 偏好数据(Preference Data)?
偏好数据(Preference Data)是记录候选模型行为判断的数据,包括相对选择、排序、评分、点评或 desirable / undesirable 标签,以及解释这些判断所需的上下文。
工作原理
不同格式回答不同问题
Paired Record 保存 Prompt、chosen 和 rejected 回答;Listwise Record 对多个候选排序;Pointwise Record 按 Rubric 为单个候选评分;Unpaired Record 则把单个 Completion 标为 desirable 或 undesirable。Critique 与 Edit 能保留更丰富的理由,但交给 Pairwise Trainer 前必须定义转换规则。这些格式不能随意互换,Loss 与 Trainer 必须匹配 Label 的真实含义。
候选生成过程也是标签的一部分
一次比较只能区分当时展示的候选。过于简单的 Negative 可能只教会模型识别表面差异;如果更强模型总出现在固定位置,数据还会泄漏 Generator Identity。应记录候选模型及 Checkpoint、采样参数、Tool Context、截断方式和采集时间;随机化或平衡展示顺序,尽量隐藏模型身份,保留 Tie 与 Invalid,并审计长度、格式、拒答风格和生成器与 Label 的相关性。
Rubric 与标注分歧共同定义学习目标
可执行 Rubric 要明确评测维度、冲突优先级,以及何时允许 Tie、Skip 或判定两个回答都无效。聚合 Majority Label 前,应保留原始判断、Rubric Version、Reviewer Cohort、Confidence 与可选理由。分歧可能来自任务描述不足、风格偏好或真实价值差异,而不只是噪声;过早压成一个 Label 会丢失分析偏差和多元偏好所需的信息。
按信息血缘切分,而不是随机切行
同一 Prompt 或 Conversation 派生出的所有 Pair、Rating、Turn 与 Paraphrase 应进入同一 Split。若近重复模板、来源文档、用户或重复任务会泄漏答案结构,也应分组处理。随机切行可能把同一次 Ranking 的一组 Pair 分散到 Train 与 Validation,得到虚高结果。还应为新 Policy Checkpoint、领域、语言、安全场景和采集周期保留独立 Slice。
合成反馈必须有独立控制组
AI Feedback 可以扩大覆盖范围,并产出 Critique 或分维度评分,但也会继承 Judge Model 的位置偏差、冗长偏好、风格偏好、自我偏好与知识错误。应版本化 Judge、Prompt Template、采样参数、Parser 和过滤规则,由合格人员抽查分层样本;目标是人类偏好时,还应保留纯人工 Holdout。将模型输出用于训练前,必须核对数据 License 与服务条款。
发布的是数据契约,而不只是 JSONL
发布门禁至少要校验 Schema、稳定 ID、候选差异、合法 Label、Prompt Group Split、重复项、上下文缺失、PII、Consent 与 License。报告 Label 与 Slice 分布、Reviewer Agreement、位置和长度相关性、Generator Balance、Invalid Rate 及下游留出行为;Agreement 是一致性信号,不是真值证明。Dataset Card 还应写明血缘、代码与 Rubric 版本、不可变 Artifact Hash 和已知限制。
主要特点
- 可表示为成对选择、Listwise 排序、Pointwise 评分、Critique 或 Unpaired Label
- 每项判断都受 Prompt、候选集合、Rubric、评审人群和采集策略约束
- 需要按 Prompt 或 Conversation 分组切分,防止相关样本跨越数据分区
- 聚合前保留原始投票、Tie、Skip、Invalid、Confidence 与 Rationale
- 需要测量位置、长度、Generator、语言、领域与 Policy Distribution 偏差
- 需要版本化 Provenance、License、隐私控制和下游留出评测
常见用途
- 训练并审计 Pairwise 或 Regression 风格的 Reward Model
- 通过 DPO、KTO、ORPO 等偏好目标优化 Policy
- 采集代码、医疗、法律、安全或多语言场景的专家判断
- 构建产品质量、拒答、语气与事实依据的离线评测集
- 使用新 Policy Checkpoint 输出刷新反馈并测量分布漂移
示例
Loading code...常见问题
偏好数据和 SFT 数据有什么不同?
SFT 通常使用选定的目标回答训练模型,提高这些 Token 的似然;偏好学习则表达某个 Rubric 下对一个或多个候选的判断。Pairwise DPO 数据比较 chosen 与 rejected,Reward Model 也可以使用 Ranking 或 Rating。被偏好的回答仍可能有错误,因此 Preference 不等于经过验证的标准答案。
偏好数据一定需要 chosen 和 rejected 吗?
不一定。Pairwise Trainer 常用 Prompt、chosen 和 rejected,但 Listwise Ranking、Scalar Rating、Critique、Edit 以及单条 desirable / undesirable Label 表达不同反馈。KTO 类目标可以使用 Unpaired Binary Feedback。应从训练目标反推采集格式,并在转换前保存原始信号。
标注员有分歧时应该删除样本吗?
不应自动删除。分歧可能暴露任务描述不清、Rubric 优先级冲突、主观风格偏好或不同用户的真实价值差异。应保存原始投票、Tie、Confidence、Reviewer Cohort 和理由,先分析原因,再决定排除、仲裁还是保留分布,并针对目标用户群独立评测。
LLM 能生成可靠的合成偏好数据吗?
LLM Judge 可以扩大覆盖,但 Label 会继承模型的知识边界、位置偏差、冗长偏好、风格偏好与自我偏好。应版本化 Judge 与 Prompt、随机化候选顺序、执行反事实测试、让合格人员抽查代表性样本;目标是人类偏好时,还应保留纯人工 Holdout。
偏好数据应该怎样划分训练集和验证集?
同一 Prompt、Conversation、Source Document 或近重复模板派生的记录必须进入同一 Split,否则相关 Pair 会同时出现在训练与验证中。还应保留新 Policy Checkpoint、领域、语言、安全场景和较新采集周期的独立切片,检验学习到的偏好能否迁移到原候选分布之外。