当前位置: 首页 > news >正文

笔记十六:在线DPO

大模型偏好优化算法完全指南

从 PPO 到 Best-of-N,一文搞懂所有"XXO"

目录

  • 第一部分:基础概念篇
    • 1.1 什么是"对齐"(Alignment)?
    • 1.2 什么是"偏好优化"(Preference Optimization)?
    • 1.3 TRL 是什么?
    • 1.4 一个贯穿全文的核心理解
  • 第二部分:算法详解篇
    • 2.1 PPO —— 鼻祖级算法
    • 2.2 DPO —— 去掉奖励模型的简化版
    • 2.3 Online DPO —— 解决数据过时问题
    • 2.4 KTO —— 不需要配对数据的DPO
    • 2.5 IPO —— 防止过拟合的DPO
    • 2.6 ORPO —— 省掉参考模型的DPO
    • 2.7 GRPO —— DeepSeek的选择
    • 2.8 Best-of-N / RFT —— 最简单粗暴的方法
  • 第三部分:总结与选型篇
    • 3.1 全算法对比一览表
    • 3.2 决策树:到底该选哪个?
    • 3.3 黄金法则
    • 写在最后

第一部分:基础概念篇

1.1 什么是对齐(Alignment)?

大语言模型(LLM)在预训练阶段学到的只是"预测下一个词"的能力。比如你问它"1+1等于几?“,它可能会老老实实回答"2”,也可能因为训练数据里的某些毒舌文本,回答"这都算不出来?是2啊笨蛋!"。

对齐(Alignment)的目标就是:让模型的输出符合人类的偏好——回答要准确、有用、无害、符合人类价值观。

简单说:教模型"好好说话"

1.2 什么是偏好优化(Preference Optimization)?

偏好优化是一类专门用于"对齐"的训练方法。它们的共同特点是:

  • 不是教模型"抄答案"(那是SFT,监督微调)
  • 而是教模型"知道什么好、什么坏"(学会偏好)

就像教一个孩子:

  • SFT:你写一遍标准答案,让孩子照着抄。
  • 偏好优化:你给孩子的几份作业打分,好的表扬、坏的批评,让他自己悟出"怎么写才对"。

1.3 TRL 是什么?

TRL的全称是Transformer Reinforcement Learning(变压器强化学习),是由Hugging Face官方维护的一个专门针对大语言模型后训练(Post-Training)的Python库。

用一句话概括:它是把强化学习和偏好学习(如DPO、PPO)塞进大模型训练的最主流的"工业级工具箱"。

如果你用过 Hugging Face 的transformers库,TRL 就是它的"强化学习扩展包"。它提供了各种现成的 Trainer:

Trainer 名称用途
SFTTrainer监督微调(指令微调)
DPOTrainer标准DPO训练
OnlineDPOTrainer在线DPO训练
KTOTrainerKTO训练
ORPOTrainerORPO训练
PPOTrainerPPO强化学习训练
GRPOTrainerGRPO训练

你不需要手写复杂的训练循环,几行配置就能跑起来。

1.4 一个贯穿全文的核心理解

⚠️这是全文最重要的理解,请务必记住!

在SFT(监督微调)中,训练方式是:

  1. 给模型看[问题 + 标准答案]
  2. 模型预测每个词的概率
  3. 计算交叉熵损失:让模型预测的每个词越来越接近标准答案
  4. 目标:让模型学会"抄写"标准答案

所有偏好优化算法(PPO、DPO、KTO、IPO、ORPO、GRPO、Best-of-N)中,训练方式是:

  1. 给模型看[问题 + 某个回答](这个回答可能是模型自己生成的,也可能是数据集中已有的)
  2. 模型只做一次前向传播,计算出这个回答中每个Token的生成概率
  3. 把这些概率加起来(或取对数求和),得到一个句子级别的总概率
  4. 根据这个回答的"好坏标签"或"相对排名",决定把这个总概率拉高还是拉低
  5. 反向传播更新整个模型的全部参数(或通过LoRA更新部分参数)

关键区别:偏好优化不是让模型去"抄写"某个答案,而是调整模型参数,使得"好回答"被生成的概率变高,"坏回答"被生成的概率变低

训练时,模型并没有"重新生成"一遍回答。它只是对已经存在的回答文本计算概率,然后用这个概率去算损失。

