从头训练小模型: 3 传统RLHF与DPO的区别

这个步骤我其实是忽略了。如果我的目标是建立一个安全领域的模型,我个人理解这步骤并不太必要。关于人类偏好对齐:在前面的训练步骤中,模型已经具备了基本的对话能力。

此时模型还不知道什么是好的回答,什么是不好的回答。我们希望它能更符合人类偏好,降低产生让人不满意答案的可能性。

简单来说,就是教会模型使用你们公司的安全符合你们自己的表达方式,只知道这么说话更好

主要目的:实现人类偏好对齐

  • 使AI行为符合人类期望
    • 产生更有帮助的回答
    • 减少有害、错误或误导性内容 (就比如我们问的是安全相关的问题, 他们要选择不回答)
    • 遵循指令并理解微妙的人类意图
    • 体现人类价值观和道德准则

所以我的训练步骤中, 暂时省略这个流程

传统RLHF与DPO的区别

传统的RLHF (Reinforcement Learning from Human Feedback) 和DPO (Direct Preference Optimization) 都是用于优化语言模型以对齐人类偏好的方法,但它们在实现方式上有显著差异:

传统RLHF方法

  1. 三阶段流程
    • 第一阶段:监督微调 (SFT) - 在高质量数据上微调基础模型
    • 第二阶段:训练奖励模型 (RM) - 基于人类偏好反馈训练
    • 第三阶段:强化学习 - 使用PPO (Proximal Policy Optimization) 算法基于奖励模型优化策略
  2. 复杂性高
    • 需要训练单独的奖励模型
    • 强化学习阶段计算复杂且不稳定
    • 需要精心调整KL散度惩罚项以防止模型偏离初始分布
  3. 计算资源:需要大量计算资源,特别是在PPO阶段

DPO方法

  1. 简化流程
    • 第一阶段:监督微调 (SFT) - 与RLHF相同
    • 第二阶段:直接优化 - 不需要单独的奖励模型,直接使用人类偏好数据
  2. 数学理论
    • 将RLHF问题重构为直接优化问题
    • 证明可以通过优化特定的损失函数来隐式学习奖励模型
  3. 优势
    • 简化了训练流程,无需显式奖励模型
    • 计算效率更高,训练速度更快
    • 实现更简单,更稳定
    • 降低了优化过程中偏离初始分布的风险

数据需求对比

  • RLHF:需要人类偏好数据来训练奖励模型,然后需要大量的环境交互来执行PPO
  • DPO:只需要人类偏好数据,通常是”选择-拒绝”对(chosen-rejected pairs)

性能对比

研究表明,在许多应用场景中,DPO能够达到与传统RLHF相当甚至更好的性能,同时显著降低了训练复杂度和计算资源需求。

这种简化使得更多研究者和小型团队能够实施对齐技术,也使得模型优化过程更加透明和可解释。