从头训练小模型- 3 传统RLHF与DPO的区别
从头训练小模型: 3 传统RLHF与DPO的区别
这个步骤我其实是忽略了。如果我的目标是建立一个安全领域的模型,我个人理解这步骤并不太必要。关于人类偏好对齐:在前面的训练步骤中,模型已经具备了基本的对话能力。
此时模型还不知道什么是好的回答,什么是不好的回答。我们希望它能更符合人类偏好,降低产生让人不满意答案的可能性。
简单来说,就是教会模型使用你们公司的安全符合你们自己的表达方式,只知道这么说话更好
主要目的:实现人类偏好对齐
- 使AI行为符合人类期望:
- 产生更有帮助的回答
- 减少有害、错误或误导性内容 (就比如我们问的是安全相关的问题, 他们要选择不回答)
- 遵循指令并理解微妙的人类意图
- 体现人类价值观和道德准则
所以我的训练步骤中, 暂时省略这个流程
传统RLHF与DPO的区别
传统的RLHF (Reinforcement Learning from Human Feedback) 和DPO (Direct Preference Optimization) 都是用于优化语言模型以对齐人类偏好的方法,但它们在实现方式上有显著差异:
传统RLHF方法
- 三阶段流程:
- 第一阶段:监督微调 (SFT) - 在高质量数据上微调基础模型
- 第二阶段:训练奖励模型 (RM) - 基于人类偏好反馈训练
- 第三阶段:强化学习 - 使用PPO (Proximal Policy Optimization) 算法基于奖励模型优化策略
- 复杂性高:
- 需要训练单独的奖励模型
- 强化学习阶段计算复杂且不稳定
- 需要精心调整KL散度惩罚项以防止模型偏离初始分布
- 计算资源:需要大量计算资源,特别是在PPO阶段
DPO方法
- 简化流程:
- 第一阶段:监督微调 (SFT) - 与RLHF相同
- 第二阶段:直接优化 - 不需要单独的奖励模型,直接使用人类偏好数据
- 数学理论:
- 将RLHF问题重构为直接优化问题
- 证明可以通过优化特定的损失函数来隐式学习奖励模型
- 优势:
- 简化了训练流程,无需显式奖励模型
- 计算效率更高,训练速度更快
- 实现更简单,更稳定
- 降低了优化过程中偏离初始分布的风险
数据需求对比
- RLHF:需要人类偏好数据来训练奖励模型,然后需要大量的环境交互来执行PPO
- DPO:只需要人类偏好数据,通常是”选择-拒绝”对(chosen-rejected pairs)
性能对比
研究表明,在许多应用场景中,DPO能够达到与传统RLHF相当甚至更好的性能,同时显著降低了训练复杂度和计算资源需求。
这种简化使得更多研究者和小型团队能够实施对齐技术,也使得模型优化过程更加透明和可解释。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.