AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


OpenAI发布强化微调技术,SFT退出历史舞台
发布日期:2024-12-11 07:35:22 浏览次数: 1760 来源:包包算法笔记


大家都听说过监督微调SFT,强化微调是个什么东西?

这次为期12天的OpenAI发布系列的Day2,就搞出了一个让开发者震惊的玩意儿。强化微调(Reinforcement Fine-Tuning)是通过给予模型高质量任务数据和参考答案来强化其推理能力。

与传统微调不同,强化微调并不是简单地让模型“记住答案”,而是通过训练模型在特定领域中学会推理,找到正确答案。可以把它想象成给 AI 一套复杂的规则,让它通过实践和思考逐步掌握解决问题的方法。

这种微调方法使用两种数据集:一个是用于训练的微调数据集,另一个是用于验证的测试数据集。模型首先通过微调数据集进行学习,然后在测试数据集上验证其推理能力,发现不足后再调整。通过这种反复的自我推理、训练和验证,模型的能力会逐步提升,最终达到极高的专业水平。

这种方法不仅提高了模型解决相似问题的能力,还显著增强了在特定领域的准确性。比如法律、保险、医疗、金融和工程领域,这些任务通常有明确的“正确答案”,而强化微调正是应对这些场景的利器

Sam Altman 认为强化微调 Reinforcement Fine-Tuning是2024最牛的技术进展,能帮助大家搞定专业模型的训练。

 用户用起来也非常简单。

OpenAI 通过一个根据症状推理预测可能基因的示例展现了强化微调的巨大潜力 —— 这实际上也正是伯克利实验室与 OpenAI 的合作项目之一。结果发现,使用强化微调后,模型规模更小的 o1-mini 的表现可超过性能更加强劲的 o1。
首先来看训练数据集具体来说,这里的数据集是一个 .jsonl 文件,其中每一行都是一个训练样本。在这个示例中,数据集中包含 11 个样本。
下面展示了一个具体数据样本。可以看到其中包含三项:病例报告(包含基本信息、症状以及没有的症状)、指令和正确答案。
在强化微调的训练过程中,模型并不能看到正确答案。在给模型提供病例报告和指令之后,模型会输出如上图底部所示的响应 —— 一个基因列表,其中排在第一位的基因是模型认为最可能的基因,以此类推。
接下来,还需要上传一个验证数据集。验证数据与训练数据的格式完全一样,但内容没有重叠。这样才能验证模型能否在该任务上进行泛化,而不仅仅是记住了训练数据。
在训练过程中,强化微调的「强化」部分就体现在评分器(Grader)的使用上。其设计思路很简单,评分器会比较模型输出与正确答案,然后返回一个 0 到 1 之间的分数。0 表示模型的输出中不包含正确答案,而 1 表示正确答案在输出的第一个位置。如下图所示,正确答案在第 2 个位置,评分器给出了 0.7 的分数。


当然,有些任务的输出结果并不是列表形式,因此 OpenAI 也提供了其它评分器,可以「相当有效地覆盖你可能拥有的意图的空间」。并且他们也在不断增加更多评分器,未来也会支持用户自己定制的评分器。
配置好评分器之后,用户还可以选择调整模型种子和一些超参数,包括批量大小、学习率乘数、epoch 数量。
接下来,点击 Create,再等待一段时间,用户就能得到经过强化微调的定制模型。Allard 表示,根据具体任务的不同,这个训练过程可能需要数小时到数天时间。
接下来,他演示了一个之前已经微调好的模型,以下截图展示了该模型的相关信息,可以看到基础模型是 o1-mini,经过强化微调后会得到一个输出模型。
同一个页面中还能看到模型在验证数据集上的分数变化情况。

那么,这个经过强化微调的 o1-mini 的表现究竟如何呢?评估结果表明,在 top@1(正确答案在列表第 1 个位置的概率)、top@5(正确答案在列表前 5 个位置的概率)和 top@max(输出中包含正确答案的概率)指标上,其表现都明显胜过性能更加强大的最新版 o1。

下面展示了一些运行过程示例:

然,强化微调是一种通用技术。理论上,只要有合适的数据集和评估器,你就能将 o1 训练成你的专业 AI 助手。
目前,OpenAI 仅支持强化微调的 Alpha 测试申请,并且名额有限,「非常适合正在与专家团队一起处理非常复杂任务的组织」,个人用户至少得等到明年了。如果你有需求,可以在这里尝试申请:
https://openai.com/form/rft-research-program/

强化微调技术最早由字节提出?

Reinforcement learning fine-tuning,简称为ReFT,它结合了监督微调(SFT)和强化学习(RL)的方法,通过引入多条推理路径的学习,对这些路径与正确答案的匹配程度进行自动评估,从而优化模型生成高质量解答的能力。

而且,这个技术路线,更早竟然是字节跳动提出发出的,论文还发布在今年ACL 24上。

字节跳动在ACL 2024顶会上发表的ReFT论文是:

REFT: Reasoning with REinforced Fine-Tuning

研究内容为,通过监督微调(SFT)和强化学习RL(PPO算法)结合,来提高大语言模型在解决数学问题方面的推理能力。

ReFT 由两个阶段组成:预热(Warm-up)阶段和强化学习RL阶段。首先使用 SFT 对模型进行预热,然后采用在线强化学习(在该工作中具体是 PPO 算法)进行优化。

预热阶段(Warm-up)

Warm-up是ReFT的初始步骤,其目的是为模型提供一个基础,使其能够生成对数学问题的基本正确响应。这个阶段使用监督式微调SFT实现:

这一阶段使用包含“Question”和“思维链CoT”元组的数据集:(x, e)。模型在这些“Question-CoT”对上进行微调,通常持续1-2个epoch。这个过程将模型的预测能力调整到能够生成适当的响应。

RL阶段

在预热阶段之后,模型进入强化学习阶段,这个阶段使用PPO(Proximal Policy Optimization)算法来进一步提升模型的性能。

这一阶段使用包含“Question”和“Answer”元组(x,y)组成的数据集。

具体来说,模型通过反复生成多种可能的CoT推理路径,还有一个评估器,专门评估响应的答案正确性,生成reward信号反馈。正确答案会给予正奖励,错误答案则不给予奖励。

这个过程,类似于AlphaZero在围棋领域的自对弈(self-play)学习。

从结果上看,ReFT在所有数据集上都显示出比SFT更好的性能,特别是在CodeLLAMA模型上,ReFT在GSM8K数据集上的准确率比SFT提高了近10个百分点。




53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询