https://github.com/xinyuwei-david/david-share.git
最近OpenAI Day2展示的demo可能把ReFT带火了。实际上这不是一个很新的概念,也不是OpenAI原创的论文。
接下来,本文对比SFT、ReFT、RHLF、DPO、PPO这几种常见的技术。
如果把复杂的问题简单理解,这些技术之间的关系大概是:
1.ReFT(Reinforced Fine-Tuning,强化微调):
2.RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习):
c.评估方式:人类对模型输出进行评价,或者使用基于人类反馈训练的 奖励模型 来评估。
3.DPO 方法(Direct Preference Optimization,直接偏好优化):
4.RLAIF(Reinforcement Learning from AI Feedback,基于 AI 反馈的强化学习):
c.评估方式:辅助的 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,该框架结合了监督微调(Supervised Fine-Tuning, SFT)和强化微调(Reinforced Fine-Tuning, ReFT)的方法。以下是对图中各部分的详细解释:
1.监督微调(Supervised Fine-Tuning):
2.强化微调(Reinforced Fine-Tuning):
3.最终策略(Final Policy):
SFT(Supervised Fine-Tuning,有监督微调)是使用标注的训练数据对预训练模型进行微调,使其在特定任务上性能更好。模型通过学习大量的输入和期望输出对,直接调整参数,以便在给定输入下输出期望的结果。这种方法简单直接,适用于有大量高质量标注数据的任务。
ReFT(Reinforced Fine-Tuning,强化微调)结合了有监督微调和强化学习。模型首先通过SFT建立基本能力,然后在强化学习阶段,使用PPO(近端策略优化)算法进行优化。模型自主探索多种可能的输出,自动化程序根据模型生成的答案与标准答案的匹配程度给予奖励或惩罚。这样,模型逐步提高对复杂任务(如数学问题求解)的解决能力。ReFT无需额外的人类偏好数据,但训练复杂度较高。
RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)利用人类的反馈作为奖励信号,结合PPO算法优化模型输出。模型首先进行SFT,然后人类对模型的输出进行评价,形成反馈数据。根据这些数据,训练一个奖励模型,用于评估模型输出的质量。模型通过PPO算法,优化自身参数以最大化奖励模型的评分。RLHF能使模型的输出更符合人类期望,但需要大量的人类评价数据,训练过程复杂且成本高昂。
DPO(Direct Preference Optimization,直接偏好优化)不使用强化学习算法,而是直接利用人类的偏好数据,通过优化目标函数,使模型输出更符合人类偏好。具体来说,收集人类对模型输出的偏好选择或评分,构建损失函数,直接优化模型参数。这种方法避免了强化学习的复杂性,训练过程更简单,适用于希望简化训练流程且有大量偏好数据的情况,但效果取决于偏好数据的质量。
在数据需求和奖励机制上,SFT需要高质量的标注数据,没有显式的奖励机制;ReFT需要标注数据和自动化程序的奖励机制,利用PPO算法进行优化;RLHF需要有监督微调的数据和大量人类反馈数据,通过奖励模型和PPO算法优化模型;DPO需要人类偏好数据,通过直接优化目标函数,倾向于生成被人类更偏好的输出。
在训练流程的复杂度方面,SFT相对简单,计算成本取决于数据规模和模型大小;ReFT复杂度中等,需要实现和调试PPO算法,计算成本较高;RLHF复杂度最高,需要多阶段训练和大量人类评价,计算成本高昂;DPO复杂度低于RLHF,避免了强化学习的复杂性,计算成本相对较低。
各方法有其优势和劣势。SFT简单直接,但泛化能力可能有限;ReFT增强了模型的探索和泛化能力,但训练复杂度高,可能出现奖励黑客问题;RLHF输出质量高,更符合人类偏好,但成本高昂,训练复杂;DPO训练简单,直接优化目标,但依赖偏好数据质量,效果可能有限。
以数学问题求解为例,SFT方法让模型学习预先提供的解题步骤,但可能只能解决类似的问题;ReFT方法让模型自主探索不同的解题方法,能解决更复杂的问题;RLHF方法通过人类评价,优化模型,使解答更符合人类预期;DPO方法让模型倾向于生成被人类更偏好的解答,解答质量有所提升。
总结:根据任务需求和资源条件,选择合适的微调方法至关重要。SFT适用于有大量标注数据的任务;ReFT适用于需要复杂推理且有明确评价标准的任务;RLHF适用于强调人类主观偏好的任务,但需考虑成本和训练复杂度;DPO则在希望简化训练流程的情况下,是一种有效的替代方案。
1.评估过程中是否需要使用其他大模型
在ReFT(Reinforced Fine-Tuning,强化微调)方法中,评估模型生成的答案通常通过自动化的程序完成,即将模型的输出与已知的标准答案进行比较。在此过程中:
2.第二阶段的评估由谁来做
在ReFT的第二阶段(强化学习阶段),评估和奖励的计算由程序自动完成:
3.如何保证评估程序的客观性
为了确保评估程序的客观性和公正性,需注意以下几点:
4、ReFT适合的微调场景和能力
4.1 适合的微调场景
4.2 适合微调的能力
4.3 不太适用的场景
4.4 数学问题求解的评估流程
ReFT通过结合有监督微调和强化学习,特别是使用PPO算法,引导模型自主探索和学习,增强了模型在复杂推理和多步骤任务上的能力。它适用于:
然而,对于需要大量人类评价、涉及主观判断或无法定义明确奖励机制的任务,ReFT可能并非最佳选择。在这些情况下,可能需要考虑其他方法,如基于人类反馈的强化学习(RLHF)或直接偏好优化(DPO)等。
修改于2024年12月08日
文章来自微信公众号“大魏分享”,作者“魏新宇”