Ch11 模型微调

概念-ORPO

核心定义

ORPO(Odds Ratio Preference Optimization,优势比偏好优化)是2024年提出的突破性对齐算法,由韩国KAIST团队开发。ORPO的核心创新在于:将SFT(Supervised Fine-Tuning)和偏好对齐合并为单一训练步骤,无需单独的奖励模型或参考模型,在一次训练中同时完成指令跟随和偏好优化。

传统RLHF需要三个阶段(SFT → 奖励模型训练 → PPO),DPO简化了流程但需要单独的SFT阶段和参考模型。ORPO将SFT损失和偏好优化损失合并为一个损失函数,在单个训练阶段中完成所有工作。

核心原理

ORPO损失函数

ORPO的损失函数由两部分组成:

L_ORPO = L_SFT + λ · L_OR

其中:
- L_SFT: 标准交叉熵损失(SFT损失),确保模型学习指令跟随
- L_OR: Odds Ratio损失,基于chosen和rejected响应的优势比
- λ: 平衡超参数,控制偏好优化的强度

Odds Ratio核心概念

ORPO的关键在于”优势比(Odds Ratio)“概念:

odds_θ(y|x) = P_θ(y|x) / (1 - P_θ(y|x))

L_OR = -log σ( log(odds_θ(y_w|x) / odds_θ(y_r|x)) )

其中 y_w 是chosen(偏好)响应,y_r 是rejected(非偏好)响应。通过最大化chosen响应的优势比相对于rejected响应的优势比,模型学会区分好坏响应。

与DPO的关键区别

  • DPO:比较chosen和rejected的概率比值,使用参考模型作为锚点
  • ORPO:比较chosen和rejected的优势比,不需要参考模型
  • DPO:需要单独的SFT阶段
  • ORPO:SFT和偏好对齐同时进行

ORPO vs DPO vs RLHF

维度RLHFDPOORPO
训练阶段数3(SFT → RM → PPO)2(SFT → DPO)1(统一训练)
需要奖励模型是否否
需要参考模型否是否
内存占用高(4个模型)中(2个模型)低(1个模型)
训练稳定性低(PPO不稳定)高高
计算成本最高中等最低
对齐效果基准相当或略好相当
偏好数据需求大量中等中等
开源实现TRL/DeepSpeedTRL/LLaMA-FactoryLLaMA-Factory/官方
2024-2025采用下降主流快速增长
2026趋势几乎被替代继续使用成为默认选择之一

何时使用ORPO

适用场景

  1. 资源受限:GPU内存有限,无法同时加载参考模型和训练模型
  2. 快速迭代:需要快速实验对齐效果,减少训练周期
  3. 小团队:缺乏训练复杂RLHF流水线的工程能力
  4. 从头训练:需要从base model开始,一次性完成SFT+对齐
  5. 多轮对话:ORPO在多轮对话对齐上表现优异

不适用场景

  1. 已有高质量SFT模型:如果已有好的SFT checkpoint,DPO可能更直接
  2. 需要精细控制:需要独立调整SFT和对齐阶段时
  3. 极端偏好数据:偏好数据质量极差时,分离阶段可能更好
  4. 生产环境:已有成熟RLHF/DPO流水线且运行良好

2026年采用情况

采用趋势

  • 开源社区:ORPO已成为LLaMA-Factory、Axolotl等主流微调框架的标配
  • 学术研究:大量论文使用ORPO作为对齐基线
  • 企业应用:中小企业和初创公司广泛采用,大型企业开始评估
  • 模型发布:多个开源模型使用ORPO进行对齐

技术演进

  • ORPO-v2:改进的λ调度策略,动态调整SFT和偏好优化的平衡
  • Multi-turn ORPO:针对多轮对话优化的ORPO变体
  • ORPO + 迭代训练:多轮ORPO迭代,每轮用更高质量的偏好数据
  • 跨模态ORPO:将ORPO扩展到视觉-语言模型

局限与挑战

局限描述缓解方案
λ敏感效果对λ超参数敏感自动化λ搜索
偏好数据质量低质量偏好数据影响效果数据过滤和清洗
SFT-对齐平衡可能过度优化偏好而牺牲指令跟随动态λ调度
长文本长序列训练效率较低序列打包优化

相关笔记

来源

关联8

知识图谱

局部图谱 · 点节点跳转