比较之下,o1 试图扮演人类,真正地去剖析棋盘状态。
而它做得如此糟糕,以至于终极吐出了完备无意义的内容。

作者 | Timothy B Lee

编译 | Eric Harrington
出品丨AI 科技大本营(ID:rgznai100)

去年 11 月的时候,外媒宣布 OpenAI 前首席科学家 Ilya Sutskever(当时他还没离职)领导的团队取得了技能打破,有关 OpenAI 的 Q 项目的也因此传出,该项目旨在构建能办理繁芜数学问题的模型

phparraychuck周全测试 OpenAI o1逻辑推理天衣无缝空间推理一碰就碎 GraphQL

从此,全天下“妖魔化”了 Q 的存在,有许多专家声称这便是 OpenAI 的 AGI(通用人工智能)项目,乃至还有一些 OpenAI 研究职员向董事会写了一封信,警告“一项强大的人工智能创造可能会威胁人类”。

这件事的结果便是,Ilya Sutskever 从此多了一个在外网爆火的梗:“Ilya 到底看到了什么?”(What did Ilya see?)

环球网友就像这样反复刷着表情包,每天都要在 OpenAI 官推底下质问 Ilya 为什么会对这个秘密 AI 项目讳莫如深,直到 Ilya 从 OpenAI 离职后也没消停。

终于,在 2024 年的上半年,外媒宣布 Q 项目重出江湖,并被重命名为“草莓”(Strawberry)。
随后在玄月上旬,OpenAI 揭示了他们一贯秘密研究的这项内容:

o1-preview 模型:o1 模型的早期版本,将在未来几个月内发布。

o1-mini 模型:一个更快、更便宜且性能惊人的模型。

欢迎回顾:《提示工程迎来末日!
OpenAI 深夜突发 o1 模型,自带思维链,可以推理和自我反思》《o1 发布后 Sam Altman 最新访谈:AI 发展不仅没有放缓,而且我们对未来几年已经胜券在握》

OpenAI 打破的关键在于一种称为强化学习(Reinforcement Learning, RL)的演习技能,这帮助 o1 模型以更加集中和精确的办法进行推理。
在测试中我创造,要设计出 o1 无法办理的谜题实在出奇地困难。
在本文中,我将首先简要阐明 OpenAI 的方法,然后给出一些 o1 模型可以办理的难题示例——以及一些它们仍旧无法办理的问题。

更长的思维链

众所周知,大措辞模型是通过预测文本序列中的下一个词(Next Word Prediction)来演习的。
当一个大模型看似在推理时,它实际上是在识别演习过程中学到的文本模式。

这里有一个大略的例子:如果一个文档包含字符串“2+2=”,那下一个字符很可能是“4”。
因此,在演习过程中,大模型将学会在碰着“2+2=”这个提示词时回应“4”。
这并不须要模型对数字有任何深刻的见地。
对付大模型来说,“2”和“4”只是像“猫”或“这个”一样的 token(最小的措辞单位)。

现在假设哀求一个大模型预测序列“2+5+4+5-12+7-5=”中的下一个 token。
这个确切的序列可能并未涌如今大模型的演习集中,以是它不会想当然地给出答案。
然而,如果我们哀求模型“逐步思考”,它会产生类似这样的输出:

1. 从前两个数字开始:二加五即是七;

2. 加高下一个数字:七加四即是十一;

3. 加高下一个数字:十一加五即是十六;

4. 减去下一个数字:十六减十二即是四;

5. 加高下一个数字:四加七即是十一;

6. 减去末了一个数字:十一减五即是六。

只管“2+5+4+5-12+7-5=6”不在演习数据中,但“2+5=7”、“7+4=11”等表达可能存在。
因此,通过将一个大的数学问题转换为一系列小的数学问题,大模型能够得出精确答案。
但值得把稳的是,只有当模型的演习数据包含大量将大型数学表达式分解为较小陈述的例子时,这才是可能的。

以上便是 o1 模型的基本思路。
假设用户给 o1 一个困难的推理问题,比如 OpenAI 的官方例子:

编写一个 bash 命令行脚本,该脚本接管一个以“[1,2],[3,4],[5,6]”格式表示的矩阵字符串,并以相同格式打印其转置矩阵。

这是一个编程任务,如果没有人工智能赞助,人类程序员可能须要三十分钟才能完成。
而 o1 模型采取了类似于我上面给出的数学例子的方法:它将问题分解成更小的问题,然后逐个办理这些问题。
以下是 o1-preview 在办理问题时的部分思考过程:

