前沿对齐速览:GRPO/ORPO/KTO/SimPO

05-对齐微调 前沿≈ 15 分钟 #GRPO#ORPO#KTO#前沿 reviewed
我的状态:

前置知识点

一句话定义

DPO 之后的对齐算法围绕三个痛点演进:去掉参考模型(ORPO/SimPO)、接受非成对数据(KTO)、用可验证奖励做推理强化(GRPO),本节给出各自的适用判据。

为什么重要

2024 年后新算法名目繁多,盲目追新浪费时间,完全无视则错过真收益(尤其 GRPO 之于推理任务)。需要的是一张「什么信号、什么数据、选什么算法」的速查表,而不是逐篇精读。

前置知识

kp-022 的 DPO 损失结构与参考模型开销;RLHF 中奖励的概念。

核心概念

  • GRPO(Group Relative Policy Optimization):同一提示采样一组回答,以组内平均为基线计算相对优势,去掉 critic 网络;DeepSeek-R1 的推理能力训练所用方法。
  • ORPO:把 SFT 与偏好优化合并为单阶段,用 odds-ratio 惩罚项直接压低 rejected,无需参考模型。
  • KTO:只要求「好/坏」二元标签(不必成对),基于前景理论的损失设计,数据门槛最低。
  • SimPO:用答案平均对数似然做隐式奖励并引入长度归一,缓解长度偏置,同样免参考模型。

原理与机制

按「数据形态 × 是否需要参考模型」给谱系定位:DPO 需要成对偏好 + 参考模型;ORPO 一步到位但改变了 SFT 流程;KTO 把数据要求降到最低(标注一条回答的好坏即可);SimPO 与 ORPO 同属「免 ref」路线,差异在隐式奖励的定义。GRPO 属于另一维度:它不是「离线偏好训练」而是「在线采样 + 组内相对奖励」的强化学习,奖励可来自规则判分(数学对错、代码通过测试),这使它特别适合可验证奖励的推理类任务——R1 式「思考链 + 自我验证」能力的来源。

选型判据:只有好/坏标注、数据少 → KTO;想要流程最简(不单独跑 SFT)→ ORPO;推理任务且有可验证奖励(答案可判对错)→ GRPO;标准成对偏好 → DPO 仍是默认答案。

图示

数据形态:   成对偏好 ──► DPO ──(免ref变体)──► SimPO
            好坏二元 ──► KTO
            可验证奖励(能判对错) ──► GRPO (在线采样)
流程:       ORPO = SFT+偏好一步完成;  其余都在 SFT 之后

直观类比

DPO 是「两道菜比高下」;KTO 是「每道菜只告诉你好吃/难吃」;GRPO 是「同一道菜让十个厨师各做一份,比谁离平均水准远」——不需要评委,只需要能判对错的标准答案。

实例或案例

数学解题助手:SFT 模型答案正确率 62%。改用 GRPO:每题采样 8 个回答,按「最终答案对错」给 0/1 奖励训练一个 epoch,正确率升至 78%,且思考链长度自发增长(模型学会先验算)——这是 DPO 类离线方法难以做到的,因为它需要模型自己探索出新解法,而不是从人工标注的偏好里模仿。

操作步骤

  1. 盘点手上的信号:能拿到成对偏好?只有好坏标注?还是能自动判对错?
  2. 好坏标注 → TRL 的 KTOTrainer({"prompt", "completion", "label"})。
  3. 成对偏好但想省 ref 显存 → 试 SimPO/ORPO,与 DPO 基座对照。
  4. 可验证奖励 + 推理任务 → TRL GRPOTrainer,自定义 reward_funcs(规则判分函数)。
  5. 一律先与 DPO 基线在同数据上对照,增量不明就不换。

排错清单

  • KTO 学不出差异:label 分布是否平衡(全好/全坏学不到对比),坏例是否真的坏。
  • ORPO 一步训练后 SFT 能力下降:合并训练的代价,数据量或 β 需要重调,或退回两阶段。
  • GRPO 奖励函数被「钻空子」(reward hacking):收紧判分规则,加入格式约束奖励。
  • 新算法都不如 DPO:正常——基线强、数据标准时,DPO 就是稳妥解。

常见误区

  • 新算法全面取代 DPO:多数改进是特定约束下的取舍,默认场景 DPO 仍稳健。
  • GRPO 等于更好的 DPO:两者范式不同(在线强化 vs 离线偏好),适用前提(可验证奖励)完全不同。
  • 追新优先:算法增量通常小于数据质量增量,先把 kp-023 的数据做好。

与其他知识点的关系

DPO 基线见 kp-022 与 kp-023;方法谱系的全景定位见 kp-003;GRPO 的奖励设计依赖评测体系(kp-025)的可验证性。

延伸阅读

Shao et al. 2024《DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models》(GRPO);Hong et al. 2024《ORPO: Monolithic Preference Optimization without Reference Model》;Ethayarajh et al. 2024《KTO: Model Alignment as Prospect Theoretic Optimization》。

自测题

  1. 只有一批「好/坏」二元标注的回答,选什么算法?

答:KTO——它的数据要求就是非成对的二元标签。

  1. GRPO 与 DPO 的范式差异是什么?

答:GRPO 是在线采样 + 组内相对优势的强化学习,需要可验证奖励;DPO 是离线成对偏好上的监督式训练。

  1. ORPO 的最大卖点与代价各是什么?

答:卖点是 SFT 与偏好优化一步完成、免参考模型;代价是单阶段训练更难调,SFT 能力可能受损。

相关知识点

来源

  • Shao et al. 2024《DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models》(GRPO)
  • Hong et al. 2024《ORPO: Monolithic Preference Optimization without Reference Model》
  • Ethayarajh et al. 2024《KTO: Model Alignment as Prospect Theoretic Optimization》

基于模型知识整理,建议按需核对原文。