链载Ai

标题: 深度对比: SFT、ReFT、RHLF、RLAIF、DPO、PPO [打印本页]

作者: 链载Ai    时间: 昨天 11:58
标题: 深度对比: SFT、ReFT、RHLF、RLAIF、DPO、PPO

https://github.com/xinyuwei-david/david-share.git

最近OpenAI Day2展示的demo可能把ReFT带火了。实际上这不是一个很新的概念,也不是OpenAI原创的论文。

接下来,本文对比SFT、ReFT、RHLF、DPO、PPO这几种常见的技术。

一、几种技术之间的关系

如果把复杂的问题简单理解,这些技术之间的关系大概是:

  1. ReFT(Reinforced Fine-Tuning,强化微调):

    1. 组成:ReFT = SFT + PPO

    2. 过程:在有监督微调(SFT)的基础上,使用 PPO(近端策略优化)进行强化学习。

    3. 评估方式:通常通过自动化程序对模型输出进行评估,奖励信号来自程序的评价。


  2. RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习):

    1. 组成:RLHF = SFT + PPO + 人类反馈

    2. 过程在 SFT 的基础上,使用 PPO 进行强化学习,奖励信号来自人类反馈

    3. 评估方式:人类对模型输出进行评价,或者使用基于人类反馈训练的奖励模型来评估。


  3. DPO 方法(Direct Preference Optimization,直接偏好优化):

    1. 组成:DPO 方法 = SFT + DPO

    2. 过程:在 SFT 的基础上,引入参考模型使用DPO(直接偏好优化)方法直接优化模型。

    3. 评估方式:利用人类偏好数据和参考模型构建损失函数,直接优化模型参数。


  4. RLAIF(Reinforcement Learning from AI Feedback,基于 AI 反馈的强化学习):

    1. 组成:RLAIF = SFT + PPO + AI 反馈

    2. 过程:在 SFT 的基础上,使用 PPO 进行强化学习,奖励信号来自AI 模型的反馈

    3. 评估方式:辅助的 AI 模型(可能是奖励模型)对模型输出进行评价,提供奖励信号。



解释:


ReFT、RLHF、DPO和RLAIF。这些方法都是在监督微调(SFT)的基础上,进一步优化模型以提高性能,但它们在优化策略和反馈来源上有所不同。

1. ReFT(Reinforced Fine-Tuning,强化微调):这是SFT和PPO(近端策略优化)的结合。在第一阶段,模型通过SFT在有标注的数据上进行训练,建立基本的语言理解和生成能力。第二阶段,引入PPO算法,对模型进行强化学习优化。此时,模型的输出由自动化程序进行评估,程序根据预设的规则或标准对模型的输出进行评价,并生成奖励信号。模型根据这些奖励信号,使用PPO算法调整自身参数,以产生更优的输出。ReFT的特点是评估过程自动化,无需人类参与,适用于有明确客观标准的任务,例如数学问题求解。

2. RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习):在SFT的基础上,结合PPO算法,但奖励信号来自人类反馈。具体而言,人类对模型的输出进行评价,指出更优的回答,或通过偏好对比的方式提供反馈。这些人类反馈可以直接用于指导模型优化,或者用于训练一个奖励模型,后续由奖励模型对模型输出进行评估。RLHF的优势在于引入了人类的主观判断,使模型的输出更符合人类偏好,适用于需要复杂评价和主观判断的任务。

3. DPO(Direct Preference Optimization,直接偏好优化)方法:与前两种方法不同,DPO不用强化学习算法(如PPO),而是采用监督学习的方法直接优化模型。在SFT之后,利用人类偏好数据和参考模型构建损失函数,直接对模型进行微调。具体来说,收集人类对模型输出的偏好数据,如在给定的多个回答中标注出人类更喜欢的那个。然后,设计一个损失函数,使模型倾向于生成被人类偏好的输出。通过最小化这个损失函数,直接调整模型参数。DPO避免了强化学习中的试错过程,训练更稳定,效率更高,适用于有大量人类偏好数据的场景。

4. RLAIF(Reinforcement Learning from AI Feedback,基于AI反馈的强化学习):这是SFT、PPO和AI反馈的结合。在SFT后,使用PPO进行强化学习,然而奖励信号不是来自人类,而是来自辅助的AI模型(如奖励模型)的反馈。AI模型对主模型的输出进行评估,提供奖励信号。这样的方法节省了人类评价的成本,但依赖于辅助AI模型的质量。

总结:四种方法中,ReFT、RLHF和RLAIF都使用了PPO作为强化学习算法,区别在于奖励信号的来源不同:ReFT来自自动化程序的评估,RLHF来自人类反馈,RLAIF来自AI模型的反馈。只有DPO方法使用了监督学习的方式,不采用PPO等强化学习算法,而是直接利用人类偏好数据和模型优化模型。

那么,为什么DPO不用强化学习,而采用监督学习?

强化学习方法(如PPO)需要模型在环境中自行探索,通过试错学习获得奖励信号,这个过程复杂,训练不稳定,且调参困难。相比之下,监督学习的方法更直接高效:通过人类提供的偏好数据,直接告诉模型什么是好的输出,构建损失函数,调整模型参数。这样避免了强化学习的复杂性,训练过程更稳定,效率更高,特别适用于有大量人类偏好数据的情况。


举个例子,使用强化学习的模型就像是在黑暗中摸索前进,需要不断试错;而使用监督学习的DPO方法,就像是有人直接给了一张地图,告诉你正确的前进路线。采用监督学习,可以更快地达到目标。

选择方法的依据:如果任务有明确的客观评价标准,适合使用ReFT,通过自动化程序评估模型输出。如果希望模型的输出更符合人类主观偏好,并有大量人类反馈数据,可以选择RLHF或DPO方法。RLHF使用强化学习算法,需要模型与环境交互,训练复杂;DPO则采用监督学习,训练更简单高效。若人类反馈成本高,可以考虑RLAIF,用辅助AI模型提供反馈信号。


二、ReFT简介

先看ReFT论文中的流程图:

如上图所示,ReFT,该框架结合了监督微调(Supervised Fine-Tuning, SFT)和强化微调(Reinforced Fine-Tuning, ReFT)的方法。以下是对图中各部分的详细解释:

  1. 监督微调(Supervised Fine-Tuning)






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5