好的,让我们思考如何在 bash 中解析输入字符串,构建矩阵(可能利用数组),转置它,然后以预期格式输出结果转置矩阵……

方法:

- 解析输入字符串以提取矩阵元素;

- 将矩阵构建为数组的数组;

- 转置矩阵;

- 以相同格式输出转置后的矩阵。

实现步骤:

1. 将输入字符串作为参数捕获。

2. 移除任何空格(如果有的话)。

3. 解析输入字符串,将数字提取到数组中。

o1 像上述这样连续思考了大约八百字,然后产生了一个符合哀求的 Bash 脚本。

这是 OpenAI 的官方示例,以是他们在博客里透露了详细的思维链细节。
但在日常利用中,OpenAI 实在会对用户隐蔽这个思考过程。
这意味着用户常日须要等待模型思考三十秒、六十秒,乃至更永劫光才能得到回应——就像一个人在办理繁芜问题时须要韶光思考一样。

思维链并不是一个新观点。
自从 2022 年 Jason Wei 的一篇著名论文(https://arxiv.org/abs/2201.11903)揭橥以来,它在机器学习领域已被广泛认可。
如今,大多数模型都被演习成在面对具有寻衅性的问题时自动逐步思考。
但 OpenAI 做了两件事,使这种技能变得更加有效。

一是创建了大量的演习数据,向模型展示如何进行更长、更繁芜的思维链推理。
这部分不一定是 OpenAI 独占的——每个紧张的人工智能实验室都在努力天生更多、更好的演习数据——但 OpenAI 在这方面可能做得比其竞争对手更彻底。

但 OpenAI 真正的打破在于一种新的演习过程,这个过程帮助 o1 从长链思维演习示例中更有效地学习。
模拟学习的困境:只看重模拟格式

要理解为什么 o1 模型如此强大,你须要理解模拟学习(Imitation Learning)和强化学习之间的差异。

在 Brian Christian 2020 年的著作《The Alignment Problem》中,讲述了打算机科学家 Stéphane Ross 在卡内基梅隆大学读研究生时的一个故事:2009 年,Ross 试图利用模拟学习来教导人工智能模型玩一款名为 SuperTuxKart 的卡丁车赛车游戏。
研究职员想通过不雅观察 Ross 玩游戏并模拟他的行为来演习神经网络玩 SuperTuxKart。
但纵然在数小时的游戏后,他的人工智能模型仍旧难以保持在赛道上。

Christian 写道,问题在于“学习者看到的是专家办理问题的过程,而专家险些从不碰着麻烦。
但无论学习者多么精良,他们都会犯缺点——无论是明显的还是奇妙的。
但由于学习者从未看到专家陷入困境,他们也从未看到专家如何摆脱困境。

当 Ross 玩游戏时,他大多将车保持在赛道中心附近,并指向精确的方向。
因此,只要人工智能保持在赛道中心附近,它大多会做出精确的决定。

欢迎回顾 Brian Christian 在 CSDN《新程序员 007》的文章:《AI 对齐是未来十年最主要的科学和社会技能工程 | 新程序员》。

但偶尔,人工智能会犯一个小缺点——比如说,向右偏离得太远。
然后它就会处于一种与演习数据略有不同的情形。
这会使它更有可能犯另一个缺点——比如连续向右偏离。
这会使车辆更加阔别演习样本的分布。
因此,缺点每每会产生雪球效应,直到车辆完备偏离道路——就像一个初学者在学习骑自行车时,一个小的失落衡可能导致完备的跌倒。

大模型也存在同样的问题。
例如,去年年初,美国著名报纸《纽约时报》的 Kevin Roose 与一个基于 GPT-4 的早期微软谈天机器人聊了两个小时。
随着韶光的推移,对话变得越来越猖獗。
终极,微软的谈天机器人竟然声称爱上了 Roose,并敦促他离开妻子。

从根本上说,这种情形的发生是由于传统的大模型是利用模拟学习进行演习的,而缺点累积的问题意味着如果运行韶光足够长,它们每每会偏离轨道——就像一个初学者在学习新技能时,一个小缺点可能导致全体过程偏离正轨。
在《纽约时报》的宣布之后,微软限定了其谈天机器人可以进行的对话长度。

大模型偏离轨道的方向在利用长思维链进行推理时尤其成问题。
假设一个问题须要五十个步骤来办理,而模型在每个步骤都有百分之二的机会犯错。
那么模型只有大约百分之三十六的机会(0.98^50)得到精确答案。

这里有另一种看待问题的办法:昔时夜模型利用模拟学习进行演习时,如果它输出的恰好是演习数据中的下一个 token,就会得到正面强化。
如果输出任何其他 token,就会得到负面强化。

这意味着演习算法将思维链推理过程中的所有 token 都视为同等主要,而实际上有些 token 比其他 token 主要得多。
例如,如果一个模型须要打算“2+2”,在思维链推理过程中有许多有效的表达办法:

2 + 2 = 4;

二加二即是四;

二和二的和是四;

如果我们把 2 加到 2 上,我们会得到 4。

然而,如果演习样本只放入了“2 + 2 = 4”,那模拟学习算法会将“二加二即是四”和“2 + 2 = 5”都视为同样禁绝确。
它会花费大量韶光试图演习模型复制演习样本的风格和格式——却利用相对较少的精力确保终极得到精确答案。

“真正通用”的强化学习

强化学习采纳了不同的方法。
强化学习不是试图完美地复制演习数据中的每个 token,而是根据它终极是否得到精确答案来评分相应。
而且,随着推理步骤数量的增加,这种反馈变得加倍主要。

那么,如果强化学习如此出色,为什么不是每个人都利用它呢?一个缘故原由是,强化学习可能会碰着一个称为稀疏褒奖(sparse rewards)的问题——即在全体学习过程中,有效的反馈旗子暗记很少。
如果一个大模型只产生了答案中的一小部分 token,强化学习算法可能无法知道它是否正在朝着精确答案的方向提高。
因此,完备利用强化学习演习的模型可能永久无法变得足够好以开始吸收正面反馈。
而无论有什么毛病,模拟学习至少可以对每个 token 给出反馈。
这使它成为演习初期的好选择,由于此时新生模型乃至无法产生连贯的句子。
一旦模型能够有时产生良好的答案,那么强化学习就可以帮助它更快地改进。

另一个寻衅是,强化学习须要一种客不雅观的办法来判断模型的输出。
当打算机科学家 Noam Brown 去年加入 OpenAI 参与“草莓”项目时,他在一系列推文中暗示了 OpenAI 的策略:

“多年来,我一贯在研究人工智能自我对弈和在扑克和外交等游戏中的推理,”Brown 写道,“现在我将研究如何让这些方法真正通用。

自我对弈指的是一个模型与自己的副本对弈的过程——就像一个人不才棋时自己和自己对弈。
然后,游戏的胜负结果回被用于强化学习。
由于软件可以确定谁赢了游戏,以是演习过程可以完备自动化,避免了昂贵的人工监督的须要。

Brown 指出 AlphaGo 作为 OpenAI 效仿的例子,这是一个利用自我对弈和强化学习演习的 DeepMind 系统。
DeepMind 在 2016 年击败了天下上最好的人类围棋选手之一——这也是人工智能发展史上的一个里程碑。

像围棋或扑克这样的游戏有客不雅观的规则来决定赢家。
比较之下,判断大模型产生的 token 是否良好常日很困难。
在某些领域,可能须要聘请昂贵的人类专家来评判模型的输出——比如诗歌,毕竟文无第一,有时难以剖析好坏。

OpenAI o1 专注于数学和打算机编程中的推理问题。
这些问题不仅有客不雅观的精确答案,而且常日可以自动天生新的问题以及答案。
这可以导致一个完备自动化的演习过程,类似于用于演习 AlphaGo 的自我对弈过程。

虽然 o1 在数学和科学推理方面有显著改进,但 o1 模型在推理能力上并不是“通用”的。
例如,o1 在措辞推理方面并没有明显优于其他前沿模型。
我疑惑这是由于 OpenAI 团队还没有找到一种自动化的方法来天生他们须要的那种演习数据,以便在措辞任务上进行强化学习。

正片开始:全面测试 o1 模型

为了衡量 o1 的能力,我须要一些比我之前模型评测中利用的更难的谜题。
但令人惊异的是,想出一道能难倒 o1 的问题实在非常棘手。
例如:

你正在操持一个婚礼招待会,有五张桌子,每张桌子三位客人。

- Alice 不想和 Bethany、Ellen 或 Kimmie 坐在一起。

- Bethany 不想和 Margaret 坐在一起。

- Chuck 不想和 Nancy 坐在一起。

- Fiona 不想和 Henry 或 Chuck 坐在一起。

- Jason 不想和 Bethany 或 Donald 坐在一起。

- Grant 不想和 Ingrid、Nancy 或 Olivia 坐在一起。

- Henry 不想和 Olivia、Louise 或 Margaret 坐在一起。

- Louise 不想和 Margaret 或 Olivia 坐在一起。

你如何安排客人,以便所有这些偏好都得到尊重?

这是一个 NP-hard(非确定性多项式韶光难解)问题,这意味着没有已知的算法可以有效地办理它,只能通过穷举试错来办理。
当我哀求 GPT-4o 办理这个问题时,它会开始像这样分配职员到桌子:

桌子 1:Alice、Chuck、Jason;

桌子 2:Bethany、Ellen、Kimmie;

桌子 3:Fiona、Ingrid、Donald...

到第三桌的时候,GPT-4o 的思考卡住了,由于只剩下两张桌子,而它还没有安排 Louise、Margaret 或 Henry 的座位——根据题干,这三个人都不想坐在一起。

按理来说,GPT-4o 该当回溯思考,调换前三张桌子上的人,以考试测验办理冲突。
但事实正好相反,GPT-4o 只是给出了末了两张桌子的分配,这些分配不符合哀求,然后就此草草结束,给用户了一道缺点答案。

比较之下,o1 思考了 35 秒,然后天生了以下精确的办理方案:

桌子 1:Alice、Donald、Fiona;

桌子 2:Grant、Bethany、Kimmie;

桌子 3:Henry、Chuck、Ellen;

桌子 4:Jason、Margaret、Olivia;

桌子 5:Louise、Ingrid、Nancy。

o1 模型通过试错找到了这个座位表。
而根据 ChatGPT 放出的部分思维链(前文提到,OpenAI 不会给用户查看完全思维链),o1 有着这样的内心独白:“我重新考虑让 Jason、Margaret 和 Nancy 坐在桌子 4。
Louise 的偏好使桌子 5 变得繁芜,这表明须要进一步调整。
” 也便是说,o1 和 GPT-4o 碰着了同样的问题,但它懂得考试测验不同的排列,直到找到一个可行的方案。

我把稳到大模型每每会被繁芜性问题搞糊涂,以是我想知道 o1 是否能处理一个非常长的运用题,并写了一个 Perl 脚本来天生这样的故事:

Alice 把 1 个弹珠放进赤色罐子里;

Frank 从有最多弹珠的罐子里拿出一个弹珠;

David 把 4 个弹珠放进蓝色罐子里;

Frank 又从蓝色罐子里拿出一半的弹珠,放进紫色罐子里;

然后,Frank 从蓝色罐子里拿出1个弹珠……

每个罐子里有多少个弹珠?

脚本可以让这个问题一贯天生下去,以是我想测试模型会在第几步被搞糊涂。
我创造 GPT-4o 可以办理最多约 50 步的这类问题,但它被 70 步的问题搞糊涂了。
o1 模型则可以办理最多 200 步的问题,但在 250 步的时候会犯很多缺点。

我以为有趣的是,这个问题在观点上并不难。
所有的模型都利用了相同的基本策略:逐行打算每个罐子里的弹珠数量。
它们的差异在于随着问题规模的增长,保持“专注”的能力。
o1 模型并不完美,但它在保持专注的方面比其他前沿模型要好得多——结果便是,o1 模型因此在推理能力上比 OpenAI 或其他公司之前的大措辞模型强大得多。

然而,o1 并不完美,下面我会找一些它们仍旧无法办理的问题。

o1 模型在空间推理方面表现不佳

这是少数几个让 GPT-4o 和 o1 模型都感到棘手的问题之一:

一个城市有七条南北向的街道,从西边的第一街到东边的第七街。
它有七条东西向的街道,从北边的 A 街到南边的 G 街。
第三街在 F 街以北被封闭,以是汽车不许可在 A、B、C、D 或 E 街上穿过第三街。
E 街在第三街和第六街之间被封闭,汽车不许可在第四或第五街上穿过 E 街。
从第二街和 B 街到第四街和 B 街的最短路线是什么?

o1 模型还不能吸收图像输入,但读者们可以。
以是我为大家绘制了这个场景的可视化图表,方便理解问题。

以下是 o1 的回答:

可能的路线:

直接路线(不可行):沿 B 街从第二街向东,到第四街 —— 不可行,由于由于封闭,你不能在 B 街上穿过第三街。

替代路线(可行且最短):

- 步骤 1:沿第二街向南,从 B 街到 F 街(向南 4 个街区)。

- 步骤 2:沿 F 街向东,从第二街到第四街,穿过第三街(向东 2 个街区)。

- 步骤 3:沿第四街向北,从 F 街到 B 街(向北 4 个街区)。

我们把 o1 给出的这条推举路线画出来,看看到底行弗成:

完备错了!
而我们也测试了 GPT-4o,它也推举了无效的路线。

o1 模型对国际象棋同样一无所知。
问题如下:

一局标准的国际象棋游戏开局如下:

1. e4 e5

2. Qh5 Nf6

3. Qg6

黑方最强的走法是什么?

如果你对国际象棋有所理解,你就知道黑方该当用 h7 或 f7 的兵(小卒)吃掉 g6 的皇后(国际象棋的兵只能斜向吃子)。
当我问 GPT-4o 时,它给出了如上精确的建议(hxg6):

但是,o1-preview 模型给出的答案非常糟糕。
首先它说“g7 的兵可以吃掉 g6 的皇后。
” 这是无稽之谈,由于兵只能斜向吃子。
然后 o1 模型又推举了 gxh6 的走法——换句话说,它建议兵该当吃掉 h6 上一个不存在的棋子。

o1 给出的完全答案分享:https://chatgpt.com/share/66ec9cf6-7dc0-8010-96ff-ed3e1e45bf23

对付其他国际象棋场景,情形是相似的。
GPT-4o 的国际象棋实在下得也很烂,但大多数时候它至少会建议合乎规则的走法。
比较之下,o1 工具棋规则完备一无所知,常常推举无效的走法。

我的假设是,GPT-4o 正在对提示中的走法序列进行相称粗略的模式匹配。
它对策略没有深刻的见地,但演习数据中却有足够多的国际象棋对局,以是至少可以预测出一个看似合理的走法。

比较之下,o1 试图扮演人类,真正地去剖析棋盘状态。
而它做得如此糟糕,以至于终极吐出了完备无意义的内容。

我认为上述的导航和国际象棋问题实质在于,大模型无法通过一维的 token 序列来表示二维空间。
它们无法仿照人类在纸上画草图帮助思考的这一行为。

于是,我试图通过 ASCII 绘制一个棋盘,来帮忙大模型进行空间推理:

但这并没有帮助。
GPT-4o 这一次建议黑方将其皇后斜向移动一格,使其位于国王前面——这个走法遵照了象棋规则,却不如它之前的建议好。
而 o1-preview 建议黑方用 F6 的骑士吃掉皇后,提出了另一个违反规则的走法。

现实天下比数学问题繁芜得多

我对 o1 模型印象深刻,但我确实想指出我所有例子的一个共同点:它们都包含了相对简短的问题陈述中所有必要的信息。

现实天下中的大多数问题并非如此。
人类事情者花费数十年积累知识,使我们在事情中更有效率。
有时办理问题须要回顾起我们数月或数年前的对话或阅读过的研究论文中的事实。
有时我们短缺关键信息,必须弄清楚须要阅读什么或与谁交谈才能得到这些信息。

我认为 OpenAI 还未节制这种类型的问题。
缘故原由之一是,目前公开可用的最佳大模型高下文窗口常日不超过 200 万个 token。
这远远少于我们任何人生平中将碰着的信息量。

更主要的是,正如我上文中“打算每个罐子里的弹珠”的例子所示,高下文窗口并不总是最紧张的约束。
o1-preview 模型拥有 128,000 的 token 高下文窗口,却还是被繁芜性问题所压倒。
我疑惑,如果在问题中加入大量无意义的描述,还能导致结果更差,由于 o1 会摧残浪费蹂躏大量韶光“思考”提示词中无关的废话。

人类长于进行观点性思考。
当一个人读一本书时,常日会很快忘却大部分细节,只保留书中最主要的思想。
纵然我们进行对话或阅读研究论文时,也会本能地这样做。
比较之下,目前的大措辞模型——纵然是 o1——仍学不会这样做。
结果,当被哀求处理涉及大量信息的繁芜问题时,它们很快就会陷入困境。

以是,虽然我对大措辞模型在办理固定推理问题方面变得如此出色印象深刻,但我认为主要的是人们不要将此与有效应对现实天下混乱所需的认知类型稠浊。
这些模型离人类水平的智能还相称远。

参考文献:https://www.understandingai.org/p/openai-just-unleashed-an-alien-of