什么是 DPO?
DPO(Direct Preference Optimization,直接偏好优化)是一种简化的语言模型人类偏好对齐方法,直接使用偏好数据优化策略,消除了 RLHF 中需要单独奖励模型和强化学习阶段的需求。
快速了解
| 全称 | 直接偏好优化 |
|---|---|
| 创建时间 | 2023 年由斯坦福研究人员提出 |
| 规范文档 | 官方规范 |
工作原理
DPO 于 2023 年作为 RLHF 的更稳定、更高效的替代方案被提出。RLHF 需要训练奖励模型然后使用 RL 进行优化,而 DPO 重新表述问题,直接使用偏好对优化语言模型。这种方法在某些条件下与 RLHF 数学等价,但实现更简单、训练更稳定、计算成本更低。DPO 已被快速采用于微调 Llama 和 Mistral 等开源模型。
主要特点
- 消除对单独奖励模型的需求
- 不需要强化学习
- 比 RLHF 训练更稳定
- 计算效率更高
- 直接使用偏好对进行优化
- 在 RLHF 理论上有数学基础
常见用途
- 对齐开源语言模型
- 在有限计算资源下微调模型
- 创建有用且无害的 AI 助手
- 基于偏好的模型定制
- 对齐技术研究
示例
loading...
Loading code...常见问题
DPO 和 RLHF 有什么区别?
DPO 消除了对单独奖励模型和强化学习阶段的需求。RLHF 需要先训练奖励模型,然后使用 RL 优化,而 DPO 直接使用偏好对优化策略,使其更简单、更稳定、计算成本更低。
DPO 训练需要什么类型的数据?
DPO 需要偏好对,包含一个提示、一个首选响应(chosen)和一个较不首选的响应(rejected)。这些配对指示人类更喜欢哪个响应,使模型能够从比较判断中学习。
DPO 中的 beta 参数是什么?
beta 参数控制 KL 散度约束的强度,平衡优化偏好和保持接近参考模型之间的关系。较高的 beta 意味着更强的正则化,而较低的 beta 允许与参考模型有更大的偏差。
DPO 可以与其他微调技术结合使用吗?
可以,DPO 通常与 LoRA(低秩适应)等技术结合进行参数高效训练。这种组合允许在有限的 GPU 内存下对齐大型模型,同时保持质量。
与 RLHF 相比,DPO 有哪些局限性?
在某些奖励模型能够泛化超出训练分布的场景中,DPO 可能不如 RLHF。DPO 对偏好数据的质量也很敏感,可能不如基于 RL 的方法那样有效地进行探索。