计算机系统应用教程网站

网站首页 > 技术文章 正文

LLMs Finetune系列(七)—RLHF 替代算法 DPO

btikc 2024-10-12 12:00:05 技术文章 19 ℃ 0 评论

前面文章详细讲解了RLHF算法, 大家可以感受到RLHF的复杂性, 其包含三个步骤,在最后一个步骤引入PPO 这样的强化学习,这样在实际优化中会导致各种不稳定(PPO 超参数较多,强化学习较难训练)。针对这些问题,是否可以直接优化策略函数,以迎合对齐奖励函数(训练奖励函数的目的是为了对齐策略函数),本文下面介绍的 DPO 算法在这方面做了相关工作;

DPO 算法出自论文《Direct Preference Optimization:Your Language Model is Secretly a Reward Model 》其核心思想是找到了奖励函数和最优策略间的映射,展示了约束奖励最大化问题完全可以转化为对策略函数的优化 ,从本质上解决了人类偏好数据上的一些对齐问题;

上图直接将对偏好preference的对齐,转化为对LLM 生成语言模型策略的优化;下面分两个步骤对DPO 算法进行解析:

1.对原始 RLHF 中带有KL散度约束的目标函数进行参数化重整

由上式目标函数,推导出策略函数LLM 的最优解形式(具体见文章末推导过程):

从上面的策略函数LLM的最优解中解出奖励函数的表达式如下:

2.Bradley-Terry (BT) 排序奖励模型

对于一个输入x,LLM策略输出的y1,y2 人类偏好可以使用如下式子表示:


将1中r(x,y) 表达式带入上式:

最终RLHF 中奖励函数目标(添加一个sigma):

最终被转换为DPO 模型的目标函数如下:

DPO 算法推导出奖励函数r和策略LLM的联系,就是为了把原始RLHF中的ranking loss中的换掉,从而也就完美实现了DPO的目标:根本就不需要训练奖励函数,也没有使用PPO 强化学习这一套机制。

这里简单做个总结:上面使用两个步骤对DPO 算法目标函数进行了推导,第一步由 RLHF 中PPO 算法的目标函数对r(x, y) 进行参数化重整;然后代入基于排序的Bradley-Terry (BT) 模型,得到最终DPO 的优化模型,经过这么推导,DPO 本质上是一个r(x,y) 为如下表达式的BT 模型

说明:BT 模型经常用于队伍之间比赛胜率预测

最后作者讲到还可以使用我们的框架来诊断RLHF中使用的标准演员-评论家算法(例如PPO)的不稳定性

函数 f 中添加了一项ref 参考项,尽管这一项不会影响最优解,但没有它,目标函数的策略梯度可能会具有很高的方差,导致学习不稳定。我们可以使用一个学习到的价值函数来适配标准化项,但这也很难优化。另外,之前的研究使用人类回答基线来对奖励进行标准化,基本质上是对标准化项进行单次蒙特卡洛估计。相比之下,DPO 重参数化产生的奖励函数不需要任何基线。

思考:与显式奖励函数相比,DPO 策略在分布之外如何进行泛化?例如,标准的 RLHF 方法可以通过使用学习到的奖励模型对 LM 生成的结果进行标注,从而利用额外的无标签提示。使用来自 DPO 策略的自标注训练是否能够类似地有效利用无标签提示?另外,奖励过度优化在直接偏好优化中表现如何,此外,虽然我们评估了 6B 参数的模型,但是将 DPO 扩展到比现有模型大几个数量级的最新模型是未来工作的一个激动人心的方向.

其实目前使用 DPO 进行微调的LLM 模型中有 Zephyr 7B 模型;其通过GPT-4 对一个prompt 产生4个response 的排序打分,轻松扩大数据集规模,提升了模型的泛化性能。下一篇文章将重点讲解 Zephyr 7B paper《ZEPHYR: DIRECT DISTILLATION OF LM ALIGNMENT》中具体实施步骤进行详解,大家敬请关注。

步骤 1 策略LLM 函数的表达式推导:

上述策略函数是一个有效的概率函数,满足概率定义的几条公里

步骤2 DPO Objective Under the Bradley-Terry Model

——>

——>

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表