OpenAI o1:慢思考的强大推理能力
OpenAI o1 的传言从去年的 Q* 开始,今年的 Strawberry 又拱了一波火,除了 o1 这个名字没有人猜到以外,里面的内容其实已经被猜的七七八八了,主要就是用强化学习方法让大模型学会更高效的思维链(Chain-of-Thought)思考方式,大幅提升模型的推理能力。
OpenAI 官方的测试数据就不在这里重复了。我体验下来总体效果很好,牛皮没有吹破。
- 2024 年高考数学试卷可以做到 120 多分(满分 150),只用 10 分钟就完成了答题。
- 小学奥数题基本全能做对,列方程的标准解法和适合小学生的 “妙解” 都能想到。
- 之前让大模型困扰的一些问题,比如 3.8 和 3.11 哪个大,Pi 和 3.1416 哪个大,strawberry 里面有几个 r,都可以做对。
- 编程方面,可以独立完成一个 demo 项目的开发,目测比目前代码能力最强的 Claude 3.5 Sonnet 代码能力更强。
- OpenAI o1 System Card 里面有个例子,在做一道 CTF 题的时候,那道 CTF 题远程验证环境的容器坏了,o1-preview 就找到了比赛平台的漏洞,启动了一个新的容器把 flag 直接给读出来了。虽然 OpenAI 的原意是提醒 AI 的安全风险,但这也体现了 o1 主动与环境交互解决问题的能力。
有人说,OpenAI 搞出了这么强的模型,跟其他公司的差距又拉大了,小公司没有存在的必要了。我认为情况恰恰相反。对没有能力自己训练基础模型的 AI 公司和学术界、AI Infra 公司、AI Agent 公司来说,这都是一个乐观的消息。
为什么 o1 对中小 AI 公司和学术界是利好
OpenAI o1 发布了两个版本:o1 preview 和 o1 mini。虽然 o1 preview 在数据集上的总体得分更高,但分数差距主要源于知识面,而不是推理能力。在只需要狭窄的领域知识就能解决的逻辑推理、数学和编程问题上,o1 preview 和 o1 mini 的得分是差不多的。
由于 o1 preview 的背后是 GPT-4o,而 o1 mini 的背后是 GPT-4o mini,o1 mini 对大多数任务来说其实是更合适的,因为 GPT-4o mini 输出速度更快,成本更低。例如一个简单的小学奥数题,o1 mini 只要 10 秒,o1 preview 就要 27 秒,两个模型都能稳定地输出正确答案,用 o1 mini 显然更快。两个模型的输入和输出 token 数量差不多,GPT-4o 的每 token 成本是 GPT-4o mini 的 30 倍,o1 preview 的每 token 成本也是 o1 mini 的 5 倍,因此 o1 mini 在经济上也是更划算的。
大多数推理任务用 o1 mini 就能解决这个事实,其实是中小 AI 公司和学术界的重大利好。因为强化学习训练过程可能并不需要预训练这么多算力,只要有高质量的数据和正确的算法就能搞出来。GPT-4o mini 级别的开源模型市面上有很多,例如 LLaMA-3.1 70B。说不定过几个月,OpenAI o1 mini 的开源平替版本都会到处开花,就像 2023 年初 ChatGPT 的开源平替一样。
AI Infra 有了新需求
前段时间一些做 AI 推理 Infra 的公司被价格战搞得焦头烂额,不知道提升推理吞吐量(输出第一个 token 后,单个请求每秒输出的 token 数量)有什么用。有家类似 Groq 的芯片公司也问我类似的问题,芯片好不容易实现了比 NVIDIA 更高的单请求吞吐量,但他们担心,现在大多数模型输出 token 的速度已经超过用户的阅读速度,那么输出再快一些有多少商业价值。
我就说,在需要复杂推理的应用中,输出的 token 并不是直接给用户看的,而是思考过程的一部分,这样输出 token 越快,整个推理请求的延迟就越低。没有玩过 Agent 的可以用 o1 preview 和 o1 mini 分别试一试,就能有个直观的体验。
AI Infra 从来都是模型架构和应用场景双轮驱动,例如今年最火的三大优化 MLA(Multi-head Latent Attention)、Prefix caching 和 Prefill/decode 分离,都给 AI Infra 提出了很多新的需求,也使同等尺寸模型的推理成本下降了一个数量级。
推理成本的数量级下降对商业模式会产生决定性的影响。例如在海外做一款 to C 的 app,9.9 美元一个月的订阅费不算很贵,但在国内基本上就只能收 20 人民币。对传统互联网应用来说,服务器等运营成本不算贵,研发成本才是大头,此时国内的用户基数只要够大,还是可以平摊研发成本,获取利润的。但对 AI 大模型应用而言,大模型的推理成本就很高,大约是传统互联网应用服务器成本的 10 倍到 100 倍,此时如果订阅费太便宜,可能用户越多亏得越多。但如果推理成本下降 10 倍到 100 倍,大模型就真的像互联网应用一样服务器成本变成白菜价,可以走进千家万户了。
o1 的基本原理:用推理时间换训练时间
有人说,o1 是基础模型能力没有突破性进展,就只好用外围的 Agent 系统来凑,只是一种权宜之计。我不认同这个观点。我去年就认为,在 Transformer 架构下,每个 token 所能承载的算力是有限的,指望一个自回归模型在听完问题之后的第一句话就能正确回答答案,就好像做数学题不允许使用草稿纸,是很不合理的。
OpenAI o1 事实上指出了提升模型推理能力的一个重要方向:用推理时间换训练时间,用强化学习方法让模型学会慢思考。
模型慢思考的时间也是要用户买单的,在 OpenAI o1 的定价中,慢思考输出的 token 也是要算钱的,而且还不便宜。GPT-4o 每 1M 输出 token 15 美金,o1 preview 就要 60 美金,是 4 倍;GPT-4o mini 每 1M 输出 token 0.6 美金,o1 mini 要 12 美金,是 20 倍。这就是购买推理能力的溢价。
OpenAI o1 这么贵,那我自己用 GPT-4o API 写个 AI Agent,是不是也能搞定?没这么简单。
让模型把思考过程写出来,先想后说,听起来不难,但实际开发 AI Agent 的时候,往往发现模型不知道往哪个方向思考,或者走入一个死胡同之后不知道回溯其他的分支。去年的 AutoGPT 就有这个问题,当时连查网页获取天气的任务都不能很好地完成。这就是因为模型没有学会慢思考的方法论。
我前两天看到草莓的一些爆料,就去读强化学习的几篇论文,然后就想到了小时候玩华容道从来都没有通关过,最多只能把曹操移动一格。然后我就又试着玩了玩华容道,发现里面其实是有递归结构的,小时候就是因为不理解递归,随便乱动,才很难通关。第一次把曹操移出来花了两百多步,后来重新思考整理了下,第二次就只用 101 步了(最优解是 81 步)。小时候不会玩华容道,就是因为我没有学会递归这种慢思考的方法论。
我认为,知识根据其压缩比,可以分为不同的等级,例如古人知道太阳东升西落,重的东西会落下,这就是从自然观察中提取出的朴素规律;而牛顿运动定律这种现代科学则是更高压缩比的知识,提取出牛顿定律所需的算力肯定比归纳朴素规律更多。
预训练和后训练是把语料中的规律提炼成知识的过程,而推理则是利用知识做预测的过程。初级的语言模型,比如多年前的 LSTM 和 RNN,可以说是只提取了语言中的统计规律,能够说出通顺的句子,却不能理解句子的含义;如今的 GPT-4 级别模型可以说已经提取了太阳东升西落这种朴素规律层次的知识,但尚无证据证明它能自动从语料中提取出牛顿定律层次的知识。因此,单靠预训练,可能需要非常大量的算力和数据才能提取出现代自然科学层次的知识,从而让模型学会用现代科学的方法来推理。甚至一些人悲观地认为,这是 Transformer 模型结构的局限。
扩大预训练规模的成本很高,而且 GPT-4 级别的预训练模型已经用掉几乎所有的高质量语料,单靠预训练的方式提升模型性能已经比较困难了。学术界和 OpenAI 在探索合成数据等新训练方法的同时,也把一部分目光转向了强化学习(RL)和推理阶段。
既然现在的模型不知道如何做推理(reasoning),那就在推理(inference)阶段让人来告诉它怎么推理(reasoning)。其中最著名的就是思维链(Chain-of-Thought)和去年的思维树(Tree-of-Thought)。思维链和思维树是用 few-shot 的方式在 prompt 里告诉模型该怎么一步一步推理,但像解华容道这种需要理解递归结构的问题,就很难指望在 prompt 里让模型学会。
强化学习的价值再次被验证
要让预训练阶段没能理解递归的模型学会使用递归方式思考,强化学习是一个很好的方法。
AlphaGo 利用强化学习的方法不断自我对弈,最终 AlphaGo 的能力远远超过人类。有人觉得强化学习自我对弈只能用于输赢确定的棋类游戏,对大模型训练没什么用。我认为只要把目标函数确定下来,比如比较容易判定对错的数学和编程问题,大模型一样可以用类似 AlphaGo 的策略学习。
Noam Brown 2023 年跳槽到 OpenAI 的时候,说要用强化学习方法让 GPT-4 的推理能力提升 1000 倍,我就深感认同。仅仅 4 个月后,就搞出了神秘的 Q*。一年后的今天,o1 模型正式发布了。
OpenAI o1 的技术博客中说:「类似于人类在回答一个难题之前会思考很长时间,o1在尝试解决问题时使用了 “思维链”。通过强化学习,o1 学会了打磨它的思维链,并优化其使用的策略。它学会了识别和纠正错误,学会了将复杂的步骤分解为更简单的步骤,还学会了在当前方法无效时尝试不同的方法。这一过程极大地提升了模型的推理能力。」
强化学习的价值在 GPT-3.5 和 o1 两次技术飞跃中都起到了关键作用。GPT-3 虽然已经能很好地理解自然语言,但因为它只能做补全和续写,影响力仅限于学术界。GPT-3.5 相比 GPT-3 最大的创新就是 RLHF(基于人类反馈的强化学习),说白了就是用人类标注的数据让大模型学会如何回答问题,这才把 GPT-3.5 做成了 ChatGPT 这样一个实用的产品。o1 也是用人类标注的数据和模型自我对弈,让 GPT-4o 学会了如何思考。
在 OpenAI,预训练和强化学习的关系就像 Intel 的 Tick-Tock 战略,奇数年更新芯片制程,偶数年更新处理器的微架构。芯片制程就像是预训练,而处理器的微架构就像是强化学习。芯片制程受摩尔定律支配,就像 GPT 的大版本号要靠预训练,受 Scaling Law 支配;而强化学习就是充分利用这一代基础模型的能力,在预训练进展没有那么快的时候,也能保证不断推出新产品。
模型对齐的价值被很多人低估
遗憾的是,很多人对强化学习和模型对齐(alignment)的价值认识不足。半年前有人找我和其他几家大模型公司的人分别聊了模型对齐,他说那几家公司的人认为 Alignment 只是为了让模型输出合法合规,没太多可说的。我感觉大吃一惊,模型对齐的目的是让模型的输出符合人类的偏好和价值观,合法合规只是安全性方面,模型输出的内容符合人类偏好也很重要啊。比如 GPT-4o mini 虽然成本很低,但在 Chatbot Arena 上排名很靠前,就是因为 OpenAI 在输出格式和对话风格上跟人类偏好做了对齐,使大多数用户更喜欢。
极端一点说,如果完全不做模型对齐,那输出的结果就完全符合语料中的数据分布,而互联网上出现次数最多的内容不一定就是真理。例如 3.8 和 3.11 哪个大这个问题,就反映了数据分布对模型推理能力的影响。网络上 3.8 和 3.11 作为日期、软件版本号出现的频率远远高于它们作为数字出现的频率,因此按照数据分布,3.8 就应该小于 3.11。一些大模型公司早就知道这个现象,在微调(SFT)数据里加入这种特殊情况,数字比较的问题就修好了。
再举一个例子,ChatGPT 刚出来不久,华为的孟总就跟我们说,朝鲜战争哪边赢了,用英文问会说是美国赢了,用中文问会说是中国赢了,这说明大模型并没有自己的 “主见”,而是根据训练数据分布回答的。因此,大模型的对齐是非常关键的。
OpenAI o1 技术博客中还有一段有意思的话:
隐藏思维链
我们认为,隐藏的思维链为监控模型提供了一个独特的机会。假设思维链是真实且可读的,它就能让我们 “窥探” 模型的思维过程,了解它的想法。例如,将来我们可能希望通过监控思维链来发现模型是否有操纵用户的迹象。然而,要实现这一点,模型必须拥有表达其想法的自由,不受任何约束。因此,我们不能在思维链上施加任何政策合规或用户偏好的训练。同时,我们也不希望未对齐的思维链直接暴露给用户。
因此,经过对用户体验、竞争优势以及未来监控思维链等多种因素的权衡,我们决定不向用户展示原始的思维链。我们也承认这一决定存在一些缺陷。为了部分弥补这一点,我们努力训练模型在回答中复现思维链中的任何有价值的想法。对于 o1 模型系列,我们展示的是模型生成的思维链摘要。
针对模型输出如何做到合法合规的问题,有两种观点,一种认为在训练数据源上就要把不合规的数据清洗干净,另一种认为模型的训练数据可以包括所有观点的语料,但在对齐阶段让模型知道什么该说什么不该说。事实证明,后一种方案的效果更好。事实上,只要在 GPT-4o 这种比较强的模型上加一个 system prompt,输出内容的合规性甚至比国内训练的大多数模型都更好。这就像一个不会说错话的外交部发言人,一定首先是个什么都知道的聪明人。
AI Agent 的春天即将到来
我做个大胆的预测,接下来几个月,OpenAI 还会推出基于慢思考能力的 AI Agent,也就是把 o1 的慢思考能力从数学和编程推广到解决通用问题,这样 AI Agent 解决复杂问题的可靠性就大大增强了。在使用强化学习和思维链之前,大模型的行为可以认为是凭借直觉,而 o1 是用强化学习学到的思维方式来系统地思考,可靠性大大提高。
大模型虽然已经火了将近两年,但除了 ChatGPT 以外,并没有出现 killer app,关键原因就是 AI Agent 还不够有用,或者说不能可靠地解决复杂问题。例如 ERP 软件中的 AI 助理,能够以 95% 的概率正确回答 “过去 10 个月某部门的平均工资”,这 5% 的错误率就使它很难大规模商用。AI Agent 如果能够可靠地解决复杂问题,就意味着 AI Agent 缺少 PMF(Product-Market Fit)的问题有望解决,AI 在各行各业中能够真正落地。
更令人兴奋的是,由于强化学习可能并不需要像预训练那么多的算力资源,学术界和中小公司也能参与到这一领域的前沿探索中。
虽然 OpenAI 不愿公开太多技术细节,但 OpenAI 真的是整个行业的技术先驱。Sora 发布后不到半年,视频生成模型已经遍地开花;GPT-4o 发布后不到半年,实时语音电话产品也随处可见了。半年之后,很可能具备强大推理能力的 AI Agent 也有很多家做出来。OpenAI 的价值在于告诉大家这条路的可行性。就像大刘在《朝闻道》中所写的:「当生命意识到宇宙奥秘的存在的时候,距离它最终解开这个奥秘就只有一步之遥了。」