推理模型o1与R1
本页介绍大语言模型(LLM)的前沿方向——推理模型:以 OpenAI o1/o3 和 DeepSeek-R1 为代表,让模型在回答前进行长时间”内部思考”,从而在数学、编程、逻辑推理等复杂任务上取得质的飞跃。它是语言模型演进的最新里程碑,也是提示工程中 Chain-of-Thought(思维链)思想的内生化。
推理模型 = 把”打草稿”变成模型自己的能力。
以前用 GPT-4 解数学题,你得自己在 Prompt 里加一句”请一步步推理”(CoT),模型才想得明白。推理模型把这个”逐步推理”过程搬进了训练阶段——模型天生就会长时间”打草稿”,你不用教,它自己想。
- 标准 LLM(如 GPT-4o)= 快问快答的脱口秀演员:问什么立刻答什么,流畅但遇到复杂推理容易出错。
- 推理模型(如 o1)= 先在纸上算很久的数学家:问完后先”静默思考”几秒到几十秒,内部生成几千 token 的推理链,最后才输出答案。慢,但准。
- 关键区别:标准模型的推理能力是”用 Prompt 激发的”,推理模型的推理能力是”训练出来的”。前者你不说它就不想,后者天生就想。
为什么标准 LLM 推理能力有限
Section titled “为什么标准 LLM 推理能力有限”标准 LLM 本质上是自回归(Autoregressive) 模型——逐个 Token 生成文本,每生成一个 Token 就无法回头修改。这就像让人”不修改、不草稿”地一次性口述论文,复杂推理当然容易出错。
标准模型在 SFT(Supervised Fine-Tuning,监督微调)阶段见到的训练数据大多是”问题 → 直接答案”的格式,模型学到的是System 1(快思考)——快速模式匹配、直觉式回答。而数学竞赛、复杂逻辑题需要的是System 2(慢思考)——反复推演、验证、纠错。推理模型通过训练让模型获得了 System 2 的能力。
System 1 / System 2:诺贝尔奖得主 Daniel Kahneman 在《思考,快与慢》中提出的人类认知双系统理论。System 1 快速、直觉、自动化;System 2 缓慢、分析、需要努力。标准 LLM 擅长 System 1,推理模型专门强化了 System 2。
推理模型的核心技术是基于强化学习的思维链训练(RL + CoT)。
标准模型的训练流程
Section titled “标准模型的训练流程”传统 LLM 的训练分三步:预训练(学语言)→ 监督微调(学指令)→ RLHF(学偏好)。在监督微调阶段,训练数据是”问题 → 直接答案”,模型学会了”快问快答”。即使加上 CoT Prompt,模型的推理链长度也受限于训练数据的分布——它没见过长推理过程,生成长链时容易跑偏。
RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习):让人类对模型的多个输出进行偏好排序,训练一个”奖励模型”模拟人类偏好,再用这个奖励模型通过强化学习优化 LLM。RLHF 优化的是”回答对人友好”(有用、无害、诚实),而推理模型用的 RL 优化的是”答案客观正确”。
推理模型的训练流程
Section titled “推理模型的训练流程”推理模型在监督微调之后增加了一个关键环节:纯强化学习训练(Pure RL)。
具体做法(以 DeepSeek-R1 为例):
- 准备一个已有推理能力的基座模型(如 DeepSeek-V3)。
- 设计奖励函数:只看最终答案对不对(数学题验算结果、编程题跑测试用例),不关心推理过程。
- 让模型对每个问题自己生成多条推理链 + 答案。
- 用答案的正确性给出奖励信号(对得正分,错得负分或零分)。
- 用 GRPO 等强化学习算法更新模型参数,让模型”学会”产生正确推理链。
关键洞察:不需要人类标注推理过程。只要能自动判定最终答案对错(数学有标准答案、编程有测试用例),强化学习就能让模型自己摸索出越来越长的推理链。模型从最初的几十 token 推理,逐步进化到几千甚至上万 token 的推理链——这个”涌现”过程是训练过程中自然发生的。
RLVR:可验证奖励的强化学习
Section titled “RLVR:可验证奖励的强化学习”推理模型使用的强化学习方法可更精确地称为 RLVR(Reinforcement Learning with Verifiable Rewards,可验证奖励的强化学习)。它与 RLHF 的关键区别在于奖励信号来源:
| RLHF | RLVR | |
|---|---|---|
| 奖励来源 | 人类偏好排序 → 训练的奖励模型 | 规则判定(答案对/错、代码通过/失败) |
| 奖励可靠性 | 奖励模型本身有误差,可能”学偏” | 客观正确,零噪声 |
| 适用任务 | 开放对话、创意写作等主观任务 | 数学、编程、逻辑推理等有标准答案的任务 |
| 可扩展性 | 受限于人类标注成本 | 可自动生成海量训练信号 |
RLVR 的突破在于:只要有可验证正确性的任务(数学题可验算、编程题可跑测试),就能产生无限的、无噪声的训练信号,无需任何人工标注。
GRPO 算法详解
Section titled “GRPO 算法详解”GRPO(Group Relative Policy Optimization,组相对策略优化) 是 DeepSeek 提出的强化学习算法。传统 RL 算法(如 PPO)需要训练一个独立的价值网络(Value Network / Critic) 来估计每个状态的”预期回报”——这个网络和主模型一样大,训练成本翻倍。GRPO 的创新是:对同一个问题让模型生成一组(Group)多个回答,用这组回答的平均奖励作为基线,高于平均的回答获得正激励,低于平均的获得负激励。这省去了价值网络,训练成本减半,且实现更简单。
o1 与 R1 的区别
Section titled “o1 与 R1 的区别”- OpenAI o1/o3:技术细节未公开。已知使用了大规模强化学习训练推理能力,模型在回答前会输出一段”thinking”内容(在 API 中可见但默认隐藏)。OpenAI 强调其使用了测试时计算缩放(Test-Time Compute Scaling)——在推理阶段投入更多计算资源换取更高准确率,这是一种与”扩大模型参数”不同的扩展维度。
- DeepSeek-R1:完全开源(模型权重 + 训练方法),论文公开了技术路线。R1-Zero 展示了”纯 RL 无 SFT”也能涌现推理能力(但语言混乱),R1 在此基础上加入少量冷启动数据(长思维链样本),解决了语言混乱问题。R1 还通过蒸馏(用 R1 生成推理数据微调小模型)证明:推理能力可以迁移到更小的模型上。
蒸馏:推理能力的小模型迁移
Section titled “蒸馏:推理能力的小模型迁移”蒸馏(Distillation) 的做法是:用大推理模型(如 R1)对大量问题生成长推理链 + 答案,将这些数据作为 SFT 训练集微调小模型(1.5B、7B、14B、32B)。结果令人惊喜:蒸馏后的小模型推理能力远超同等规模的标准模型——例如 R1-Distill-7B 在数学推理上可媲美 GPT-4o 级别的模型。
这说明推理能力本质上是一种可迁移的行为模式,而非绑定于特定模型规模的涌现属性。小模型”学不会自己推理”,但可以”学会模仿大模型的推理过程”。
推理模型的核心权衡
Section titled “推理模型的核心权衡”推理模型用更多推理时间换取更高准确率。这意味着:
- 延迟大幅增加:o1 高难度问题可能”思考”60 秒以上,o3 在最难的推理题上甚至需要数分钟。
- 成本增加:生成的推理 token 也要计费,且推理链长度可达最终答案的 10-50 倍。
- 简单任务无优势:问”今天星期几”,推理模型和标准模型一样快、一样准,没必要用推理模型。
因此推理模型适合复杂推理场景,不适合需要快速响应的简单对话。
标准模型 vs 推理模型
Section titled “标准模型 vs 推理模型”DeepSeek-R1 的训练路线
Section titled “DeepSeek-R1 的训练路线”测试时计算缩放(Test-Time Compute Scaling)
Section titled “测试时计算缩放(Test-Time Compute Scaling)”推理模型的底层哲学:与其无限制增大模型参数(训练时计算),不如在推理时给予更多”思考预算”(测试时计算)。
研究表明:在复杂推理任务上,一个小模型 + 更多推理计算 可以超越 大模型 + 少量推理计算。这意味着推理能力的提升不完全依赖模型规模——给予足够的”思考空间”,中等规模模型也能解决极难的问题。
调用 OpenAI o1 推理模型
Section titled “调用 OpenAI o1 推理模型”from openai import OpenAI
client = OpenAI()
# o1/o3 系列:适合数学、编程、逻辑推理等复杂任务response = client.chat.completions.create( model="o3-mini", # 推理模型,会先"思考"再回答 messages=[ {"role": "user", "content": "一个水池,进水管 3 小时注满,出水管 5 小时放完,同时开几小时注满?请给出精确推理。"}, ], # 注意:o1 系列不支持 system 角色,也不能设 temperature # o3-mini 支持 reasoning_effort 参数:low / medium / high reasoning_effort="medium", # 控制推理深度,越高越准但越慢越贵)print(response.choices[0].message.content)# 模型内部已经完成了完整推理,输出简洁正确
# 查看推理 token 使用量usage = response.usageprint(f"推理 Token: {usage.completion_tokens_details.reasoning_tokens}")调用 DeepSeek-R1 查看推理过程
Section titled “调用 DeepSeek-R1 查看推理过程”from openai import OpenAI
# DeepSeek 官方 API 兼容 OpenAI SDKclient = OpenAI(api_key="你的密钥", base_url="https://api.deepseek.com")
response = client.chat.completions.create( model="deepseek-reasoner", # DeepSeek-R1,reasoning_content 字段含推理链 messages=[{"role": "user", "content": "证明根号 2 是无理数。"}],)# R1 会返回两部分:reasoning_content(推理过程)和 content(最终答案)msg = response.choices[0].messageprint("=== 推理过程 ===")print(msg.reasoning_content[:500]) # 完整推理链很长,截取前 500 字print("=== 最终答案 ===")print(msg.content)本地部署 R1 蒸馏模型
Section titled “本地部署 R1 蒸馏模型”# 使用 Ollama 一键部署 R1 蒸馏小模型# 先安装 Ollama: https://ollama.com# 然后在终端执行: ollama pull deepseek-r1:7b
# Python 调用import requests
response = requests.post( "http://localhost:11434/api/chat", json={ "model": "deepseek-r1:7b", # 7B 蒸馏模型,约需 5GB 显存 "messages": [{"role": "user", "content": "解释快速排序的时间复杂度分析。"}], "stream": False, },)data = response.json()print(data["message"]["content"])- 选对场景:推理模型适合数学、编程、逻辑推理、复杂规划等需要深度思考的任务;简单问答、闲聊、翻译用标准模型更快更便宜。
- Prompt 越简洁越好:推理模型自己会”逐步推理”,不需要你再加”请一步一步思考”——反而可能干扰。直接给问题,让模型自己想。OpenAI 官方建议 o1/o3 的 Prompt 应该”极简”:描述清楚要什么即可,不要提供思维链指导。
- 少样本示例要慎用:o1 官方建议尽量用 Zero-shot。Few-shot 示例如果格式和推理链与模型自身的风格冲突,反而降低效果。
- 关注推理 token 成本:推理模型生成的推理链(reasoning token)也计费,且经常比最终答案长几倍到几十倍。复杂问题的单次调用成本可能远超标准模型。
- 使用 reasoning_effort 控制深度:o3-mini 等模型支持
reasoning_effort参数(low/medium/high)。简单推理用 low 省成本,极难问题用 high 冲准确率。 - 蒸馏小模型是部署捷径:如果不需要满血 R1 的推理深度,可以用 R1-Distill 系列(1.5B/7B/14B/32B),在消费级 GPU 甚至 CPU 上跑,兼顾推理能力和部署成本。
- 结合 Agent 使用:推理模型擅长”想”,Agent 框架擅长”做”。把推理模型作为 Agent 的决策大脑,效果远超标准 LLM。详见AI Agent 与多智能体。
2025-2026 趋势
Section titled “2025-2026 趋势”推理模型全面爆发
Section titled “推理模型全面爆发”2025 年被称为”推理模型元年”,多家公司密集发布推理模型:
- OpenAI o3 / o4-mini(2025 年上半年):o3 在 ARC-AGI 基准上取得突破性成绩,o4-mini 支持在推理过程中自主调用工具(网络搜索、代码执行、图像分析),将推理与行动融合。o3-pro 面向最高难度推理场景。
- DeepSeek-R1 开源冲击(2025 年 1 月):以极低训练成本(约 550 万美元)达到接近 o1 的推理性能,且完全开源,直接导致 AI 行业对推理路线的重新评估。R1 之后,开源社区涌现大量基于 R1 方法训练的推理模型。
- Google Gemini 2.5 Flash Thinking:Google 的推理模型路线,将”思考”与”回答”分离,API 返回独立的 thinking 部分。
- Anthropic Claude 3.7 / 4 系列 Extended Thinking:Claude 引入”扩展思考”模式,可在标准对话和深度推理之间切换,并支持可见的推理过程。
- 通义千问 QwQ / Qwen3-Thinking:阿里巴巴的推理模型系列,QwQ-32B 开源后在多项推理基准上表现优异。
- Kimi 1.5 / Mooncake:月之暗面的推理模型,在长上下文推理上有独特优势。
测试时计算缩放定律
Section titled “测试时计算缩放定律”2024 年的研究(如 “Scaling LLM Test-Time Compute Optimally”)发现:测试时计算的增加对准确率的提升遵循类似缩放定律(Scaling Law) 的规律——呈幂律关系。这意味着推理能力可以通过增加推理预算持续提升,不需要无限增大模型参数。
但后续研究(如 “The Surprising Effectiveness of Test-Time Training”)也发现:测试时计算的提升存在边际递减——推理链超过某个长度后,增加更多推理 token 对准确率的提升越来越小,甚至可能因为推理链”绕远路”而降低。
GSM-Symbolic 争议:推理模型真的在”推理”吗
Section titled “GSM-Symbolic 争议:推理模型真的在”推理”吗”2024 年底,Apple 研究团队发表的”GSM-Symbolic”论文引发广泛讨论:当数学题中的数字或名称做微小改动时,即便逻辑完全相同,推理模型的准确率也会出现显著波动。这暗示模型可能在做高级模式匹配而非真正的逻辑推理——它在训练数据中见过大量类似题目,学会了”看起来像推理”的推理链。
这场争论仍在继续。支持方认为:无论机制如何,推理模型在真实任务上确实大幅超越了标准模型;反对方则指出推理模型仍有根本性的泛化局限。
推理模型的安全新挑战
Section titled “推理模型的安全新挑战”- 过度思考(Overthinking):推理模型在简单问题上也可能生成冗长推理链,浪费计算资源。研究发现 o1 在回答 “2+2=?” 时也会”思考”上百个 Token。
- 思考链中的隐藏行为:推理模型的推理过程可能包含不可预期的中间步骤(如绕过安全检查的推理路径),且很多模型默认隐藏推理链,增加了可审计性的挑战。
- 推理诱导:在推理链中嵌入特定模式,可能在模型”想清楚”之前就引导它走向特定方向。
- 数学竞赛与科研:o1 在 AIME(美国数学邀请赛)正确率超过 83%,o3 在更难的 IOI(国际信息学奥林匹克)级别编程题上取得突破;DeepSeek-R1 在 MATH 基准上与 OpenAI o1 接近——过去只有人类专家能解的题,现在推理模型可以自动解答。
- 复杂编程:GitHub Copilot、Cursor 等工具集成推理模型处理架构设计、算法实现、Bug 定位等高难度编程任务——推理模型能先理清逻辑再写代码,准确率显著提升。o3 在 Codeforces 竞赛编程中达到前 200 名选手水平。
- 科学推理与分析:生物分子结构分析、化学反应路径规划等科研场景,推理模型提供更强的逻辑链条和可解释的推理过程。
- 智能体决策大脑:LangChain、AutoGen 等 Agent 框架将推理模型作为核心决策器,处理多步骤规划、工具选择、结果验证——推理模型”先想清楚再做”的特性天然适配 Agent 架构。
典型类库与工具
Section titled “典型类库与工具”| 类库 / 工具 | 语言 | 说明 |
|---|---|---|
| OpenAI o1 / o3 / o4 API | REST | OpenAI 推理模型系列,支持 reasoning_effort 参数调节推理深度 |
| DeepSeek-R1 | Python | 开源推理模型,权重 + 训练方法完全公开,可本地部署 |
| vLLM | Python | 支持 R1 系列模型的高吞吐推理,可本地部署推理模型 |
| Ollama | Go/C++ | 一键本地部署 R1 及蒸馏小模型(如 deepseek-r1:7b) |
| SGLang | Python | 推理引擎,支持 RadixAttention 加速长推理链生成 |
| Llama.cpp | C++ | CPU/GPU 混合推理,支持在笔记本上运行 R1 蒸馏模型 |
| QwQ / Qwen-Thinking | Python | 阿里开源推理模型系列,QwQ-32B 可本地部署 |
| 术语 | 英文 | 解释 |
|---|---|---|
| 推理模型 | Reasoning Model | 训练阶段通过强化学习获得长链推理能力的 LLM,如 o1、R1 |
| 思维链 | Chain-of-Thought (CoT) | 让模型分步推理再给出答案的技术,推理模型将其内化 |
| System 1 / System 2 | System 1 / System 2 Thinking | 快速直觉(System 1)vs 缓慢分析(System 2)的双系统认知模型 |
| RLVR | Reinforcement Learning with Verifiable Rewards | 用可自动验证的正确性(而非人类偏好)作为奖励信号的强化学习 |
| 强化学习训练 | RL for Reasoning | 用答案正确性作为奖励信号,通过 RL 训练模型产生正确推理链 |
| GRPO | Group Relative Policy Optimization | DeepSeek-R1 使用的强化学习算法,用组内相对排名替代独立价值网络,无需训练 Critic |
| 价值网络 | Value Network / Critic | PPO 等传统 RL 算法中估计状态价值的独立模型,GRPO 将其省略 |
| 推理链 | Reasoning Chain | 模型在给出最终答案前的内部推理过程,可包含数千 token |
| 冷启动数据 | Cold Start Data | 少量高质量长思维链样本,用于初始化 RL 训练的起点 |
| 蒸馏 | Distillation | 用大推理模型生成推理数据微调小模型,迁移推理能力 |
| 测试时计算 | Test-time Compute | 模型在推理(测试)阶段消耗的计算量,推理模型通过增加此值换取更高准确率 |
| 测试时计算缩放 | Test-Time Compute Scaling | 通过增加推理时计算预算来提升模型性能的扩展范式 |
| 缩放定律 | Scaling Law | 模型性能与计算量/参数量/数据量之间的幂律关系 |
| 过度思考 | Overthinking | 推理模型在简单问题上仍生成冗长推理链,浪费计算资源的现象 |
| reasoning_effort | Reasoning Effort | OpenAI o 系列模型 API 参数,控制推理深度(low/medium/high) |
- DeepSeek-R1:DeepSeek-AI, “DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning”(2025),完全开源的推理模型,展示了纯 RL 训练即可涌现推理能力,引发行业震动。
- OpenAI o1:OpenAI, “Learning to Reason with LLMs”(2024),首次将推理模型产品化,在数学和编程基准上大幅超越 GPT-4o。
- Chain-of-Thought:Wei et al., “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models”(2022),推理模型的思想源头,证明 CoT 能激发 LLM 推理能力。详见提示工程。
- STaR:Zelikman et al., “Star: Bootstrapping Reasoning with Reasoning”(2022),提出”用模型自己生成的正确推理链做训练数据”的迭代方法,是推理模型训练路线的先驱工作。
- 测试时计算缩放:Snell et al., “Scaling LLM Test-Time Compute Optimally”(2024),系统研究推理时增加计算对准确率的影响规律。
- GSM-Symbolic:Mirzadeh et al., “GSM-Symbolic: Understanding the Limitations of Mathematical Reasoning in Large Language Models”(Apple, 2024),质疑推理模型真正”推理”能力的研究。