OpenAI 推出全新o1系列模型预览版

GPT42024-09-14 15:01:18122

 9 月 12 日,OpenAI 发布了全新一代的模型预览版——o1-preview。这款模型代表了 AI 推理能力的新飞跃,专为解决复杂任务而设计,超越了此前在科学、编码和数学领域的模型表现。

它是一种新的大型语言模型,经过强化学习训练,可以执行复杂的推理。O1 在回答之前会思考 - 在响应用户之前,它可以产生一个很长的内部思维链。

OpenAI o1 在竞争性编程问题 (Codeforces) 中排名第 89 个百分位,在美国数学奥林匹克竞赛 (AIME) 资格赛中跻身美国前 500 名学生之列,在物理、生物和化学问题的基准 (GPQA) 上超过了人类博士水平的准确性。

OpenAI

为何命名为“o1”?

o1 系列标志着 AI 能力的显著进步,尤其在复杂推理任务上实现了突破性的提升。OpenAI 团队认为这个进展足以重新定义模型的能力,因此将此系列称为 o1,象征着新的起点。

o1-preview 的特点

与之前的 GPT 系列不同,o1-preview 采用了全新的训练方式,使模型能够像人类一样在回答问题前经过更深入的思考。它不仅能生成更为精准的复杂代码,还能够自主调整思维过程,尝试多种解决策略,并修正自己的错误。这使得它在编码任务,尤其是调试和问题解决方面表现尤为出色。
同时,OpenAI 还推出了 o1-mini 版本。o1-mini 体积更小,价格也比 o1-preview 低 80%,在保证推理能力的同时降低了使用成本,特别适合对世界知识要求不高但需要强大推理能力的应用场景。

如何体验 o1 系列模型?

ChatGPT Plus 和 Team 用户已经可以在 ChatGPT 中访问 o1 模型。您可以在模型选取器中手动选择 o1-preview 或 o1-mini,不过在初期阶段,o1-preview 每周有 30 条消息的速率限制,o1-mini 则为 50 条。
这我不得赶紧试试?
02
简单上手体验

 初步尝试

在实际使用中,我们会发现 o1-preview 的“思考”过程显著增加,如下:
不过作为早期模型,它还不具备使 ChatGPT 有用的许多功能,例如浏览网页以获取信息以及上传文件和图像。对于许多常见任务,GPT-4o 依然是更优选择。
不妨先试试它的代码能力吧,一个简单的五子棋对弈游戏设计:
这一次它的思考时间就要长一些了:
想来是难不倒它的:
不过我下了一轮发现……它有点傻,比我想象中的要差。。。
我决定用个更复杂的问题考考它,这个思考内容的最后一点【铰链发现】总感觉哪里不对劲>>>
先往下看(1)功能清单,还行
(2)需求说明文档,虽然文档的内容只针对了功能清单中已经提到的内容,不算完整的需求说明文档,但考虑到Prompt也没有提很具体的输出要求,我觉着还可以:
(3)示例代码,作为一个并不擅长编程的人士,我也无法评价,不过看起来是过于简单了:
作为产品经理,咱也是有反思能力的,一定是我的使用姿势不对!

在进一步尝试之前,先说说我的“思考”>>>
当然我本来也没有抱这种不切实际的希望,就是我提“一句话的需求”,然后AI就能自动帮我实现一套完整代码。
毕竟模型还在早期阶段,功能尚不完备,但随着 AI 的不断迭代,我相信它会越来越好。就像最近比较火的Cursor,早期我就体验过,但明显最新版本进化了很多。
而且经过我前一阵子在做业务数据分析,使用GPT-4o来支持我设计SQL的过程中,还是感觉到帮助很大。
因为我只懂得比较简单的SQL语法,即便GPT给我提供的代码不能一次成功,我反馈错误/稍作检查加以说明,再让GPT配合多尝试几次修改、优化,就没有不成功的:
这为我直接基于数据库进行数据探索/分析提供了很大的帮助:
所以,我还是一以贯之的态度:尽管现在还不成熟,但坚信AI将对我们未来的工作、学习、生活产生重大且积极的影响。
在科技领域,比尔盖茨曾经说过我们总是高估在一年或者两年中能够做到的,而低估五年或者十年中能够做到的。

 自我反思过后的再尝试

