从PPO到ORPO:LLaMA Factory强化学习算法技术详解
在大语言模型的偏好对齐训练中,算法选择直接影响训练成本和最终效果。LLaMA Factory 支持从经典的 PPO 到最新的 DPO、SimPO、KTO、ORPO 等多种强化学习算法,但它们的原理差异、适用场景和资源开销各不相同。
本文系统梳理五大算法的理论基础、关键公式和工程实现,通过 Online 与 Offline 的对比、显存开销的量化分析、以及基于显存和数据类型的决策树,帮助你快速找到最适合自己项目的方案。文章包含完整的 LLaMA Factory 配置示例、超参数调优建议和常见问题解决方法,既适合初学者建立系统认知,也适合工程师作为实战参考手册。
文章目录
- 用一个比喻理解强化学习对齐
- 核心概念:Online vs Offline
- 生动比喻:驾校的两种教学模式
- Online (在线策略)
- Offline (离线策略)
- 1. PPO (Proximal Policy Optimization)
- 💡 一句话理解
- 1.1 算法简介
- 1.2 训练流程
- 1.3 关键公式
- 裁剪代理目标函数
- 优势函数
- 完整目标函数
- 1.4 优缺点
- 2. DPO (Direct Preference Optimization)
- 💡 一句话理解
- 2.1 算法简介
- 2.2 理论基础
- 2.3 关键公式
- 隐式奖励函数
- DPO 损失函数
- 梯度解释
- 2.4 DPO 变体
- IPO (Identity Preference Optimization)
- CPO (Contrastive Preference Optimization)
- 2.5 优缺点
- 3. SimPO (Simple Preference Optimization)
- 💡 一句话理解
- 3.1 算法简介
- 3.2 关键公式
- SimPO 损失函数
- 长度归一化的重要性
- 3.3 优缺点
- 3.4 与 DPO/ORPO 的对比
- 4. KTO (Kahneman-Tversky Optimization)
- 💡 一句话理解
- 4.1 算法简介
- 4.2 理论基础
- 前景理论
- 人类感知损失函数(HALOs)
- 4.3 关键公式
- KTO 效用函数
- KTO 损失函数
- 权重设置
- 4.4 优缺点
- 5. ORPO (Odds Ratio Preference Optimization)
- 💡 一句话理解
- 5.1 算法简介
- 5.2 理论基础
- 生成序列的比值(Odds)
- 比值比(Odds Ratio)
- 5.3 关键公式
- SFT 损失
- 比值比损失
- ORPO 总损失
- 5.4 计算优势
- 5.5 LlamaFactory 配置注意事项
- 5.6 优缺点
- ⚠️ ORPO 的正确使用场景
- 6. 算法对比总结
- 🎨 五种算法的直观画像
- 🎯 一句话决策指南
- 6.1 完整对比表
- 6.2 选择建议(2026年视角)
- 首选推荐
- 7. LLamaFactory 使用示例
- 7.1 PPO 训练
- 7.2 DPO 训练
- 7.3 SimPO 训练
- 7.4 KTO 训练
- 7.5 ORPO 训练
- 8. 数据格式要求
- 8.1 PPO 数据格式
- 8.2 DPO/SimPO/ORPO 数据格式
- 8.3 KTO 数据格式
- 9. 实战建议
- 💭 用三个问题快速选择算法
- 9.1 算法选择决策树
- 9.2 超参数调优建议
- DPO/SimPO
- SimPO
- ORPO
- KTO
- 9.3 常见问题与解决方案
- 10. 总结
- 🍳 回到厨师培训的比喻:你会选哪一个?
- 优先级推荐(按推荐度排序)
🎉进入大模型应用与实战专栏|🚀查看更多专栏内容
用一个比喻理解强化学习对齐
想象你在训练一个厨师学徒(语言模型)做菜:
传统监督学习(SFT):就像给学徒一本菜谱,让他照着做。他能学会基本步骤,但不知道哪道菜更受欢迎。
强化学习对齐(RLHF):则是让学徒根据食客的反馈不断改进。这里有几种不同的"教学方式":
PPO(传统RLHF):像是开了一家真实餐厅,学徒每天做新菜(实时生成),食客品尝后打分(奖励模型),然后根据反馈调整。这种方式最真实,但成本极高——你得养活一批食客,还要不断准备食材。
DPO系列(离线学习):更像是让学徒看美食评论节目的录像——“这道菜比那道菜好”。学徒不用真的做菜,只需要从录像中学习哪种做法更受欢迎。成本低
