前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenAI发布的o1模型背后原理

OpenAI发布的o1模型背后原理

原创
作者头像
算法一只狗
修改2024-09-18 20:20:42
1320
修改2024-09-18 20:20:42
举报
文章被收录于专栏:算法一只狗

OpenAI这次发布的o1模型,毫不夸张的说应该是在推理方面超越了目前所有的大模型。

o1模型效果惊人

首先我们来思考一下,人类在解决逻辑问题的时候,往往会有一系列的慢思考环节。比如我们会把一个比较难的题目进行拆解,得到多个小问题之后,再用自己的现有知识去解决每一个小问题,最后就可以对这个问题推理得到正确的答案。

但是在以往大模型遇到难的推理问题的时候,就没有这种思考环节,导致对于这类问题解决程度不足。

那么如何让大模型也能够像人一样具有逻辑推理能力呢?这里研究者会引入COT(思维链)的方式,让大模型去拆解问题,然后思考。所以o1模型其实本质就是这样,在给出答案的时候,会首先在内部生成思维链,把问题拆解后再解答。

而这使得o1模型在数学推理能力和其coding能力上取得的成绩令人惊讶。

  • 数学能力大幅提升:在国际数学奥林匹克(IMO)资格考试中,GPT-4o 只正确解决了 13% 的问题,而o1推理模型的得分为 83%。

  • Coding能力相比于gpt4o也有明显提升

但是由于引入了模型的反思机制,整体的推理速度明显比之前的所有模型要慢得多:

对于同样一个问题,虽然 GPT-4o 没有正确回答,但 o1-mini 和 o1-preview 都正确回答,并且 o1-mini 达到答案的速度大约是 3-5 倍。

o1模型的原理是什么

  • 主要来自于“自动化COT”来优化prompt输入

在以前我们可以利用COT(思维链)技术,来让模型举一反三。在大模型的应用中,COT的方法能够激发大模型预训练过程中的先验知识,更好的帮助模型理解人类输入的问题。举个例子,在下面的例子中,大模型基于问题是不能够给出正确的答案,它的效果往往会比较差

但是如果你把人类的思维方式给到大模型,那么他就会通过你给出的推导例子,正确回答出你提到的问题。

但上述过程有个致命的缺点在于需要人工大规模编写COT规则,这如果是一类问题倒好,但是如果让人工编写每个问题的推导逻辑,那这肯定是不可行的。因此OpenAI仿照AlphaGo的MCTS(蒙特卡洛树搜索)+强化学习, 让LLM快速找到CoT路径。

科罗拉多大学博尔德分校计算机教授Tom Yeh制作了一个动画,展示了OpenAI是如何训练o1模型的。

在训练阶段,不仅仅只考虑输入prompt和answer,而是利用强化学习把COT来考虑进来,更新大模型的参数。这样做的目的是让大模型能够自己学会自动生成COT逻辑思维链。

在推理阶段,则先让大模型自动化生成COT token,这样能够显著提高模型的推理能力,缺点就是这个过程往往会耗费大量的时间。

o1推理模型背后原理是什么?

这里放出的o1模型,在上个月Sam Altman其实已经宣布已经推出的模型被称为“草莓”模型。

在很多文章的报道来看,它前身应该是来自于Q*模型。在2023年11月左右,有几个研究人员发文给董事会一封警告信,信里面写的内容表示:Q*模型发展得过于强大,强大到可以威胁人类得进步。

那么这个模型到底是什么东西?OpenAI还是一如既往的会藏。目前只知道它有很强的推理能力,其在数学问题上可以解决很多目前大语言模型解决不了的问题。

从网上来看,“草莓”模型(也即是o1模型)的前身Q*模型的架构存在两种猜想,下面来简单介绍一下

1.Q*模型是Q-learning和A*算法的结合

这是目前网上最流行的一种猜测方法。从名字可以看出Q*模型可能分别表示Q-learning和A*算法的结合。

Q-learning是强化学习中的一个概念,它属于无模型下的一个基于价值的算法。主要是基于环境中给定的条件和状态,学习动作action和价值value。

传统的Q-learning需要保存一个Q表来进行更新。其最终目标是找到一个最优策略,定义在每个状态下采取的最佳动作,从而随着时间的推移最大化累积奖励(reward)。

而值得令人注意的是,OpenAI在2016年的一个演讲中曾经提到过这个概念,并引入 Q* 到优化策略中:

另一种算法是A*算法,这种算法是用在求解最短路径中的有效直接搜索方法。相信学过算法结构的人对于Dijkstra 算法不陌生,而A*算法不像别的算法,它是有“脑子”的。它使用到了启发式(Heuristics)函数来帮助搜索更快收敛到最短路径,非常高效。

2.过程监督解决数学问题

第二种推测涉及到OpenAI于上一年5月份发布的一项技术,该技术通过“过程监督”而非“结果监督”来解决数学问题。

OpenAI通过对每个正确的推理步骤进行奖励(“过程监督”)来提高解决数学问题的水平,而不是像之前一样只是简单地奖励最终的正确答案(“结果监督”)。

OpenAI使用MATH测试集里面的问题来评估“过程监督”和“结果监督”奖励模型,并为每个问题生成了许多解答方案,然后选择每个奖励模型排名最高的解答方案。

上图展示了一个函数,即每个奖励模型选择的解答方案数量(number of samples)与选择的解答方案最终能够达到正确结果的百分比(% Problems Solved (Best-of-N))之间的关系。

除了提高与结果监督相关的性能外,过程监督还有一个重要的对齐好处:它直接训练模型以产生人类认可的思维链。

从之前OpenAI发布的论文来看,使用过程监督有以下优点:

  • 过程监督更有效,从具有挑战性的 MATH 数据集的一个子集中解决了 78% 的问题。
  • 主动学习提高了流程监督的有效性,数据效率提升了2.6倍。

总结

目前发布的这个o1虽然在全面性上肯定比不上GPT-4o,但是其强大的推理能力说明它具有其他模型比不了的地方。何况现在各家大模型同质化这么严重,此时推出o1模型能够重新稳固OpenAI在大模型的领先地位。这一次,可能一个新的时代要到来。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • o1模型效果惊人
  • o1模型的原理是什么
  • o1推理模型背后原理是什么?
    • 1.Q*模型是Q-learning和A*算法的结合
      • 2.过程监督解决数学问题
      • 总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档