官方说了,o1擅长的是科学、编码和数学领域的复杂推理任务。针对这一特性……那就让GPT-4o来出题吧,以子之矛攻子之盾哈哈哈哈
这个思考过程头头是道:
选择数据结构我在考虑如何管理用户订单数据,并对此类数据的高效查询进行优化。选用红黑树或二叉搜索树是理想的选择。制定数据结构考虑数据结构时,我需要解释选择的原因、实现时间复杂度的方式、生成代码并提供示例。这样可以确保全面的阐述。优化查询效率选择数据结构以便高效存储和查询用户30天内未完成订单,通过时间排序并保证查询时间复杂度为O(log n)。可以使用二叉搜索树或平衡二叉搜索树来实现。建立索引结构我正在研究如何查询订单,通过用户ID、订单时间和订单状态。在这种情况下,使用组合索引可能是一个好的方法。选择数据结构我正在权衡使用平衡二叉搜索树(如 AVL 树或红黑树)或哈希映射来存储订单,这样可以高效地查询时间。重点是实现 O(log n) 时间复杂度。选择数据结构我决定使用哈希图和平衡二叉搜索树(BST),将用户ID映射到他们的订单,并在平衡BST中按订单时间存储。这样可以高效地查询过去30天内未完成的订单。选择数据结构我在想为什么选择数据结构。使用哈希表可以实现 O(1) 的用户订单访问,而使用平衡二叉树可以在 O(log m) 时间内对订单时间进行范围查询,这对于大量订单尤其重要。利用哈希映射和二叉搜索树通过哈希映射在O(1)时间内访问用户订单,借助二叉搜索树进行范围查询并按时间排序。设计数据结构我在思考设计一种数据结构,用于按用户识别码查询过去30天内未完成的所有订单,要求时间复杂度为O(log n),n是系统中的订单总数。这样可以确保高效处理查询。建立索引和树结构我在探讨使用有序BST或B树,通过复合键进行范围查询。平衡树或B树可在O(log n + k)时间内完成查询,这样的数据结构为我们提供了更高效的查询方式。分析索引机会考虑使用B+树或平衡二叉搜索树,或者使用复合索引来支持有效的多维查询。探索B树变种或区间树的可能性。创建红黑树我在想,创建一棵红黑树,键为(用户ID,订单时间),进行范围查询,过滤未完成订单。可以考虑加入订单状态到键中,或者使用增量树、双层树、平衡二叉搜索树等。选择树结构我正在考虑使用平衡二叉树结合哈希映射,这样可以更高效地实现O(log n)时间复杂度的目标。评价数据结构的表现探讨替代方案我正在探讨实现查询未完成订单在过去30天内时间复杂度为O(log n)的方法。这包括平衡二叉查找树或数据结构组合。探讨树的选择我在思考该如何选择树结构,比如红黑树、区间树,或是稳定二叉搜索树,以实现O(log n)查询时间复杂度。利用平衡搜索树进行范围查询,能够在O(log n)的时间复杂度内找出所有符合条件的订单。利用此方法,可以高效地解决查询问题。利用平衡树结构我正在思考使用平衡二叉树(例如红黑树),以用户ID、订单状态和订单时间为键,实现这些属性的范围查询。查询的时间复杂度是O(log n + k),其中n是总订单数,k是匹配订单数。选择结构我正在围绕Balanced Binary Search Tree (BST),特别是Red-Black Tree,进行深入研究,这会帮助我们在O(log n)时间复杂度内高效查询过去30天的未完成订单。利用备用键抱歉,我不太明白你说的意思。能否再解释一下,或者提供更多的背景信息?这些信息将帮助我更好地理解和给出更精准的建议。理解数据结构我在查看如何使用红黑树进行多值查询,确保查询效率达到 O(log⁡n)O(logn) 时间复杂度。正在整理具体实现方法和示例。处理更复杂的数据结构我正在为红黑树实现复合键和查询功能创建代码。这涉及到使用Python的内建数据结构或第三方库。
上面这些内容看起来非常像我之前探索过的AutoGPT、MetaGPT等AI Agent雏形,在代码运行过程中所呈现的日志(log)内容,参见:
初识AI Agent——以大模型为核心的智能体
但是在正式的输出内容中,我发现它没有继续用中文来回复(GPT-4o也会偶尔出现),不知道是不是因为……问题太复杂?
我改选o1-mini让它重新生成回答试试:
尴尬的是,我自己判断不了它回答得对不对——如果有朋友懂代码的,还是很希望你们自行尝试一下,然后留言区告诉我它的代码能力到底如何!!!

算了,还是找个有答案、但是比较新的数学题目试试看吧,于是找到了2024年高考全国甲卷理科数学试题中的这一道:

思考和解答的过程内容比较长,我们就不贴了,直接看(1)的答案:

对着呢,参考答案是:
再看(2)的答案:
参考答案是:
Bingo!!!

再来一道试试:

思考的内容,语言有点问题(这是啥语?):

解题过程也比较冗长。不过答案是完全没毛病的:

03
关于o1的更多技术介绍

 推理能力显著优于4o

o1 在具有挑战性的推理基准上比 GPT-4o 有了很大的改进:
在广泛的基准测试中,o1同样优于 GPT-4o:

 思维链

