摘要:就在上周,满血版o1正式上线了!它首次将多模态和新的推理范式结合起来,更智能、更快速。此前,在2024年9月OpenAI推出全新o1系列模型,以“会思考的大模型”重新定义了AI的发展方向,不仅打破了此前Scaling Law可能“见顶”的质疑,也宣告了人工智能
就在上周,满血版o1正式上线了!它首次将多模态和新的推理范式结合起来,更智能、更快速。此前,在2024年9月OpenAI推出全新o1系列模型,以“会思考的大模型”重新定义了AI的发展方向,不仅打破了此前Scaling Law可能“见顶”的质疑,也宣告了人工智能进入更深层次逻辑推理能力的时代。OpenAI CEO奥特曼自信地表示:“o1的发布证明,AI的未来不仅没有放缓,我们对未来几年已经胜券在握。”这一言论背后,是对o1模型所展现出的突破性逻辑推理能力的肯定。
而这一波革新的浪潮也迅速蔓延至国内。短短两个月内,从kimi的k0 math到昆仑万维的天工大模型4.0 o1版,再到360的360gpt2-o1,国产厂商纷纷推出类o1模型,展示了其快速迭代与技术创新的实力。
这些新一代大模型不仅在数学、编程等领域的表现上接近甚至超越了o1,还通过引入“慢思考”技术,让人工智能开始模拟人类逐步推理和反思的过程。这种能力,不再只是简单的回答问题,而是在更深层次上尝试解决复杂难题,甚至具备了自我反思与纠错的能力。
当思维链(CoT)与强化学习的结合成为焦点,AI也逐步走向真正的“会思考”。这不仅是技术的较量,更是对未来人工智能边界的重新定义。国产大模型们,不止是跟随,更是对思考本质的一次次探索。
近日,360 自研 AI 大模型 360gpt2-o1 正式上线。
360gpt2-o1 使用树搜索构建思维链,并引入了反思机制,使用强化学习训练,模型具备自我反思与纠错的能力。该模型是继今年 10 月推出的 360 智脑大模型 360gpt2-pro 之后的重要更新,模型在数学以及各种复杂逻辑推理任务上实现了显著提升。
在多项基础数学评测(如MATH、高考数学)以及权威数学竞赛(包括AIME24、AMC23)中,360gpt2-o1 均取得了显著的成绩,不仅超越了前代模型 360gpt2-pro,也优于 GPT-4o 模型。
在数学竞赛评测中,360gpt2-o1 超过了阿里巴巴最新开源的 o1 系列模型 QWQ-32B-preview。
优异的模型效果,主要得益于 360gpt2-pro 在合成数据优化、模型后训练和“慢思考”范式三个方面,均取得了重大进展,下面详细介绍一些技术细节。
整体架构
图1:360gpt2-o1 整体架构一. 合成数据
为了增强模型的推理能力,我们提高了数学与逻辑推理数据在训练集中的比例。然而,现实中这类高质量数据较为稀缺,例如,数学领域的开源数据集非常有限,目前主要依赖 MATH 和 GSM8K,两者合计数据量尚不足两万条。至于逻辑推理方面的开源数据集,其数量更为稀少。为应对这一数据短缺问题,我们在合成数据方面做了大量工作。
图2:合成数据流程示意图1.1 指令合成
为了扩展指令,我们采用了进化方式做复杂指令优化。指令进化过程采用 self-instruct、wizard 和基于 CFbench 多类约束的 auto-evol 方法。我们将数学问题进行分类,每类问题使用不同的 prompt,再经过多样性控制和质量筛选,最后生成新的指令。
具体地,我们在种子任务中有部分高质量的数学问题集合,我们希望从这些高质量集合中扩展出更多样化的数学指令。为此,将数学问题按学科拆解为不同的子问题,如矩阵运算、微积分、方程等。拆解后,再对每个子问题进行 Self Instruct,以扩展种子任务。筛选时,若只对指令筛选,可用最长公共子序列或 Jaccard 距离等简单方法。
图3:self instruct 示意图1.2 质量/多样性筛选
我们训练 Reward Model 和 Critique Model 用于对指令和回答进行过滤,设计多样性选择算法确保指令和回答的多样性。
图4:回答质量过滤和多样性选择使用开源数据以及自有的偏序数据训练了 360zhinao-pro-rm(reward bench 得分 92.59),使用该模型进行样本筛选,过滤低质数据。
训练 Critique Model ,用于进一步过滤,保留高得分的指令和回答。整个 Critique Model 训练流程如下:从数据中提取问题和对应的参考答案,下图中的最上面部分是标准指令,指导模型生成评判标准。最下面是其他模型生成的打分结果。我们用这些数据训练 Critique Model。GPT-4o 对问题的打分准确率为 85.94%,Critique Model 训练后约为 84.76%。可以看到,Critique Model 在区分正确与错误回答时的评分分布差异显著。
图5:Critique Model 训练流程二. 模型后训练
后训练过程分为两个阶段:RFT 阶段 与 强化阶段。在 RFT 阶段,我们采用此方法的缘由是先前在大模型上进行数学推理时的观察:即便指令集规模有限,若能为每个问题生成多条各异的合理推理路径,也能有效提升模型的多样性与能力。因此,在该阶段,我们首先训练一个 Reference 模型。完成初步训练后,该模型会在第二阶段生成多条推理路径,这些路径随后会经过质量评估和多样性筛选。最终,我们获得包含每个问题多条精选推理路径的数据集,用于更大规模的模型进行 RFT 训练。之所以选择使用小模型来生成并筛选数据,是因为大模型的采样成本过高。举例来说,若对 10 万条指令每条进行 100 次采样,将产生 1000 万条数据,使用大模型处理这样的数据量将耗费巨大。相比之下,小模型不仅生成数据的速度更快、成本更低,而且其生成的推理路径也更为多样化。
图6:模型后训练流程三. “慢思考”
我们的“慢思考”过程利用蒙特卡洛树搜索(MCTS)来探索多样化的解决方案路径,其中节点的选择依据是 UTC 和 PRM 的评分。这些探索路径有一定概率会历经一些错误的尝试,但最终会导向正确答案。为了确保整个回答的顺畅与准确,我们引入了 LLM 来对过程中出现的错误结论进行细致验证,识别出错误的步骤,并指引我们探索新的、更正确的方向。最终,我们的长思维链,涵盖了反思、验证、纠错以及回溯等关键环节。
图7:慢思考整个流程前期我们在指令合成、数据采样、训练优化等方面做了大量工作,虽然在推理方面取得了很大的提升,但是模型仍然在复杂推理方面表现不佳。模型还不够“聪明”,目前模型推理更多展现的是“记忆能力” ,虽然在特定、定义明确的任务中有效,但在面对复杂、动态和开放式问题时会有明显的局限性。模型缺乏识别和纠正自身错误的能力。
图8:模型缺乏“说话之前先思考”的能力
借鉴 OpenAI 先前发表的 Quiet-STaR 论文理念,我们希望模型学会“说话之前先思考”。通过深入分析 OpenAI 的 o1 模型隐藏的思维链,我们洞察到一个核心特征:其真实的推理过程实质上构成了一棵搜索树,且随着问题难度的攀升,隐藏思维链的长度也相应地延伸。
因此,要想使模型具备解决复杂推理任务的能力,我们的模型应该具备以下特点:
迭代式解决问题能力:模型能够将复杂问题分解为更简单的组成部分,反映了一种结构化和有条理的方法。
递归和反思能力:模型能够重新评估和验证中间结果,使用递归结构确保一致性,这在严谨的数学推理中很典型。
假设探索能力:模型测试不同的假设,随着获得更多信息而调整其方法,展示了推理过程中的灵活性。
结论验证能力:最后,模型能够验证结果,在验证失败后,能够准确找到错误步骤,并进行纠错。
在具体实现中,我们采用了一种“慢思考”的方法:基于 LLM 和奖励的树搜索。
“慢思考”最显著的特征是在推理产生错误或遇到冗余推理步骤时尝试反思和回溯。这类似于在推理树上搜索问题的解决方案,在错误节点处回溯,直到找到正确的解决路径。为实现这一点,需要构建一棵推理树,其中根节点代表问题,其他每个节点代表一个推理步骤。从根到任何节点的路径代表从问题到该结论的推理过程。此外,回溯和反思必须基于错误的推理步骤,这需要一个更细粒度的奖励模型(即过程级)来指示树中每个节点的正确性。通过在具有过程级奖励的推理树上执行搜索算法,可以将错误步骤整合到思维链中,从而构建包含回溯和反思等行为的长思维。
图9:慢思考和快思考的区别3.1 过程奖励模型 PRM
为了评估模型每一步推理是否正确,我们需要一个步骤打分模型,也就是过程奖励模型 PRM。为了训练 PRM,我们需要一份为每个步骤分类(正确或错误)的标签数据。与 ORM 相比,PRM 可以提供更详细和可靠的反馈。但是 PRM 对数据要求极高,需要为每个步骤构建标签,非常耗时耗力。
目前开源的主要是 OpenAI 2023 年基于 MATH 构建的样本 PRM800K,包含了 800K 个步骤级别的正确性标签,这些标签针对的是 MATH 数据集中问题的解决方案。
另外一份数据是北京大学开源的数据集 Math-Shepherd,包含了 400k 个步骤级别的正确性标签,这些标签针对的是 MATH 和 GSM8K 数据集中问题的解决方案。
除了利用开源数据集外,我们还专门合成了一个新的全面覆盖数学与逻辑推理各类别的数据集。在验证集上的测试中,我们特别训练的 PRM 模型在数学和逻辑推理问题的步骤级准确率上,成功超越了 gpt-4o 和 o1-mini。
3.2 构建推理树
给定一个问题及其相应的最终答案, 模型从问题作为根节点开始,不断向树中添加新节点。它首先生成 K 个可能的第 1 步推理步骤,作为根节点的子节点。然后,迭代地进行前向推理,为每个当前节点生成 K 个可能的后续推理步骤,作为该节点的子节点。这个过程不断重复,直到达到最大深度或所有叶节点达到最终答案。
为了节省计算成本,我们对推理树进行了剪枝,每层只保留少量节点。对于简单问题的错误步骤,保留节点更少,对于复杂问题的错误步骤,保留节点更多。
3.3 从推理树导出思维链
一旦推理树构建完成,目标就变为根据树推导出思维链。我们采用了特定的搜索算法(比如 MCTS),使用 PRM 来作为我们的奖励信号。
图10:当前叶子节点会选择分值最高的节点(图中 s = 0.66)继续探索在选择步骤中,我们使用了 UTC (Upper Confidence Bounds applied to Trees)策略。UCT 有效平衡了探索(选择访问次数少的节点)和利用(选择具有高胜率的节点)。计算方式如下:
其中是节点的获胜次数(已经访问的路径中,节点所在路径为正确路径的次数),是节点的访问次数,是父节点的访问次数,是探索参数。在每次探索到叶子节点之后,会更新所在路径上所有节点的 和 。
此外,在选择策略中,我们还考虑了步骤的 PRM 奖励分,对于相同步数的节点,我们会选择奖励分最高的节点。
3.4 反思机制
我们在每个思维过程的末尾加入了反思机制,促使模型进行自我反思并重新评估推理步骤。从自我批评的角度来看,这一方法使模型能够充当自己的评判者,从而识别推理中的潜在错误。这种自我批判机制利用了模型检测其自身输出中不一致或错误的能力,从而能够提升模型解决复杂问题的能力。反思机制作为一个内部反馈循环,增强了模型在没有外部干预的情况下自我纠正的能力。
在图 10 中,中间最下面的节点得出的结论是错误的,在反思之后,选择得分最高的节点继续进行探索。
3.5 逻辑推理专项优化
逻辑推理问题包括约束求解和谓词逻辑问题等,这些问题都可以通过 Z3 求解器来快速求出正确解。很多逻辑推理问题由大语言模型直接推理求解非常困难,正确率很低,但将逻辑条件翻译为程序语言对于大语言模型而言是简单的。利用这一观察,我们实现了程序-大语言模型结合的逻辑推理问题高效求解,同时设计了逻辑推理-程序验证的模式来合成数据,增强模型自身的推理能力。
通过使用“慢思考”长思维链数据进行微调时,我们观察到了逻辑推理能力的显著提升,但在常规任务上出现了“过度思考”的现象,复杂的推理反而会影响常规任务的效果,这与论文 的观察一致。为了缓解这一现象,我们对私有 SFT 集进行了指令分类,使用推理增强版模型重新合成了推理类指令的回复,与其它任务的原始问答对合并来进行微调。这种操作使得我们得到的模型能在需要推理的任务上使用长推理模式,在不需要长推理的任务上直接回答。
四. 模型效果
360 公司在 10 月推出的通用大模型 360gpt2-pro,已经在推理能力上表现出了强大的性能,在第三方权威评测机构 superclue 最新发布的 10 月评估报告中,360gpt2-pro 在高级推理能力榜单上仅次于 o1-preview,排名国内第一。理科榜单上(包括计算、逻辑推理、高级推理),并列国内第一。
图11:superclue高阶推理榜单中应用了o1能力的360gpt2-pro排名国内第一
图12:superclue理科榜单应用了o1能力的360gpt2-pro排名国内并列第一
360gpt2-o1 在 360gpt2-pro 的基础上实现了进一步提升,其推理能力获得了显著增强。
准确率对比
360gpt2-o1 模型在各项基础数学评测(MATH、高考)以及数学竞赛(AIME24、AMC23)等权威评测中,均取得了显著的成绩,超过了上一版模型 360gpt2-pro 以及 GPT-4o 模型。
只考虑竞赛题的情况下,准确率指标,360gpt2-pro 相比 QwQ-32B 高 0.002 分。
360gpt2-o1 因为保留了几乎全部的指令遵循能力,在长思维链数学上与 o1 类模型略有差距,但优点是在普通问题上,不会出现冗长的思维链。
下表为 360gpt2-o1 在各项相关评测中的得分结果:
图13:360gpt2-o1在竞赛题上准确率超过QwQ-32B 0.002 分GPT-4o 打分(考虑步骤分)
使用 GPT-4o 对模型回答进行打分(参考 superclue 的打分规则,会考虑步骤正确或冗余),360gpt2-o1 超越了 QwQ-32B(高 0.023 分),纯准确率上有 0.021 分的差距,与 o1 系列差距是 0.05 分。图14:360gpt2-o1在所有数学评测集上超过QwQ-32B 0.05分(考虑步骤分)
4.1 样例
360gpt2-o1 模型具有以下能力和亮点:
思考和规划能力自我反思和自我验证能力复杂问题“慢思考”,简单问题正常回答,不会“过度推理”相较于先前的大模型,360gpt2-o1 在数学推理、逻辑推理、常识推理乃至“弱智吧”问题的处理上都表现得游刃有余。总体而言,360gpt2-o1 在解析复杂问题、进行自我反思以及提升答案质量方面均实现了显著进步。下面我们就来看下实际效果。
例子1:数学竞赛题
为了验证其“智力水平”,我们特意挑选了一道来自美国数学竞赛(AMC)中难度顶尖的AIME题目来对它进行考验(如下图所示)。
每个早晨,Aya 都会进行一段 9 公里长的步行,然后在一家咖啡店停下来。当她以每小公里的恒定速度行走时,步行包括在咖啡店停留的分钟在内共花费 4 小时。当她以每小时公里的速度行走时,步行包括在咖啡店停留的分钟在内共花费 2 小时 24 分钟。假设 Aya 以每小时公里的速度行走。求包括在咖啡店停留的 分钟在内,步行所需的时间(分钟数)。例1:面对难度极高的数学问题,360gpt2-o1 尽管花费了一些时间,但还是一步步推理出了正确结果。例子2:找规律
在找规律方面,360gpt2-o1 也是能手,我们直接测试一道复杂点的找规律题,看看它答的怎么样:
分析序列:4, 13, 36, 97, 268, 765, 2236, 6625, 19764, 预测第十项。例2:可以观察到,360gpt2-o1 首先计算了一阶差分,继而推进到二阶差分,乃至三阶差分,逐步揭示了数字间的隐藏规律。在初始的一阶差分未能显现出明显规律时,它凭借不懈的迭代过程,最终精准地生成了正确答案。例子3:破解密码
你需要破解一个6位数的密码,所有数字从1到6不重复。已知:1.第一位与第二位的和为7。2.第一位是第三位的两倍。3.第四位比第五位小1。4.第六位与第一位的差值为3。请问密码是多少?例3:在应对复杂密码解密任务时,360gpt2-o1 同样展现出了强大的自我探索,自我纠错与推理能力。
例子4:“算24点”游戏
对于一般的大模型而言,“算24点”的游戏往往容易让它们陷入无尽的循环之中,但从 360gpt2-o1 的表现来看变得相对容易。它不仅迅速给出了正确答案,更值得一提的是,在整个解题过程中,它还进行了自我验证。在完成初步计算后,它会再次复核,确保解题步骤和答案均完全符合题目要求,这才给出最终答案。
有一个"算24点"的游戏,其规则是这样的:给定4个1~10之间的数字(可以重复),你需要尝试使用加减乘除四则运算(以及括号)用这些数字算出24来,要求每个数字必须使用且仅能使用一次。例如:-数字3,8,8,1可以算出24,一种解法为: (1+8)*(8/3)=24-数字1,1,2,3算不出24,此时应宣布问题无解。现在给你的四个数字是8,5,1,2,请给出"算24点"的解法。例4:在整个解题过程中,它还进行了自我验证,确保解题步骤和答案均完全符合题目要求
例子5:复杂中文推理
在复杂的中文推理问题上,360gpt2-o1 同样展现出了出色的能力,能够敏锐地捕捉到题目中的隐含条件。以下面这道“切西瓜”的推理题为例,题目中并未明确规定每次切割不能在同一位置进行,而 360gpt2-o1 正是巧妙利用了这一点,给出了一个比常规答案(通常最少是10次)更为“机智”的解决方案。
有一个大西瓜,用水果刀平整地切,总共切9刀,最多能切成多少份,最少能切成多少份?例5:在整个解题过程中,能够敏锐地捕捉到题目中的隐含条件
例子6:简单问题不会“过度推理”
目前,许多类似 o1 的模型都面临着过度推理的问题,即便是面对简单的问题,也会给出冗长的回答。然而,360gpt2-o1 在处理这类问题时,其回答却显得尤为简洁明了。
例如,对于以下这些看似“弱智吧”的问题:
为什么我爸妈结婚的时候没邀请我参加婚礼?被门夹过的核桃,还能补脑吗?午餐肉,我可以晚上吃吗?例6:360gpt2-o1的回答既直接给出了合理的解释,又没有陷入冗长的赘述,真正做到了言简意赅。
最后,
通过实际体验是了解 360gpt2-o1 最佳方式。360gpt2-o1既能完成复杂问题的长思维链推理,又能避免简单问题的过度推导,而且带有完整的思考过程。目前 360gpt2-o1 已经上线360智脑 API 平台,欢迎广大用户和开发者进行使用。
来源:360亿方云