logo
话题头图

国内首个!千帆ModelBuilder支持RFT 打破传统SFT训练,模型效果超越OpenAI o1

OpenAI发布会引爆RFT技术,千帆ModelBuilder率先落地!

在OpenAI连续12天的技术发布会上,一项名为RFT(Reinforcement-based Fine-Tuning,基于强化学习的微调)的新型训练方法引发全球关注。该方法通过结合强化学习与监督微调,仅需少量标注数据即可显著提升模型在特定场景下的性能。
2月28日,百度智能云千帆ModelBuilder成为了国内首个全面支持RFT训练方法的大模型开发平台,为企业开发者提供更高效、低成本的大模型开发模式,进一步降低生成式AI应用落地的门槛。

什么是RFT:大模型高效训练的新范式


RFT融合了强化学习(RL)和微调(Fine-tuning)技术,突破了传统训练依赖大量人工标注偏好数据的局限,借助Grader比较模型Response和Reference进行打分(0 - 1),自动分配奖励信号,驱动模型优化。
这一训练方式的优势在于,AI可以自己思考,强化导致正确答案的思维路径、抑制导致错误的思维路径,可以在用户的少量专业数据中完成推理,从而完成强化学习,迅速达到细分领域的专家水平。
RFT融合强化学习(RL)监督微调(SFT),通过以下机制突破传统训练瓶颈:
  1. 奖励信号自动化引入Grader模块(基于规则或参考答案的评分器),对比模型输出与参考答案(Reference),自动生成0-1分值的量化奖励信号,替代人工偏好标注。
  2. 策略优化智能化基于PPO算法构建强化学习框架,驱动模型通过自主探索优化输出策略,避免传统SFT的局部最优局限。


千帆ModelBuilder RFT训练全流程解析:RFT如何让模型实现"思维跃迁"

在千帆ModelBuilder的实测中,RFT展现出"超强增效"特性:
  • 数据效率:复杂场景下,仅需4500条训练数据即可完成训练,并保证模型效果。
  • 泛化能力:在3-8人复杂度递增的"好人/坏人"推理场景中,平均准确率相比base模型提升29%。
  • 训练天花板:在复杂问题场景下,RFT的训练能力天花板更高。
