OpenAI发布新模型:o1系列模型,更像理科生的模型 精华
本来今天准备发一篇金融相关的Agent论文
结果一大早上,各大群就都开始流传着各种聊天记录
原来是凌晨OpenAI发布了新的 o1 系列模型(以下简称 o1模型或o1),所以迫不及待的找了些资料赶紧学习下。
图片
看上去,这个 o1 系列模型在数学、编码、科学等一系列理科生擅长的事情上,表现比GPT4还好。
目前,各大微信群的讨论大致分为两种观点:
• o1 太牛逼了,GPT5来了,AGI立马到来!
• o1 这不就是个 Workflow + Agent吗?
收集了各方的【小道消息】,其实就是是【X】上各种OpenAI发布的消息 + 微信群聊天记录 + OpenAI官方文档。
可以总结一下:
• o1模型最大的特点:输出最终答案前,会进行深入思考,这种思考不是简单的通过提示工程来注入的,而是通过强化学习实现的。
• o1模型的尺寸不会很大,是个小尺寸大模型(证据来自OpenAI研究院 Jason Wei的X,如下图),但是到底多小?不知道。
图片
紧接着英伟达科学家 Jim Fan 也发了消息,对 o1 模型做了一些解读,我们汇总一下要点:
• 模型的大多数参数只是用来记忆事实,而推理核心不需要太多参数。可以从知识中分离出一个小的“推理核心”,这样可以减少大量的预训练计算。
• 大量计算由原来的训练阶段,转移到了服务推理阶段。
• o1在实际应用落地的难度远比学术基准测评要更难,这一块还有待后续大家进一步探索。
• o1模型也会像之前ChatGPT一样,形成数据飞轮,催生更多训练数据和模型的出现。
o1是不是GPT5?
目前,根据各方消息看来,o1并不是部分自媒体吹嘘的GPT5。
至少从OpenAI官方文档中,看不到任何描述能将GPT5和o1模型联系在一起的。
o1算是strawberry / Q* 项目的一个产出。
图片
图片
虽然没有被宣称为GPT5,但是o1是一个不同于传统的GPT3.5和GPT4的新范式。在OpenAI的开发者文档中,我们可以发现,o1模型被单独列为推理模型(Reasonging Models),这是否意味着之前 Altman 宣称的将数据与推理引擎分离的构想已经实现,或者已经迈出实质性的一步?
这也与前面英伟达科学家 Jim Fan 提到的观点相呼应:模型的大多数参数只是用来记忆事实,而推理核心不需要太多参数,可以从知识中分离出一个小的“推理核心”。
o1模型是不是一个Agentic Workflow?
这是今天很多群里充斥的观点之一,在大家非常兴奋的体验了o1模型后,部分同学,包括一些自媒体也纷纷得出这样的结论,甚至开始唱衰OpenAI。
比如,有的自媒体开始【大胆】的猜测:这次的草莓o1有可能是 gpt-4o 在进行一些微调/对齐后的 agent。
包括说:
这有没有可能就是封装了workflow而已?
在仔细阅读了各种资料后,我的猜测, o1模型肯定不是 agent,原因如下:
1、o1是经过强化学习的推理模型
在官方文档中,o1模型被定义为推理模型,而且是经过强化学习训练的模型,使用了思维链进行推理。o1模型的一个显著区别就是o1模型引入了一个成为推理token的概念,对用户提出的问题,探索多种生成回答的方法,最后模型以一种被称为可见token的方式输出答案。
这种token的设计,也导致了一些与之前的模型的区别,比如:
- •实际生成的token数与系统返回的token数存在差异:甚至一个很简单的问题,也会消耗大量token。比如,当回答一个简单的提示词“你好”的时候(虽然个人认为,这样的提示词并不是推理模型所擅长的),模型消耗了 400 多个token。PS:在OpenAI的官方文档中,明确提出大家在使用o1模型的时候要预留窗口空间给推理token。比如下图,当输出长度超出了限制时,可见输出就看不到了。
图片
•模型耗时增加:因为中间多了一个推理过程(多方式推理,可能通过一种类似MCTS的方法来进行最佳路径搜索),所以模型输出会比其他模型消耗更多的时间(如下图)。
图片
2、没有多模态、没有系统提示词、没有工具调用、没有stream输出等等
如果o1只是一个Agent应用,那么为什么不把这些系统提示词、工具调用、stream输出加上?这些对OpenAI的工程师来说是个难题?咱们国内的组合式创新团队都能做的事情,OpenAI居然做不了?
3、完全不同的提示词策略
在OpenAI的官方文档中,我们可以发现,OpenAI给出了针对推理模型的提示词建议:
• 由于模型内部已经进行推理,过去的few shot或者zero shot cot(要求模型逐步思考)的提示词技巧,可能并不会提升性能,反而可能会降低性能。
• 保持提示简洁明了:模型擅长理解并回应简短而清晰的指令,无需过多指导。
• 利用分隔符提高清晰度:使用三重引号、XML标签或小节标题等分隔符,明确区分输入的不同部分,帮助模型更准确地解读。
• 在检索增强生成(RAG)中限制额外上下文:提供额外上下文或文档时,只包含最相关的信息,以免模型的回应过于复杂。
综上,o1模型应该并不是一个Agentic Workflow应用,而是一个确确实实的新的模型范式。而且这应该只是OpenAI在这个事情上踏出的第一步(也许我们从代号1就可以看出,重新命名,而不是继承),而不是最后一步,目前的o1模型也不打算取代GPT4\GPT4-o等模型的地位。
o1模型到底强还是弱?
答案是,o1肯定强,但是也没有强到无与伦比。
目前流传的各种体验,测试结果来看,o1肯定是强的,特别是在需要推理的STEM领域(STEM是Science、Technology、Engineering、Mathematics 四个英文单词首字母的缩写)。
各种数据我就不罗列了,应该铺天盖地都是。
但是o1仍然是不强的,比如,o1还是无法完全正确回答一些问题,比如大家都在尝试问他9.11和9.8到底谁大的问题。
这侧面说明,即使o1是一个推理引擎,但他始终还是利用语言来模拟自然世界,与规则的方法不一样。
所以,对于o1模型,我们需要客观的看待,即使o1模型很强,但是也仍然是有幻觉的。
图片
当然,有人我们未来可能遇到号称比 o1 强69倍的GPT-5模型,但是如果范式不变,我想仍然是无法从根本上解决 9.11和9.8 谁大这类问题的。
为什么说o1是一个更像理科生的模型?
不知道大家有没有关注到,OpenAI的文档里,花了很大篇幅描述o1模型在STEM和安全方面的评估。
以及,在 Greg Brockman 发的消息里可以看到,OpenAI是认可 o1 模型实际上是使模型从 System1 向 System 2 靠近的动作(之所以说靠近,是因为个人认为System1和System2边界并不明显)。
图片
在之前的论文里我们也讨论过,System1和System2的区别在于:
System1:快速,不加思考、不做计算、仅凭直觉就做出判断。比如,当我们回答1+1这个问题的时候,我们的大脑可以不加思考的回答出等于2。所以系统一的特点是:快思考、热启动、直觉判断。
System2:速度,需要做复杂的计算、推理,但回答准确度高。比如,当我们回答123乘以879的时候,我们无法通过我们的快思考来回答,我们需要调用大脑的计算模块,对这个问题进行复杂的计算后才能回答。所以系统二的特点是:慢思考、启动慢、耗费能量高、判断准确。
而o1则是试图使用内置的CoT来引导模型生成更加准确的答案,而需要这些严格推理逻辑的则是STEM里的这几门学科。所以我们可以认为,相比过去的大语言模型(真快,这才2年不到,就可以说过去了),o1更加像一个理科生思考。这并不是说o1是理科生,而是说,大语言模型过去更像一个文科生,特别是zero shot的时候,而现在的o1则是在弥补理科生这个短板。
是否要马上把o1模型用起来?
对于这块,我的答案是谨慎!
1、模型仍不完善
o1模型并非一个成熟的产品,这点从官方文档、X上的讨论都可以看得出。目前还处于beta状态,而且各种功能的缺失,比如System Prompt、tool调用、参数设置等等。以及 o1-mini 所涉及的知识、领域仍然比较有限。
2、推理速度限制
虽然o1模型是个新模型,是新一代模型范式,是大家眼中的未来。但是o1模型因为自身设计的原因,会导致比其他模型消耗更长的时间。所以在很多应用中,特别是对时间敏感的应用,需要谨慎考虑:我们的产品、应用能否接受这样的响应时间?
3、也许更高的成本
因为o1模型在推理过程中,会消耗大量的推理token,很多人称之为OpenAI的扣费陷阱。当然,o1模型也带来一个新的优势,就是我们可以不用传few shot案例,也许可以减少一些token的输入,但是这一增一减,到底是增加了成本还是降低了成本,目前还不是特别明朗,推荐大家多多测试后,再做定论。
4、新的提示词结构
o1模型因为设计的原因,带来了一些新的提示词范式,过去的提示词在 o1模型上不一定适用了。
比如过去的 few shot 或者 COT 提示词,根据官方建议,这些技巧不仅不能带来收益,还会降低效果。
所以,综上,是否要使用o1模型来替换我们现有应用的模型,我们需要谨慎对待,需要做充分的测试评估。这与过去的模型参数增加不一样,这次是一个范式的变化。
虽然有这么多不利因素,但是有利因素也是显而易见:推理能力增强了,过去做不到、或者无法实现的应用,也许会成为可能。
会有新的一轮大模型风潮吗?
过去,ChatGPT的出现,随之而来的是合成数据带来了一大批新的模型出现。那么这次,还会是这样吗?
不敢做非常确定性的答复,但是我想这次可能有点不一样。
这次带来的合成数据不会那么容易,按照OpenAI官方文档,推理token是不可见的,所以至少推理token大家应该是拿不到的。那么,后续的合成数据训练新模型这条路看上去被堵死了。
但是,事情也不是绝对的。一件事情最难的部分往往是“证明这件事可行”,所以OpenAI证明了这个路径是可行的,也让大家关注到了这个新的路径,即使没有合成数据的帮助,但是也会有其他办法来贡献这些数据。期待开源社区进一步的表现。
本文转载自大语言模型论文跟踪,作者: HuggingAGI