类似于人类在回答困难问题之前可能会思考很长时间,o1 在尝试解决问题时使用思维链。通过强化学习,o1 学会磨练其思维链并改进它使用的策略。它学会识别和纠正错误。它学会了将棘手的步骤分解为更简单的步骤。它学会了在当前方法不起作用时尝试不同的方法。此过程显著提高了模型的推理能力。为了说明这一飞跃,官方展示了 o1-preview 对几个难题的思路。
比如根据第1个示例,推理解密第2句看起来像是乱码的话:

我试着“亲测”。首先是GPT-4o,部分截图如下,显然没法给出答案:

改用o1-preview重新回答如下:

附上它的“思考”过程:
解码过程分析我分解了"oyfjdnisdr rtqwainr acxz mynzbhhx"和"Think step by step"的字母对齐方式,并尝试了不同的方法来解码。解密文字正在解密过程中,我把暗号和明文对齐,看哪些字母对应。暗号里的 "oyfjdnisdr rtqwainr acxz mynzbhhx" 怎么变成 "Think step by step"。探索密码可能我正在研究密文的形式,考虑是字母移位、替换密码,还是字母映射到数字。现在我尝试将字母映射出来。研究替代方法我开始探索另一种解密方法,考虑通过将每个字母与明文字母相对应或将密文字母向某个量移动。拆解字母顺序我正在通过从每隔一个字母开始的方式解构"oyfjdnisdr"这一十字母单词,看看能否拼出"Think"这个五字母单词。对比和映射我正在探索奇数和偶数位置的字母,并尝试将其映射到"T h i n k"上,以揭示其中的移动模式。尝试不同方法我在探索不同方法解密“oyfjdnisdr rtqwainr acxz mynzbhhx”,包括设法将字母重新排列或应用凯撒密码。试探字母移位考虑将每个键盘字母向右移动一个键,或者是键盘上邻近的字母,或者使用Vigenère密码。探讨数字编码考虑将短语“逐步思考”映射到数字20、8、9、14、11、19、20、5、16、2、25、19、20、5、16。求助于数字原型语言。将密文和明文分别转换成数字形式,发现它们的长度不同。或许可以尝试替换密码。解密过程我正在为密文和明文之间创建映射,发现字母数量不匹配。这让我意识到可能存在解码挑战。解码字母对我正在尝试将密码文本中的字母对映射为字母。看着每个字母对,可能是与ASCII码有关的映射。解码字母替换表正在尝试玩变字母到数字的转换,试图找出每个密码字母对与明文字母的映射关系。这让我想到,每个字母对可能代表一个明文字母,带来了一些启发。解码信号我正在尝试解码信号,通过多种方法如加减、模26运算和基26数字来寻找匹配的字母。尝试不同方法首先,我将字母 'o' 和 'y' 转换为数字分别为 15 和 25,计算它们的乘积然后取模 26。这种方法没有得到理想结果。接着,我尝试使用 ASCII 码,将 'o' 和 'y' 转换为 111 和 121,然后计算它们的平均值得到 116,映射回字母 't'。这个方法似乎更有前景。计算ASCII值我正在按字母对计算ASCII值的平均数,结果转换为明文字母,继续测试新对。解密步骤将“rtqwainr”分为“rt”、“qw”、“ai”和“nr”,取每对字母的ASCII值平均值,映射出“tsep”。计算字母值我在计算字母的平均值时先取出对,但字母差异较大时,可能对应不同的字母。拆分留言我将消息分成单词和配对的字母。这样做能帮助我更清晰地理解信息的结构和内容。细分对比字母首先,我将每个加密单词拆分为字母对。然后,我计算了每个字母对的平均值,以获取明文字母。计算平均值正在计算每组选手的平均分数,并映射到字母等级。这个过程让我更加理解数据分布的重要性。分析漏洞逐步计算每个字母对的ASCII值平均数,然后解码出单词。"there are three rs in strawberry"的信息已经清晰明了。

在权衡了包括用户体验、竞争优势和追求思维链监控选项在内的多种因素后,我们决定不向用户展示原始思维链。我们承认此决定有缺点。我们努力通过教模型在答案中重现思维链中的任何有用想法来部分弥补它。对于 o1 模型系列,我们展示了模型生成的思路链摘要。

其他的情形,我们就不一一展开了↓
不难发现,还有2个已经开发好、但是尚未开放的版本o1和o1-ioi,编程能力会更强:
期待ing!

以上,就是关于OpenAI o1的简单分享。
参考资料:
  • https://openai.com/index/introducing-openai-o1-preview/
  • https://openai.com/index/learning-to-reason-with-llms/
  • https://openai.com/index/openai-o1-mini-advancing-cost-efficient-reasoning/

本文链接:http://lechangxia.cc/gpt4/881.html

向chatgpt提问有趣的问题英文ChatGPT4账号无法登录必应chatgpt4.0怎么申请chatgpt4.0玩法chatgpt会员怎么收费chatgpt还需要加入会员收费吗chatgpt怎么需要充值才能使用chatgpt怎么虚拟注册chatgpt注册后界面怎么不一样gpt有必要充值吗

相关文章