那上面的3点内容我们是如何得出的结论呢,我们以平台上真实测评的逻辑推理场景“谁是好人”来进行揭秘!
首先来看看案例背景:什么是逻辑推理场景——“谁是好人”?
在虚构的“坏人与好人”推理问题中,模型需分析角色陈述的真伪,推断出“好人”与“坏人”的身份。此类问题考验模型的逻辑一致性分析与数学推理能力。我们用一个具体query来展示下该场景:
输入:
一个非常特殊的岛屿上只有好人和坏人居住。好人总是说真话,坏人总是说谎。
你遇到三个居民:杰克、塞巴斯蒂安和詹姆斯。
据杰克说:“詹姆斯是好人且杰克是好人。”
塞巴斯蒂安评论道:“杰克是坏人且詹姆斯是坏人。”
詹姆斯说:“塞巴斯蒂安是好人,仅当他是坏人时成立。”
那么谁是好人,谁是坏人?
输出:
<think>首先,我们知道好人说真话,坏人说谎。我们可以从每个人的话开始分析。如果杰克是好人,那么他的陈述“詹姆斯是好人且杰克是好人”都是真的。但这与杰克是好人假设矛盾,因为如果他确实是好人,他不能同时断言他也是好人。因此,杰克是坏人,他的话是假的。这意味着詹姆斯不是好人,或是杰克不是好人或两者都是。由于我们假定杰克是坏人,那么詹姆斯应当是坏人。接着考虑塞巴斯蒂安的话:“杰克是坏人且詹姆斯是坏人”。这是真的,因为根据上面的分析,这两句话都是正确的。最后,詹姆斯的话“塞塞巴斯蒂安是好人,仅当他是坏人时成立。”意味着塞巴斯蒂安不可能既是好人又是坏人。因此,塞巴斯蒂安是坏人。这样,詹姆斯作为坏人的身份就得到了验证,因为他的陈述和整个逻辑的一致性。所以,只能是詹姆斯作为坏人,剩下的塞巴斯蒂安也是坏人。这就是逻辑分析过程。
</think>
<answer>
(1) 情况下詹姆斯和塞巴斯蒂安都是坏人。
</answer>
可以看到,在上述的case模型的输出中,思考过程已经逐渐混乱,并且题目本身需要区分3个人的身份,在最终答案中模型只给出2个人的身份结论,并未有效的推理出该问题。那我们对模型进一步进行RFT,希望能解决模型输出准确性问题。
千帆ModelBuilder上的RFT训练三步曲
Step 1:创建RFT训练任务
在千帆ModelBuilder上,选择「模型精调」→「偏好对齐」→「RFT」,并选择base模型DeepSeek-R1-Distill-Qwen-7B,同时配置奖励规则(平台预置四种规则,奖励规则中定义了如何评估模型输出效果的规则)。
选择训练方法
奖励规则配置
Step 2:准备训练数据
采用开源数据集K-and-K/knights-and-knaves(约4,500条数据);平台数据配置中,数据格式需包含Prompt(问题)与Response(参考答案)。
数据配置要求:Prompt+Response格式
Step 3:模型部署与效果快速评估
配置成功后,在平台即可一键开启模型训练,训练完成后一键部署至千帆ModelBuilder,同时平台支持创建自动评估任务,通过ERNIE-4.0-Turbo作为裁判员模型并自定义评估指标,快速得到模型评估结果。
效果验证—RFT“超强增效”:训练后的模型回答准确率大幅提升,超越OpenAI o1模型!
整个训练过程,我们基于百度智能云千帆ModelBuilder平台,利用base模型DeepSeek-R1-Distill-Qwen-7B使用约4500条少量数据,完成RFT训练;根据回答准确率以及case示例分析,我们得出2个关键结论。
关键结论1——准确率跃升,训练天花板更高:在3-8人复杂度递增的场景中,RFT后的DeepSeek-R1-Distill-Qwen-7B平均准确率提升29%,超越了OpenAI o1;同时我们也对比了SFT-全量更新后的模型回答准确率,发现在逻辑推理场景下,RFT的效果提升更显著,训练天花板更高。
RFT后的模型与base模型、OpenAI o1回答准确率对比

关键结论2——泛化能力增强:RFT前Base模型的输出答案以及思考过程均有明显错误,并且当题目难度越高的时候甚至模型回答语言已经错乱;而RFT后,模型输出的答案准确,思考过程也更加清晰。
以下是实例对比:
简单问题
输入:
一个非常特殊的岛屿上只有好人和坏人居住。好人总是说真话,坏人总是说谎。你遇到三个居民:杰克、塞巴斯蒂安和詹姆斯。据杰克说:“詹姆斯是好人且杰克是好人。”塞巴斯蒂安评论道:“杰克是坏人且詹姆斯是坏人。”詹姆斯说:“塞巴斯蒂安是好人,仅当他是坏人时成立。”那么谁是好人,谁是坏人?
DeepSeek-R1-Distill-Qwen-7B输出:
<think>首先,我们知道好人说真话,坏人说谎。我们可以从每个人的话开始分析。如果杰克是好人,那么他的陈述“詹姆斯是好人且杰克是好人”都是真的。但这与杰克是好人假设矛盾,因为如果他确实是好人,他不能同时断言他也是好人。因此,杰克是坏人,他的话是假的。这意味着詹姆斯不是好人,或是杰克不是好人或两者都是。由于我们假定杰克是坏人,那么詹姆斯应当是坏人。接着考虑塞巴斯蒂安的话:“杰克是坏人且詹姆斯是坏人”。这是真的,因为根据上面的分析,这两句话都是正确的。最后,詹姆斯的话“塞巴斯蒂安是好人,仅当他是坏人时成立。”意味着塞巴斯蒂安不可能既是好人又是坏人。因此,塞巴斯蒂安是坏人。这样,詹姆斯作为坏人的身份就得到了验证,因为他的陈述和整个逻辑的一致性。所以,只能是詹姆斯作为坏人,剩下的塞巴斯蒂安也是坏人。这就是逻辑分析过程。</think>
<answer>
(1) 情况下詹姆斯和塞巴斯蒂安都是坏人。
</answer>

