M45:偏好数据小实验:Chosen / Rejected 如何改变学习信号
一条偏好样本不是“好答案与坏答案”的标签,而是在给定 prompt 和评判标准下,声明 chosen 相对 rejected 更可取。
内容类型:预习教材(不代表已完成)
日期:2026-10-07
阶段:P1 · AI Model Engineering 90
周次:W7 · Preference、DPO、GRPO/RLVR 与奖励科学
节奏:周三引导练习
状态:教材已备;学习未完成
标签:preference-data、chosen-rejected、dpo、annotation、baseline
一句话定义
一条偏好样本不是“好答案与坏答案”的标签,而是在给定 prompt 和评判标准下,声明 chosen 相对 rejected 更可取。
学习目标
- 能构造规模很小但标准明确的 chosen/rejected 数据。
- 能区分内容偏好、格式偏好和长度等混杂变量。
- 能用固定探针观察概率或输出倾向,而不把小样本现象夸大。
核心知识
偏好数据至少包含 prompt、chosen、rejected、评判理由或准则版本。若一对回答同时在正确性、长度、语气和格式上不同,模型得到的信号是混合的,很难知道它学了哪一项。理想的教学小例应尽量控制差异:例如两个回答长度相近,只让其中一个引用证据。
偏好具有条件性。同一句话在“简洁摘要”任务中可能更好,在“完整审计说明”中可能不足。标注准则必须与 prompt 同时保存。存在真实平局或不确定时,不应强迫选择;可以排除、标记 tie 或降低权重。
chosen/rejected 的来源也影响数据:人工编写的 rejected 可能过于简单,模型生成的 rejected 更贴近当前策略分布,但会继承模型偏差。训练集若只包含一种明显错误,模型可能学会表面线索,而非核心原则。
机制/推导
DPO 的更新由 chosen 与 rejected 相对参考模型的 log-ratio 差决定。因此如果 chosen/rejected 仅差一个固定前缀,模型可能主要提高这个前缀的概率。要判断行为是否真的迁移,需要在未见 prompt 上设计反捷径探针:交换长度、改写措辞、去掉常见短语,但保留同一核心准则。
小数据练习不要求完成真实 DPO 训练。可以先用冻结模型计算每对回答的 log probability,手算偏好 margin;或用 toy logits 更新,观察方向。关键是把“数据差异→损失信号→可能行为”连起来。
最小练习或观察步骤
- 选择一个单一准则,例如“结论必须引用输入中的证据编号”。
- 写 6~12 个 prompt;每个 prompt 创建长度和语气尽量相近的一对回答。
- 为每对记录 chosen 理由、rejected 问题及准则版本。
- 留出至少两个未训练探针,其中一个刻意反转长度或措辞线索。
- 可行时跟随 DPO/pairwise toy 示例;不可行时手算相对分数变化。
- 比较前后时只报告:固定探针上的输出、概率或格式差异;没有运行就保留空白。
- 检查是否把某个表面 token 当成偏好捷径。
常见误区
- chosen 永远更长,最后把长度偏好误认为质量偏好。
- rejected 是荒谬答案,无法代表真实困难边界。
- 同一 prompt 的两答使用不同事实,偏好准则不再单一。
- 将标注者分歧直接丢弃,不分析任务是否本来就含多种合理价值。
- 训练后只展示训练对,不用未见反捷径探针。
金融 / Web3 / 文档场景连接
可构造“有证据引用 vs 无引用”“区分事实与推断 vs 混写”“发现矛盾并拒答 vs 强行结论”的偏好对。不能把真正客户数据放入教学集,也不要让 chosen 包含训练输入之外的隐含事实,否则模型被奖励编造。
自检问题
- 为什么 chosen/rejected 的差异越多,归因越困难?
- 平局或不确定样本应如何处理?
- 什么是反捷径探针?
- 小规模偏好实验可以支持多强的结论?
专业课程对齐
- 精读 HF TRL Quickstart 的 DPO dataset 示例与 trainer 输入,确认 conversational/standard 格式、prompt、chosen、rejected 如何被 tokenization。
- 精读 ARENA 的 reward modeling 和 preference data 相关单元,关注标注准则、pairwise signal 与分布偏差。
- 选读 Stanford CS224N 的 evaluation 与 alignment 课题,用来设计未见 prompt 上的反捷径探针。
深入学习提示
先从 TRL 数据 schema 往回追踪 mask 和 log-probability 计算,再用 ARENA 审视数据生成偏差。对每对样本建立差异表:事实、长度、格式、语气、引用,尽量只保留一个目标差异;保存 rubric 版本、tie/不确定性和样本来源。代码上打印一条处理后序列,确认 prompt 是否被重复、chosen/rejected 的截断是否不对称。反例是 chosen 永远更长或总以同一短语开头,模型可学到表面特征却在核心准则上无迁移。
学后填写区
- 单一偏好准则:
- 数据条数与来源:
- 一个可能的混杂变量:
- 反捷径探针:
- 实际观察(未运行可留空):