OpenAI 发布了两个主要的新预览模型:o1-preview
和 o1-mini
(这个 mini 版本不是预览版)——此前传闻的代号为“strawberry”。这些模型有许多需要理解的地方——它们并不像 GPT-4o 的简单升级,而是在成本和性能方面做出了一些重大权衡以换取改进的“推理”能力。
训练用于思维链 #
OpenAI 的简介是一个很好的起点:
我们开发了一系列新的AI模型,设计用于在响应前花更多时间思考。
可以将这些新模型视为对思维链提示模式的一种专业扩展——我们社区过去几年一直在研究的那种“逐步思考”的技巧,首次在2022年5月发表的论文《Large Language Models are Zero-Shot Reasoners》中介绍。
OpenAI 的文章Learning to Reason with LLMs解释了如何训练新模型:
我们的大型强化学习算法教会模型如何高效地使用其思维链进行生产性的思考。我们发现,o1 模型的表现随着更多的强化学习(训练计算时间)以及更多的时间来思考(测试计算时间)而持续改善。扩大这种做法所需资源的方法与 LLM 预训练所需的资源方法大不相同,并且我们正在继续调查这些因素。
[...]
通过强化学习,o1 学会了细化并完善其思维链及所用策略。它学会了识别和纠正其错误。它学会了将复杂步骤分解成更简单的步骤。当目前的方法行不通时,它学会了尝试不同的方法。这一过程显著提升了模型的推理能力。
实际上,这意味着模型能更好地处理复杂的请求,在该请求的情况下,一个良好的结果需要回溯和超越单纯的下一个标记预测进行“思考”。
我不太喜欢术语“推理”,因为我认为在 LLM 的上下文中它没有一个坚固的定义,但 OpenAI 在这里决定使用这个词,并且我认为它恰当地传达了这些新模型试图解决的问题。
API 文档中的低级细节 #
有关新模型及其权衡的一些最有趣的细节可以在其API 文档中找到:
对于需要图像输入、函数调用或一致快速响应的应用程序,GPT-4o 和 GPT-4o mini 模型将继续是最佳选择。然而,如果你的目标是开发需要深度推理并且能够接受更长响应时间的应用程序,则 o1 模型可以是极好的选择。
我在文档中注意到的一些关键点包括:
- 对新
o1-preview
和o1-mini
模型的 API 访问目前仅限于等级五账户——你需要花费至少$1,000购买 API 信用额。 - 不支持系统提示——模型使用现有的聊天完成API,但你只能发送
user
和assistant
消息。 - 也不支持流式传输、工具使用、批量调用或图像输入。
- “根据模型解决问题所需的推理量,这些请求可能从几秒钟到几分钟。”
最有趣的是引入了“推理标记”——这些标记不会出现在 API 响应中,但仍会被计费并计算为输出标记。这些标记产生了新的“魔法”。
由于推理标记的重要性——OpenAI 建议为受益于新模型的请求分配大约 25,000 个此类标记——输出标记容量已经被大幅增加——o1-preview
为 32,768 个,据传较小的 o1-mini
为 65,536 个!这些增加的数量分别来自于 gpt-4o
和 gpt-4o-mini
模型,这两者目前都有 16,384 个输出标记限制。
最后一条有趣的建议来自该 API 文档:
限制检索增强生成(RAG)中的额外上下文:在提供额外上下文或文档时,请仅包含最相关信息,以免模型过于复杂化其响应。
这一点与通常实现 RAG 的方式形成了巨大的变化,通常会建议尽可能多地将潜在相关文档塞入提示中。
隐藏的推理标记 #
一个令人沮丧的细节是这些推理标记在 API 中仍然是看不见的——你会为它们付费,但不能看到它们是什么。OpenAI 在Hiding the Chains of Thought中解释了为什么:
假设这些隐藏思维链忠实且清晰可读,我们可以借此“读懂”模型的思维过程。例如,将来我们可能希望监控思维链以查看模型是否有操纵用户的行为。然而,要实现这一点,模型必须有自由表达自己未经修改的思想的权利,因此不能在思维链上加入任何政策合规性或用户偏好的训练。我们也不希望将未对齐的思维链直接暴露给用户。
因此,在综合考虑包括用户体验、竞争优势以及实施思维链监控选项等多个因素之后,我们决定不向用户展示原始思维链。
这里有两个主要原因:一是围绕安全性和政策合规性:他们希望模型能够不揭示中间步骤就能推理如何遵守这些政策规则,以防中间过程中出现违反政策的信息。另一个原因被称作竞争优势——我理解为希望避免其他模型能够针对其已投入推理工作的模型进行再训练。
我对这项政策决定一点都不满意。作为一个开发 LLM 解释性和透明度至关重要的开发者,无法看到一个复杂请求是如何被评估的关键细节感觉像是巨大的倒退。