RFT后:DeepSeek-R1-Distill-Qwen-7B输出<think>詹姆斯的声明是一个矛盾命题,因此詹姆斯一定是坏人。由于杰克说詹姆斯是好人,杰克是在说谎,所以杰克也是坏人。因为塞巴斯蒂安说杰克是坏人且詹姆斯是坏人,塞巴斯蒂安说的都是真话,所以塞巴斯蒂安是好人。</think><answer>(1) 杰克是坏人(2) 塞巴斯蒂安是好人(3) 詹姆斯是坏人</answer>
复杂问题
输入:
一个非常特殊的岛屿上只居住着好人和坏人。好人总是讲真话,坏人总是说谎。你遇到了7个居民:Isabella、Mason、Ella、Harper、Daniel、David 和 Michael。根据Isabella的说法,“David是一个好人”。Mason提到,“Daniel不是一个好人”。Ella说,“Mason不是一个坏人”。Harper的话是:“Daniel是一个好人,David是一个好人”。Daniel说,David是一个好人或者David是一个坏人。David说,“如果Ella是一个好人,那么Daniel是一个坏人。” Michael说,“如果Harper是一个好人,那么Daniel是一个坏人”。那么,谁是好人,谁是坏人?
DeepSeek-R1-Distill-Qwen-7B输出:
我们需要通过条件逐步分析这些陈述来确定每个人的身份。我们先列出所有陈述,根据这些陈述进行推论:
1. Isabella:David是一个好人。
2. Mason:Daniel不是一个好人。
3. Ella:Mason不是一个坏人(即Mason是一个好人)。
4. Harper:Daniel是一个好人,David是一个好人。
5. Daniel:David是一个好人或者David是一个坏人。
6. David:如果Ella是一个好人,那么Daniel是一个坏人。
7. Michael:如果Harper是一个好人,那么Daniel是一个坏人。
分析第一条和第四条,如果Harper说David和Daniel都是好人,那David说的“David是一个好人或者David是一个坏人”也有可能是对的,但我们需要更多证据。如果Harper说的是真话,那么根据David的话,Ella就只能是个坏人。但如果David和Harper都不是好人,我们会遇到矛盾,因为Harper的陈述必须至少有一部分为真。
Ella说"Mason不是一个坏人",也意味着Mason是好人。如果Mason是好人,根据Harper和Michael的陈述,Daniel必须是坏人。这又符合Ella的陈述。
那么我们有以下一些初步结论:如果Harper是好人,那么Harper让David成为好人是真的。但Harper的另一个部分(David是好人)可能导致冲突,因为如果David是好人,那David的那个ive就不可能是真话。
如果确实是Michael说的让Daniel成为坏人,那么David说的部分就仍然相符,因此可能性较高。
现在我们进一步推断:
既然David是坏人,那么Michael的话就是诡辩,Harper必须是坏人。
因为Harper不是好人,所以他的第二部分可能是真的(David是好人)。
但如果David是好人,是否会违反逻辑?
由于找不到矛盾,我们可以确认:
1. Harperi 和 Michael是坏人。
2. Mason是好人,Daniel和David是坏人。
3. 如果Ella和Isabella没有直接矛盾,他们可能是好人。
最后我们检查一下:Isabella说David是好人,如果David是好人,那么Isabella说真话或错。但如果Isabella是好人,没有矛盾,所以她可能是好人。
确认Mason、Isabella是好人,其他是坏人。</think>
<answer>
(1) Isabella and Mason are knights.
(2) Daniel, David, Harper, and Michael are liars.
</answer>
RFT后:DeepSeek-R1-Distill-Qwen-7B输出
<think>根据David的话,他要么是好人要么是坏人。但是David的说法与Harper一致,因此David必须是好人。既然David是好人,那么Harper的话也是正确的,所以Harper也是好人。既然Daniel的话与David一致, Daniel也是好人。既然Michael说如果Harper是好人,那么Daniel是坏人, Michael在说谎,所以Michael是坏人。既然Mason说Daniel不是好人,Mason在说谎,所以Mason是坏人。既然Ella说Mason不是坏人,Ella在说谎,所以Ella是坏人。既然Isabella说David是好人,Isabella说的是真话,所以Isabella是好人。</think>
<answer>
(1) Isabella 是好人
(2) Mason 是坏人
(3) Ella 是坏人
(4) Harper 是好人
(5) Daniel 是好人
(6) David 是好人
(7) Michael 是坏人
</answer>
评论
用户头像