2024 年 9 月 12 日,OpenAI 发布 o1-preview,这是一个改变 LLM 发展方向的模型。和以往追求更大参数、更多训练数据不同,o1 将重心转向了推理阶段的计算:让模型”想得更久”,而不是”练得更多”。o1 在 AIME 数学竞赛上从 GPT-4o 的 9.3% 跃升到 74.4%,在 GPQA Diamond 上从 35.4% 到 83.0%,这些数字宣告了 LLM 推理时代的到来。
本文要点
- o1 的核心突破:Test-Time Compute Scaling
- RLVR 训练方法的原理与实现
- Self-Play 推理与 Chain-of-Thought 的深度结合
- o3 的性能飞跃与 Extended Thinking
- 推理模型对 AI 范式的影响
- 与 DeepSeek R1 的对比
一、o1 的核心突破
1.1 性能飞跃
o1 在推理密集型基准上实现了跨越式提升:
| 基准 | GPT-4o | o1-preview | o1 | 提升幅度 |
|---|---|---|---|---|
| AIME 2024 | 9.3% | 56.7% | 74.4% | +65.1% |
| GPQA Diamond | 35.4% | 67.3% | 83.0% | +47.6% |
| ARC-AGI | 21.7% | 32.0% | 50.3% | +28.6% |
| MATH | 52.9% | 75.0% | 96.4% | +43.5% |
| Codeforces Rating | 808 | 1426 | 1891 | +1083 |
这些数字的含义需要理解基准的难度:
- AIME:美国高中数学邀请赛,15 道题,每题 1 分,平均分约 5/15。GPT-4o 只能做对不到 1.5 题,o1 能做对超过 11 题
- GPQA Diamond:Google-Proof Question Answering,博士级科学问题,人类专家正确率约 65%
- Codeforces 1891:相当于”Grandmaster”级别,全球仅约 0.1% 选手达到
1.2 Test-Time Compute:核心范式转变
o1 的核心创新是将计算重心从训练时(Training-Time Compute)转移到推理时(Test-Time Compute)。
这个转变的本质是:训练时计算是固定的,推理时计算可以弹性扩展。对于一个简单问题,o1 可以只生成几步推理链;对于复杂问题,它可以生成数千 token 的推理过程。这种弹性是传统模型不具备的。
1.3 推理时间与性能的关系
o1 的一个关键发现是:推理时间(thinking tokens)与答案质量正相关。
# o1 推理时间与性能的关系thinking_time_performance = { "低思考(<1K tokens)": { "AIME": "~30%", "适用": "简单问题、知识问答", }, "中思考(1K-10K tokens)": { "AIME": "~60%", "适用": "中等难度推理", }, "高思考(10K-100K tokens)": { "AIME": "~74%", "适用": "竞赛级数学、复杂编程", },}这意味着 o1 的用户可以根据任务难度选择不同的推理预算。简单问题不需要让模型思考太久,复杂问题则可以给予更多思考空间。
二、RLVR:基于验证的强化学习
2.1 从 RLHF 到 RLVR
o1 的训练方法 RLVR(Reinforcement Learning from Verifiable Rewards)是对 RLHF 的根本性改进。
RLHF 和 RLVR 的核心区别:
| 维度 | RLHF | RLVR |
|---|---|---|
| 奖励来源 | 人类偏好排序 | 确定性验证器 |
| 奖励精度 | 模糊(0.3 vs 0.5?) | 精确(对/错) |
| 适用领域 | 对话、写作(主观) | 数学、编程(客观) |
| 可扩展性 | 受限于人类标注速度 | 自动验证,无限扩展 |
| 奖励模型 | 需要单独训练 | 不需要(验证器即规则) |
2.2 RLVR 训练流程
RLVR 的训练流程可以概括为以下步骤:
# RLVR 训练伪代码def rlvr_training(model, problems, verifier, num_epochs=1000): optimizer = setup_optimizer(model)
for epoch in range(num_epochs): batch = sample_problems(problems, batch_size=64)
for problem in batch: # 1. 生成推理链(Chain-of-Thought) reasoning_chain = model.generate( prompt=problem.question, max_tokens=32000, # 允许长推理链 temperature=0.8, # 适度随机 )
# 2. 提取最终答案 answer = extract_answer(reasoning_chain)
# 3. 验证答案正确性 is_correct = verifier.verify( answer=answer, ground_truth=problem.answer, problem_type=problem.type, # 数学/编程/逻辑 )
# 4. 计算奖励 if is_correct: reward = 1.0 # 额外奖励:更短的推理链获得略高奖励 length_bonus = max(0, 1.0 - len(reasoning_chain) / 32000 * 0.1) reward += length_bonus else: reward = -0.1 # 轻微负奖励
# 5. 策略梯度更新 loss = -log_prob(model, reasoning_chain) * reward loss.backward()
optimizer.step() optimizer.zero_grad()2.3 验证器设计
RLVR 的关键在于验证器的设计。不同类型的问题需要不同的验证策略:
# 不同类型的验证器class MathVerifier: """数学问题验证器:比较最终答案""" def verify(self, answer, ground_truth): # 标准化数学表达式后比较 normalized_answer = self.normalize(answer) normalized_truth = self.normalize(ground_truth) return math.isclose(normalized_answer, normalized_truth, rel_tol=1e-6)
class CodeVerifier: """编程问题验证器:运行测试用例""" def verify(self, code, test_cases): for test_input, expected_output in test_cases: actual_output = self.execute(code, test_input) if actual_output != expected_output: return False return True
class LogicVerifier: """逻辑推理验证器:检查证明步骤""" def verify(self, proof_steps, axioms): for step in proof_steps: if not self.is_valid_step(step, axioms): return False return True验证器的精确性是 RLVR 的最大优势。RLHF 中奖励模型可能给出 0.7 和 0.8 的差异,这种模糊信号让模型难以精确优化。而 RLVR 的信号是二元的:对或错。这种清晰信号让强化学习更高效。
2.4 RLVR 的局限
RLVR 只适用于答案可验证的领域:
| 领域 | 可验证性 | RLVR 适用性 |
|---|---|---|
| 数学 | 高 | 完全适用 |
| 编程 | 高 | 完全适用 |
| 逻辑推理 | 高 | 完全适用 |
| 科学问答 | 中 | 部分适用 |
| 创意写作 | 低 | 不适用 |
| 对话 | 低 | 不适用 |
这意味着 RLVR 训练的模型在数学和编程上极强,但在开放式对话和创意任务上不一定优于 RLHF 模型。o1 在 ChatBot Arena 上的表现不如其在推理基准上的提升幅度,正是因为对话质量难以用验证器评估。
三、Self-Play 推理
3.1 AlphaZero 式的自我博弈
o1 的推理过程被 OpenAI 描述为类似 AlphaZero 的 Self-Play。AlphaZero 通过自我对弈不断提升棋艺,o1 则通过自我推理不断优化问题解决路径。
3.2 推理链的生成与选择
o1 在推理时可以生成多条推理链,然后选择最优答案:
# o1 的推理链生成与选择def o1_reasoning(model, problem, num_chains=8, verifier=None): candidates = []
for i in range(num_chains): # 生成推理链(温度较高,增加多样性) chain = model.generate( prompt=problem, max_tokens=32768, temperature=0.8, )
answer = extract_final_answer(chain)
# 验证答案 if verifier: is_correct = verifier.verify(answer, problem.answer) candidates.append({ "chain": chain, "answer": answer, "verified": is_correct, "length": len(chain), })
# 选择策略 # 1. 优先选择验证通过的 verified = [c for c in candidates if c["verified"]] if verified: # 在验证通过的候选中选最短的(奥卡姆剃刀) best = min(verified, key=lambda x: x["length"]) else: # 没有验证通过的,用多数投票 answer_counts = Counter(c["answer"] for c in candidates) majority_answer = answer_counts.most_common(1)[0][0] best = [c for c in candidates if c["answer"] == majority_answer][0]
return best["answer"], best["chain"]3.3 思维链的内部机制
o1 的思维链是可见的内部推理。OpenAI 公开了 o1 的推理过程(部分),使你能窥见模型如何”思考”:
让我分析这道数学题...
首先,我需要理解题目在问什么。给定 f(x) = x³ - 3x + 1,求在区间 [-2, 2] 上的极值。
步骤1:求导数 f'(x) = 3x² - 3步骤2:令 f'(x) = 0,解得 x = ±1步骤3:判断极值类型 - f''(x) = 6x - f''(1) = 6 > 0 → x = 1 是极小值点 - f''(-1) = -6 < 0 → x = -1 是极大值点
等等,让我再确认一下边界值...f(-2) = -8 + 6 + 1 = -1f(2) = 8 - 6 + 1 = 3f(-1) = -1 + 3 + 1 = 3 → 极大值f(1) = 1 - 3 + 1 = -1 → 极小值
所以极大值是 3(在 x = -1 和 x = 2 处都取到),极小值是 -1。这种推理链有几个关键特征:
- 自我纠错:模型会在推理过程中发现错误并修正
- 多路径探索:会尝试不同的解题方法
- 回溯机制:发现走不通时会回到之前的步骤重新选择
- 验证意识:得到答案后会主动验证
3.4 与 Chain-of-Thought 的关系
o1 的思维链和 2022 年 Wei 等人提出的 Chain-of-Thought (CoT) 有本质区别:
| 维度 | CoT Prompting | o1 推理链 |
|---|---|---|
| 产生方式 | 人类提示触发 | 模型自主生成 |
| 长度 | 固定、较短(几百 token) | 弹性、可很长(数万 token) |
| 质量 | 依赖提示词质量 | 通过 RLVR 优化 |
| 可靠性 | 可能推理错误但不自知 | 有自我纠错机制 |
| 验证 | 无 | 内置验证步骤 |
CoT 是”教会模型展示推理过程”,o1 是”教会模型真正推理”。前者是一种 prompting 技巧,后者是一种训练范式。
四、o3 的进一步提升
4.1 o3 发布
2024 年 12 月 20 日(“12 Days of OpenAI”活动最后一天),OpenAI 发布了 o3。这是 o1 的重大升级:
| 基准 | o1 | o3 | 提升 |
|---|---|---|---|
| ARC-AGI | 50.3% | 87.5% | +37.2% |
| GPQA Diamond | 83.0% | 87.7% | +4.7% |
| FrontierMath | 2.0% | 25.2% | +23.2% |
| SWE-bench Verified | 48.9% | 72.0% | +23.1% |
| Codeforces Rating | 1891 | 2719 | +828 |
ARC-AGI 从 50.3% 到 87.5% 的跃升尤其引人注目。ARC-AGI 是 François Chollet 设计的通用推理基准,被认为是衡量 AI 是否具备”通用智能”的重要指标。o3 是第一个在这个基准上接近人类水平(约 85%)的模型。
4.2 ARC-AGI 与通用推理
ARC-AGI 的设计哲学很独特:它测试的不是知识,而是抽象推理能力。每个任务给出几个输入-输出对,要求模型推断出变换规则并应用到新输入上。
o3 在 ARC-AGI 上的成功说明:通过大量的 Test-Time Compute,LLM 可以进行深度抽象推理,而不仅仅是模式匹配。但 Chollet 本人指出,o3 的高分部分来自暴力搜索,而非真正的”理解”。
4.3 Extended Thinking
o3 引入了 Extended Thinking 模式,允许用户控制推理深度:
# o3 的 Extended Thinking 配置def o3_inference(problem, thinking_budget="auto"): """o3 推理配置""" configs = { "low": { "thinking_tokens": 2000, "适合": "简单问题、快速回答", }, "medium": { "thinking_tokens": 10000, "适合": "中等推理、日常编程", }, "high": { "thinking_tokens": 100000, "适合": "竞赛数学、复杂调试", }, "auto": { "thinking_tokens": "模型自主决定", "适合": "默认模式", }, }
config = configs[thinking_budget] return model.generate( problem, max_thinking_tokens=config["thinking_tokens"], )Extended Thinking 的定价模式也与传统模型不同:o3 按”思考 tokens + 输出 tokens”计费,思考 tokens 的价格低于输出 tokens。这反映了推理计算的经济模型。
4.4 o3-mini:推理效率优化
2025 年 1 月,OpenAI 发布 o3-mini,在保持强推理能力的同时大幅降低成本:
| 模型 | 推理能力 | 成本 | 延迟 |
|---|---|---|---|
| o1 | 高 | 高 | 高 |
| o3 | 最高 | 最高 | 最高 |
| o3-mini | 中高 | 低 | 低 |
o3-mini 的策略是:用更小的模型架构 + 更多的 RLVR 训练,在特定推理任务上逼近大模型的效果。这和 LLaMA 3 的”小模型大数据”策略异曲同工。
五、推理模型对 AI 范式的影响
5.1 两种 Scaling Law
o1/o3 验证了一个重要的假说:推理时计算(Inference-Time Compute)可以替代训练时计算(Training-Time Compute)。
这两种 Scaling Law 不是替代关系,而是互补关系:
- Pre-Training Scaling:提升模型的知识广度和基础能力
- Inference-Time Scaling:提升模型的推理深度和问题解决能力
理想模型应该两者兼备:强大的基础能力 + 深度的推理能力。
5.2 推理预算的经济学
Test-Time Compute 引入了新的经济学考量:
# 推理成本对比cost_comparison = { "GPT-4o(直接回答)": { "输入": "$2.50/1M tokens", "输出": "$10.00/1M tokens", "平均推理": "~500 tokens", "平均成本": "~$0.005/问题", }, "o1(推理后回答)": { "输入": "$15.00/1M tokens", "推理": "$60.00/1M tokens", "平均推理": "~5000 tokens 思考 + ~500 tokens 输出", "平均成本": "~$0.35/问题", }, "o3(深度推理)": { "推理": "按思考量计费", "高思考模式": "~$3.50/问题", "低思考模式": "~$0.15/问题", },}o1 的推理成本约为 GPT-4o 的 70 倍,o3 高思考模式更是数百倍。这意味着推理模型不适合所有场景,而应该有选择地使用:
- 简单问答:用 GPT-4o 等快速模型
- 中等推理:用 o1 或 o3-mini
- 竞赛级问题:用 o3 高思考模式
5.3 对 AI 应用开发的影响
推理模型改变了 AI 应用的开发范式:
关键变化:
- 问题路由:先判断问题难度,再选择模型和推理预算
- 推理编排:将复杂问题分解为子问题,分别用推理模型解决
- 验证循环:推理结果需要验证,错误时重新推理
- 成本控制:根据问题价值分配推理预算
5.4 与 DeepSeek R1 的对比
2025 年 1 月,DeepSeek 发布 R1,是开源推理模型的里程碑:
| 维度 | o1/o3 (OpenAI) | DeepSeek R1 |
|---|---|---|
| 训练方法 | RLVR(细节未公开) | GRPO + 冷启动 |
| 开源程度 | 闭源,API 访问 | 完全开源,权重公开 |
| AIME 2024 | 74.4% (o1) | 79.8% (R1) |
| MMLU | 92.3% (o1) | 90.8% (R1) |
| 推理可见性 | 部分可见 | 完全可见 |
| 推理成本 | 高(闭源定价) | 低(可自部署) |
DeepSeek R1 的关键创新是 GRPO(Group Relative Policy Optimization),它不需要单独的价值模型,而是在同一组采样中用相对排名计算优势函数,大幅降低了训练成本。R1 还证明了纯 RL 训练(不经过 SFT 冷启动)也能让模型学会推理,这一发现震惊了整个领域。
六、推理模型的未来方向
6.1 推理效率优化
当前推理模型的最大瓶颈是效率。让模型”想得更久”虽然有效,但成本太高。未来方向包括:
| 方向 | 方法 | 预期效果 |
|---|---|---|
| 自适应推理深度 | 根据问题难度动态分配思考量 | 简单问题快速回答 |
| 推理蒸馏 | 用大推理模型训练小模型 | 小模型也具备推理能力 |
| 推理缓存 | 缓存相似问题的推理路径 | 减少重复推理 |
| 并行推理 | 多条推理链并行生成 | 降低延迟 |
DeepSeek R1 的蒸馏实验提供了有力证据:将 R1 的推理能力蒸馏到 7B 模型后,小模型也能解决相当比例的推理问题。
6.2 多模态推理
推理能力不应局限于文本。o 系列的下一步是将推理扩展到多模态:
- 视觉推理:分析图像中的几何关系、物理场景
- 代码推理:理解代码执行流程、调试复杂 bug
- 科学推理:理解实验数据、提出假设
6.3 推理对齐
推理模型带来了新的对齐挑战:当模型在推理链中探索多个路径时,如何确保它不会找到”有害”的推理路径?传统的 RLHF 对齐主要作用于输出层,而推理模型的推理链可能有数百步,每一步都需要保持安全。
七、总结
o1/o3 开启的推理时代对 AI 领域的影响是深远的:
- 范式转变:从 Pre-Training Scaling 到 Test-Time Compute Scaling,推理时间可以弥补训练时间的不足
- RLVR 方法:验证奖励的强化学习比人类偏好更适合推理任务,自动验证器使训练可无限扩展
- Self-Play 推理:类似 AlphaZero 的自我博弈,让模型通过自我推理持续优化
- 可见思维链:o1 的推理过程部分可见,提供了模型”思考过程”的可解释性窗口
- 开源追赶:DeepSeek R1 证明开源社区也能实现推理模型,GRPO 方法大幅降低了训练门槛
推理时代才刚刚开始。未来的 AI 系统很可能不是”知道答案”,而是”能推理出答案”。这种能力从数学扩展到科学、工程、法律等需要深度推理的领域时,将产生真正革命性的影响。
参考资料
- Learning to Reason with LLMs — OpenAI o1 发布公告(OpenAI, 2024)
- OpenAI o1 System Card — o1 系统卡(OpenAI, 2024)
- OpenAI o3 System Card — o3 系统卡(OpenAI, 2024)
- ARC-AGI Benchmark — ARC-AGI 通用推理基准(Chollet, 2019)
- Chain-of-Thought Prompting Elicits Reasoning — CoT 论文(Wei et al., 2022)
- Training language models to follow instructions with human feedback — RLHF / InstructGPT(Ouyang et al., 2022)
- DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning — DeepSeek R1(DeepSeek Team, 2025)
- Let’s Verify Step by Step — 过程监督推理(Lightman et al., 2023)
- Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters — Test-Time Compute Scaling(Snell et al., 2024)
- Mastering the Game of Go without Human Knowledge — AlphaZero Self-Play(Silver et al., 2017)
支持与分享
如果这篇文章对你有帮助,欢迎支持作者或分享给更多人
部分信息可能已经过时