💡打个比方

  • SFT= 老师给标准答案,学生照着抄(逐字逐句模仿)。
  • 偏好优化= 老师看了学生的作业,说"这份不错,以后多这么写;那份不行,以后别那么写"。学生并没有重写一遍,只是记住了这个评价,以后写作业时会调整。

第二部分:算法详解篇

2.1 PPO —— 鼻祖级算法

2.1.1 它是什么?

PPO(Proximal Policy Optimization,近端策略优化)是最早被成功应用于大模型对齐的强化学习算法。OpenAI 用它训练了 InstructGPT,Anthropic 用它训练了 Claude。

2.1.2 它怎么做?

PPO 的训练分三步走:

  1. 收集样本:让当前模型生成一堆回答,用奖励模型(Reward Model)给每个回答打分。
  2. 计算优势值:用 GAE(广义优势估计)算出每个动作(生成的词或句子)的"优势"——这个动作是"好"还是"坏",好多少、坏多少。
  3. 更新策略:用"裁剪目标函数"微调模型——只保留"优势值高且和旧策略差异小"的更新,确保模型每次只进步一点点,不"跑偏"。

2.1.3 它要几个模型?

4个模型

  1. 策略模型(Policy,正在训练的模型)
  2. 参考模型(Reference,
http://www.jsqmd.com/news/1327811/

相关文章:

  • 昆明企业做微信小程序开发:如何筛选服务商|昆明蚂蚁雄兵等本土公司选型参考 - 资讯在线
  • 如何构建高性能网盘API适配器:模块化架构的5大设计原则
  • 小米SU7/特斯拉改完避震车头沉?MZZ新能源车专用绞牙VS进口款实测 - 资讯在线
  • 《杀戮尖塔2》风灵月影20项修改器下载 Early Access版本修改器下载
  • 2026年南昌少儿播音主持培训,哪家机构更值得信赖? - GrowUME
  • 冷萃咖啡选豆指南:从产区、处理法到风味表现 - 咖评官方推荐
  • 抖音内容收藏家:用代码留住每一个值得珍藏的瞬间
  • 基于Spring Boot与Hadoop的豆瓣图书推荐系统实践
  • 2026年音乐喷泉厂家挑选指南 竹林域景等优质企业梳理 - 董不懂啊
  • Unity MyFramework 用法说明(二十七):使用 InputSystem 与 KeyMappingSystem 统一管理输入和快捷键
  • 【行业动态】完善能力分级标准、多领域规模化落地,数字员工发展再进阶
  • MongoDB与Node.js全栈开发实战指南
  • 2026 苏州姑苏区家庭防水补漏维修首位推荐|宅仕达防水补漏|老旧小区防水|卫生间漏水免砸砖|厨房外墙漏水维修|全国连锁|苏州全域覆盖 - 超人防水
  • 陕西太阳能路灯/LED路灯/高杆路灯厂家推荐:雷泰照明全场景解决方案解析 - 深度智识库
  • 英雄联盟客户端自动化工具包终极指南:如何5分钟提升你的游戏体验
  • PX4多旋翼无人机智能避障实战:从传感器融合到神经网络控制的完整解决方案
  • 5大核心技术模块解析:League-Toolkit如何基于LCU API构建智能客户端工具
  • 龍魂系统 · 分层许可治理协议 v1.0
  • 2026东莞装修公司推荐|5家口碑实力装修品牌测评? - 资讯在线
  • 2026全网实测:10款热门写小说软件深度测评与工作流搭建(含实操体验)
  • 笔记本进水黑屏故障维修:从CPU Vcore短路诊断到主板更换全流程
  • amz怎么用?新手卖家从注册到高效运营全流程指南
  • 三. LK220 硬件
  • SVG核心技术解析:从矢量图形原理到Web开发实战应用
  • 常见嵌入式操作系统中的内存管理机制
  • Linux 服务器查看微服务日志(以 system 服务为例)
  • 2026广州充气城堡厂家哪家靠谱?行业深度测评高口碑企业推荐广州丽丽玩具有限公司 - damaigeo
  • 高密度曝气盘与硅胶曝气盘优劣势及适配场景对比
  • 【计算机毕业设计单片机案例】基于单片机的 K 型热电偶高温数据实时监测报警系统 基于 MAX6675 转换模块的单片机温控报警装置设计(022601)
  • 西班牙申请海牙认证流程如何?国际海牙办理科普! - 指上通