2024年9月13日凌晨,OpenAI发布了OpenAI o1系列模型,该系列包括三款模型:OpenAI o1、OpenAI o1-preview和OpenAI o1-mini。其中:OpenAI o1-preview和OpenAI o1-mini开始对用户开放,而OpenAI o1暂不对外开放,OpenAI o1-mini成本比 OpenAI o1-preview 便宜 80%。CEO萨姆.奥特曼(Sam Altman)称之为“新范式的开始”。官网称OpenAI o1为:花更多时间思考的一系列新的人工智能模型,并称之对于复杂的推理任务来说是一个重大进步,代表了人工智能能力的新水平。特别的是,鉴于此次突破,将计数器重置为 1,并将该系列命名为 OpenAI o1,由此可见OpenAI对于新模型的期待程度。
图片来源:openai
OpenAI o1可以推理复杂的任务,解决科学、编码和数学模型更困难的问题。例如:在物理、化学和生物学的具有挑战性的基准任务上的表现与博士生相似。在数学和编码方面表现也很出色。在国际数学奥林匹克 (IMO) 资格考试中,GPT-4o 仅正确解决了 13% 的问题,而该模型得分为提升至 83%。编码能力在比赛中也得到了评估,并在 Codeforces 比赛中达到了第 89 个百分位。在某项安全测试中, OpenAI o1-preview模型以84分(0-100 分制)的成绩大幅超过GPT-4o 的22分。以下为代码能力上的得分情况:
图片来源:openai
另外,特别说明OpenAI o1-mini 模型专注于 STEM 推理能力,在其他方面的能力与GPT-4o mini 相当。STEM是科学(Science)、技术(Technology)、工程(Engineering)和数学(Mathematics)四个英文单词的首字母缩写。
OpenAI o1系列模型主要使用了强化学习(Reinforcement Learning,简称RL)和思维链(Chain of Thought,CoT)的机制。强化学习(Reinforcement Learning, RL) 是机器学习中的一种关键方法,旨在通过与环境的交互逐步学习策略,以最大化累积的长期回报。在强化学习中,智能体(agent)通过对环境(environment)的观察做出行动(action),并根据从环境中接收到的反馈信号(奖励或惩罚)来更新其行为策略。最终目标是找到一种策略,使得智能体在给定任务中获得最大的预期回报。思维链(Chain-of-Thought, CoT)机制是一种提升大规模语言模型推理能力的策略,尤其在复杂的推理、推导和多步问题求解等任务中表现出色。它通过在生成答案的过程中引入中间推理步骤,使得模型能够逐步处理任务,类似于人类解决问题时的思维过程。
强化学习(Reinforcement Learning,RL)是一种机器学习范式,其灵感来源于心理学中的行为主义理论。不同于监督学习需要大量的标注数据,强化学习强调智能体(Agent)通过与环境的交互,不断试错,最终学会最大化累积奖励。
3.1.1强化学习原理
强化学习的核心思想是通过与环境交互,学习一组策略(policy),使智能体能够在不同的状态下选择最佳的行动,以最大化未来的累积回报。在这个过程中,智能体通过试错法逐步改进其行为。强化学习的基本结构可以描述为马尔可夫决策过程(Markov Decision Process, MDP),其关键组件包括:
- 状态(State, s):环境的状态,智能体通过观察环境的状态来感知当前局势。
- 动作(Action, a):智能体在每个状态下可以采取的行动,影响环境状态的变化。
- 奖励(Reward, r):每次行动后,智能体从环境中接收的反馈信号,用以衡量该行动的优劣。
- 策略(Policy, π):智能体根据状态选择动作的策略,通常表示为状态到动作的映射。
- 价值函数(Value Function, V 或 Q):估计某个状态或状态-动作对的未来收益,帮助智能体优化其策略。
强化学习的目标是找到最优策略,使得智能体在每个状态下选择的动作能够最大化其长期累积的奖励。
3.1.2 强化学习的应用
虽然OpenAI在官方发布中没有明确说明OpenAI o1系列模型如何使用强化学习,但根据现有信息和强化学习在提升模型推理能力方面的显著效果,我们可以推测OpenAI o1在训练过程中如何强化学习。
- 提升推理能力: 强化学习在解决序列决策问题上有着显著的优势,能够帮助模型通过不断试错来优化决策过程,从而提升推理能力。o1在推理任务上的出色表现,与强化学习的特性高度契合。
- 思维链的形成: 强化学习可以帮助模型学会将复杂问题分解为一系列子问题,并逐步解决。这与o1采用的思维链机制非常相似。
思维链机制的核心思想是,让语言模型在生成最终答案之前,通过一系列中间步骤或推理链条来完成任务。这与传统的语言模型直接生成答案的方式不同,思维链提供了更清晰的逻辑推导路径,尤其在处理需要多步推理的复杂问题时。
例如,在解答数学问题或逻辑推理问题时,思维链会让模型先生成问题的各个推理步骤,再整合这些步骤得到最终答案。这样的机制帮助模型显式地分解任务,避免了仅靠一次性生成答案时的模糊性。
3.2.1 思维链机制的实现
实现思维链的步骤如下:
-
问题分解:思维链首先引导模型将复杂问题分解成若干步骤,每个步骤中模型不直接给出最终答案,而是先描述如何逐步推导出答案。
-
推理路径生成:模型在生成答案时不仅给出推理的步骤,还可以解释每一步的逻辑。例如,模型可能首先识别问题的核心要素,然后逐步推导出每一步的中间结论。
-
答案整合:在完成了多步推理后,思维链会引导模型整合中间步骤的结果,并得出最终的答案。
假设我们给模型一个涉及多步计算的问题:“如果一辆汽车每小时行驶60公里,驾驶3小时,它行驶了多远?”
- 传统方式:模型可能直接生成答案:“180公里”。
- 思维链方式:
- 第一步:汽车每小时行驶60公里。
- 第二步:它行驶了3小时。
- 第三步:因此,汽车行驶的总距离是60公里/小时 * 3小时 = 180公里。
通过这种方式,模型不仅得出了正确答案,而且展示了逐步推导的过程,使推理更加透明。
3.2.2 思维链技术优势
-
提高复杂问题解答能力:思维链机制特别适合需要多步推理的任务,比如数学推导、逻辑推理、编程、复杂问答等。这些任务通常无法通过一次性生成的答案来解决,需要模型具备清晰的推理链条。
-
增加答案的可解释性:传统的语言模型生成的答案是“一步到位”的,虽然可能正确,但缺乏可解释性。通过思维链,模型不仅提供答案,还能解释答案的生成过程。这对于高可靠性和可解释性要求的应用场景(如医学诊断、法律分析)非常重要。
-
减少模型的错误率:在没有思维链的情况下,模型可能由于计算错误或推理路径偏差生成错误的答案。而思维链的多步推理方式,有助于模型在每一步进行自我校验,从而提高答案的准确性。