强化学习
PPO 与 DPO:两种对齐方法的理解
PPO:稳定地更新策略
PPO(Proximal Policy Optimization) 是一种强化学习算法,常用于训练在连续动作空间(如机器人关节或游戏角色控制)中的智能体。其核心目标是稳定且可靠地提升智能体的决策策略(policy)。
PPO 的核心思想是对策略进行小幅、谨慎的更新,避免因剧烈变化导致性能崩溃。主要流程如下:
- 数据收集:智能体用当前策略与环境交互,收集一批经验(状态、动作、奖励)。
- 评估“智能体目标”:PPO 计算策略更新对期望奖励的影响,但采用特殊的“裁剪”目标函数。
- “裁剪”机制:这是 PPO 稳定性的关键。它为当前策略设定一个“信任区间”,防止策略更新过大。裁剪机制如同安全刹车,确保智能体不会因一次大步更新而丧失已学知识。
简而言之,PPO 在提升性能的同时保持策略稳定,避免训练过程中的灾难性失败,实现更稳健的学习。
DPO:直接学习偏好
DPO(Direct Preference Optimization) 是一种专为 LLM 与人类偏好对齐设计的新方法,相较于 PPO 更直接、简化。
理解 DPO 需先了解传统的 PPO 对齐流程:
-
PPO 方法(两步):
- 奖励模型训练:收集人类反馈数据(如“响应 A 优于响应 B”),训练奖励模型预测人类评分。
- 用 PPO 微调 LLM:LLM 目标是生成能获得奖励模型高分的响应,奖励模型充当“裁判”。
这种两步流程较为复杂且不稳定,LLM 可能“钻空子”骗取高分但输出低质量响应。
- DPO 方法(直接):DPO 跳过奖励模型,直接用偏好数据更新 LLM 策略。
- 其数学机制直接将偏好数据与最优策略关联,教模型“提升生成偏好响应的概率,降低生成不受欢迎响应的概率”。
本质上,DPO 通过直接优化语言模型的人类偏好数据,简化了对齐流程,避免了奖励模型训练的复杂性和不稳定性,使对齐更高效、稳健。