跳到主内容

DPO 是怎么绕开奖励模型的?直接从偏好学

2026-10-18 发布 来源:我告诉你AI导航 阅读

大模型对齐的 DPO 思路很直接:既然手里已经有成对的偏好数据,何必再训一个奖励模型?DPO 把 RLHF 的后两步合并,直接用偏好数据优化策略模型,绕开奖励模型的训练和调用,链条短了一半,工程上因此更轻。

大模型对齐的 DPO 思路很直接:既然手里已经有成对的偏好数据,何必再训一个奖励模型?DPO 把 RLHF 的后两步合并,直接用偏好数据优化策略模型,绕开奖励模型的训练和调用,链条短了一半,工程上因此更轻。

绕开奖励模型的思路

先对比两条路径的进出。RLHF 路径:偏好数据先进奖励模型,变成分数,再用分数训策略,中间多一次转换。DPO 路径:同样的偏好数据直接进策略模型的训练目标,一次到位。少掉的环节不只是算力,还有误差累积,奖励模型的偏差不会传导到策略上。

两条路径的差别,落在偏好数据每一步的去向上。

环节RLHF 路径DPO 路径
偏好数据先进哪进奖励模型,变成分数直接进策略模型的训练目标
中间转换用分数训策略,多一次转换一次到位,不需要显式打分器
误差累积奖励模型的偏差会传导到策略上偏差不传导,少一层误差累积
阶段数三个阶段压缩成一个阶段

这个简化不是拍脑袋。偏好数据本身就隐含了“什么样的回答更好”的信息,DPO 用数学方式把这个信息直接接到策略模型的优化目标上,中间不需要一个显式的打分器。RLHF 的三个阶段因此被压缩成了一个阶段。

偏好数据怎么直接用

DPO 的训练数据形态和 RLHF 第一阶段一致:同一个问题,一个被偏爱的回答,一个被冷落的回答。进来的是这样的成对样本,发生的是策略模型对两个回答的概率调整:被偏爱的回答概率往上推,被冷落的回答概率往下压。出去的是更新后的策略模型。

这里有个精妙设计:推和压的力度不是固定的,而是参考模型当前状态下两个回答的差距。差距小就多推一点,差距大就少推,避免模型为了拉开差距而走极端。标注规范在这里同样重要,排序口径不一致,目标就会被带偏。

数据量在这条路线上同样关键。偏好对太少,模型学到的排序规律覆盖不住真实场景,换个问法就失效;几十到几百条精心构造的对子,通常能让模型在目标场景上出现方向性变化。这也是小团队能快速上手的原因。

目标函数在做什么

把目标函数翻译成大白话,它在平衡两件事。第一是跟随偏好,让模型更偏爱人类选中的回答。第二是别跑太远,用参考模型拉住策略,防止它为了迎合偏好把原有的语言能力玩坏。两件事的权重由一个系数控制,系数大小直接决定模型是学得快还是学得稳。

不堆公式也能理解它的直觉:训练后的模型,面对同一个问题,给高排名回答的概率应该明显高于低排名回答,同时整体分布不能偏离原模型太远。奖励模型训练要学一个泛化的打分函数,DPO 则把同样的偏好信号直接蒸馏进策略。

与 RLHF 路线的取舍

两条路线没有唯一答案,只有场景匹配。数据量中等、追求轻量落地时,DPO 的短链条优势明显,中小团队更容易复现。追求极致对齐效果、数据充足时,RLHF 的奖励模型能泛化到没见过的偏好类型,上限可能更高,但工程成本和调试难度也上一个台阶。

实践中还常见混合用法:先用 DPO 快速对齐拿到基线,再按需补 RLHF 做精调。对普通用户来说,这种差异体现在对话手感上,智谱清言和通义千问在对齐风格上的不同,背后就有路线选择的成分。选哪条,取决于你的数据规模和算力账本。

速查表:DPO=跳过奖励模型,直接用偏好数据训策略;核心是推高偏爱回答概率同时拉住参考模型;轻量场景首选,极致对齐仍看 RLHF。

关于 DPO 机制再多问三句

  • DPO 完全不需要奖励模型吗?训练阶段不需要,但它的目标函数在数学上和某个隐式奖励模型等价,只是不显式训出来。
  • 偏好数据质量差会怎样?排序噪声直接进优化目标,模型会迎合错误偏好,清洗和规范比路线选择更基础。
  • 小团队适合从 DPO 入手吗?适合,链条短、组件少,几十到几百条高质量偏好数据就能看到方向性变化。

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]