跳转到主要内容

ORPO 训练

ORPO 在单个训练阶段中结合了 SFT 和偏好优化。

什么是 ORPO?

ORPO(Odds Ratio Preference Optimization)是 DPO 的更简单替代方案,不需要参考模型。它直接使用优势比优化偏好,减少内存使用和训练复杂度。

快速开始

ORPO 需要 --prompt-text-column--rejected-text-column--text-column 默认为 "text",因此只有当您的选择列名称不同时才需要指定。

Python API

数据格式

与 DPO 相同 - 偏好对:

ORPO vs DPO

参数

VLM(视觉语言)ORPO

ORPO 支持视觉语言模型(如 Qwen 3.5-VL)进行图像+文本偏好对齐。设置 image_column 启用 VLM 模式:
数据集应包含带消息列表的 chosen/rejected 列,以及包含图像的图像列。图像列会自动重命名为 images 以兼容 TRL。

何时使用 ORPO

在以下情况选择 ORPO:
  • 内存有限(不需要参考模型)
  • 您想要组合 SFT + 对齐
  • 偏好更简单的训练流程
  • 从基础模型开始(未进行指令微调)
在以下情况选择 DPO:
  • 您需要细粒度控制
  • 使用已进行指令微调的模型
  • 参考模型行为很重要

示例:客户支持

下一步

DPO Training

替代对齐方法

Reward Modeling

训练奖励模型