推理模型原理:o1 / R1 的 Test-Time Scaling 新范式

《大模型知识与部署》系列 · No.32 / 35
适合人群:AI 工程师、技术决策者
阅读时间:约 28 分钟


在这里插入图片描述

写在前面

如果说 2017-2023 大模型的关键词是 Scaling Law(参数和数据越多越好),那 2024-2026 就出现了一个全新关键词——

Test-Time Scaling(推理时扩展)

这是和 MoE 并列的,过去三年大模型最重要的两大架构创新。它的核心思想极其反直觉:

让模型在回答前,先「思考很久」。

简单一句话背后,是 OpenAI o1(2024.09)、DeepSeek R1(2025.01)、Claude 4 Thinking、Gemini 2.5、Qwen3 Thinking 等一系列"推理模型"的崛起。

如果你做过相关工作,下面这些问题应该不熟:

  • 推理模型和普通 LLM 有什么本质区别?
  • R1 是怎么从 V3 训出来的?为什么"R1-Zero 的 aha moment"那么轰动?
  • 推理模型为什么思考可以那么长?token 不就爆炸了吗?
  • 我的业务该不该用推理模型?什么时候用?
  • 推理模型部署有什么特殊要求?

读完本文你将能:

  1. 理解 Test-Time Scaling 的数学逻辑
  2. 拆解 DeepSeek R1 的训练流程(含 GRPO 算法)
  3. 评估推理模型的工程成本与业务价值
  4. 部署推理模型的关键注意事项
  5. 判断推理模型的未来方向

我们开始。


一、Test-Time Scaling 的革命

1.1 一句话颠覆 Scaling Law

回顾第 6 篇我们讲的传统 Scaling Law:

模型 Loss ∝ N^-α · D^-β · C^-γ

N:参数量
D:数据量
C:训练算力

过去 6 年,行业的逻辑都是「堆训练算力 = 更好的模型」。

2024 年 9 月,OpenAI 发布 o1,提出新观点:

训练算力到了一定规模后边际收益递减。但「推理时多想几步」能持续提升效果。

换言之:算力支出从"训练阶段"转移到"推理阶段"

1.2 数学逻辑

考虑一道数学题:

朴素 LLM:
  prompt → 直接生成答案
  生成 200 token

推理模型:
  prompt → 生成思考链(2000-10000 token)→ 答案
  总生成 5000+ token

实测结果(AIME 数学竞赛):

模型 准确率
GPT-4o(无思考) 9%
o1-mini 70%
o1(深度思考) 83%
o3 96%

思考时间越长,效果越好——这就是 Test-Time Scaling。

1.3 为什么这是「革命」

之前业界以为:模型能力主要由训练决定,推理就是"取出来用"。

推理模型证明:模型还有大量"潜在能力",只有在长时间推理下才被激活

经济意义

  • 训练成本:一次性
  • 推理成本:随业务量持续支出
  • 新范式让"算力支出"匹配"任务难度"——简单问题快回答,难问题深思考

1.4 三个 Scaling Law 并存

2026 年,业界形成了三个并存的 Scaling Law

1. Pre-training Scaling     ── 训练算力 → 基础能力
2. Post-training Scaling    ── RL / SFT 算力 → 对齐与精炼
3. Test-Time Scaling        ── 推理算力 → 深度推理

未来 5 年,Test-Time Scaling 占比会越来越大


二、推理模型的核心机制

2.1 思考链(Chain of Thought)

第 30 篇我们讲过 CoT prompt 技巧——但推理模型把 CoT 内化到了模型本身

普通 LLM 用 CoT prompt:
  用户:「逐步思考...」(明确要求)
  模型:思考 → 答案

推理模型:
  用户:「2 + 3 × 7 = ?」
  模型自动:
    <thinking>
    先算乘法:3 × 7 = 21
    再算加法:2 + 21 = 23
    答案是 23
    </thinking>
    23

关键区别

  • 普通 LLM:需要 prompt 引导才思考
  • 推理模型:天生会思考,且思考更长更深

2.2 thinking tokens 的工程意义

推理模型把思考过程标记为特殊 token

<thinking>...内部推理...</thinking>
<answer>最终答案</answer>

或者类似 OpenAI o1:

[隐藏的内部 reasoning tokens]
最终答案对用户可见

工程影响:

  • token 数大幅增加:一个问题可能产生 5K-50K thinking tokens
  • TTFT 变长:用户看到答案前要等模型"思考完"
  • API 计费:thinking tokens 也算钱

2.3 推理深度的可控性

主流推理模型都提供「思考深度」参数:

# OpenAI o3
response = client.chat.completions.create(
    model="o3",
    messages=[...],
    reasoning_effort="high"   # low / medium / high
)

# Claude 4 Thinking
response = client.messages.create(
    model="claude-opus-4-7",
    thinking={
        "type": "enabled",
        "budget_tokens": 10000   # 思考预算
    },
    messages=[...]
)

# DeepSeek R1
response = client.chat.completions.create(
    model="deepseek-r1",
    messages=[...],
    extra_body={"thinking_budget": 8000}
)

工程师视角

「思考预算」是新的核心调参维度——和 max_tokens / temperature 并列。


三、DeepSeek R1:第一个公开的推理模型完整训练方法

OpenAI o1 的训练方法没有公开。但 2025.01 DeepSeek R1 完整开源 + 公开了训练方法,彻底改变了行业认知

3.1 R1 的训练流水线

DeepSeek-V3 Base
    ↓
[R1-Zero] 直接做 GRPO 强化学习
    ↓
观察:模型自发出现"反思"、"验证"等推理行为
    ↓
[R1] 加 SFT 数据 + 多轮 GRPO + 通用对齐
    ↓
DeepSeek-R1(超过 o1 的开源推理模型)

3.2 GRPO 算法(第 8 篇深入讲过)

回顾 GRPO 的核心:

对同一个 prompt,模型生成 K 个不同回复
计算每个回复的 reward(数学题对错、代码能不能跑、推理是否合理)
组内归一化得到 advantage
更新模型

关键设计

  • 不用 critic 模型(省 1 个 70B 显存)
  • 不用复杂偏好模型(用规则验证)
  • 奖励信号稀疏但明确

R1 训练的奖励函数:

def reward_function(question, response):
    # 1. 答案正确性(最重要)
    if has_correct_answer(question, response):
        reward += 1.0
    
    # 2. 格式正确(用 <thinking> 包裹)
    if has_thinking_tags(response):
        reward += 0.1
    
    # 3. 语言一致性
    if same_language_as_question(question, response):
        reward += 0.05
    
    return reward

3.3 R1-Zero 的「Aha Moment」

R1 训练过程中最震撼业界的发现:

纯 RL 训练(不加任何 SFT 推理数据)能让模型自发"学会反思"。

DeepSeek 公开的训练日志里有这样的输出:

模型生成(训练某步):
设 x = ... 
应用公式...
得到 x = 5

等等,让我重新检查
我看错了一步
重新计算...
正确答案是 x = 7

哦!这就是 aha moment.

模型自己"涌现"出了反思能力——没有任何人教它"要反思"。

这个发现震撼业界:

  • 证明 RL + 简单奖励能让模型涌现复杂推理
  • "推理能力"不需要显式数据
  • 给开源社区"做推理模型"打开了大门

3.4 R1-Zero vs R1

R1-Zero 虽然推理能力强,但有问题:

  • 输出语言可能混乱(中英夹杂)
  • 不易读
  • 对齐性不够(拒答率低)

所以 DeepSeek 又做了 R1(基于 R1-Zero 加 SFT + 多轮 RL):

R1-Zero(纯 RL)→ 收集高质量 thinking 输出 → SFT R1 → 再做 GRPO → R1

最终 R1:推理强 + 输出清晰 + 对齐好。

3.5 R1 开源后的影响

R1 完全开源(包括权重 + 训练方法)后:

  • 6 个月内 Qwen、阿里、智谱、零一、百川 等都推出推理模型
  • 蒸馏小模型潮:R1 蒸馏到 Llama 8B、Qwen 7B 等,让小模型也能推理
  • 开源推理模型质量逼近 o3

四、推理模型的部署与使用

4.1 与传统 LLM 的部署区别

维度 传统 LLM 推理模型
平均输出长度 200-1000 token 5K-50K token
TTFT 200-500 ms 不变
端到端延迟 5-15 秒 30 秒 - 5 分钟
单请求成本 高 10-50×
适合场景 通用对话 复杂推理

4.2 部署 DeepSeek R1

# SGLang 部署 R1(推荐)
python -m sglang.launch_server \
    --model-path deepseek-ai/DeepSeek-R1 \
    --tp 8 \
    --ep 4 \
    --enable-deepep \
    --quantization fp8 \
    --kv-cache-dtype fp8 \
    --max-model-len 65536 \           # 思考链占用大
    --port 30000

关键参数变化

  • --max-model-len 65536:必须设大(thinking 链占满)
  • KV Cache 量化必开(thinking 让 KV 爆炸)

4.3 思考链可见性

不同模型对 thinking 的处理不同:

模型 思考可见?
OpenAI o1 / o3 不可见(只算 token)
OpenAI gpt-5(reasoning 模式) 部分可见
Claude 4.7 Thinking 可见
DeepSeek R1 完全可见
Qwen3 Thinking 可见
Gemini 2.5 Pro 部分可见

完全可见的好处

  • 调试方便
  • 信任度高(用户能看推理过程)
  • 可以做"思考链摘要"

完全不可见的好处

  • 保护商业机密(OpenAI 担心被蒸馏)
  • UI 简洁

4.4 流式输出的特殊处理

# 推理模型的流式输出要区分 thinking 和 answer
async for chunk in stream:
    if chunk.thinking:
        # 显示 "🤔 思考中..." 或折叠区
        update_ui(thinking_chunk=chunk.thinking)
    elif chunk.content:
        # 正常显示答案
        update_ui(answer_chunk=chunk.content)

用户体验设计

  • 思考过程:折叠 / “🤔 推理中” 动画
  • 最终答案:流式 / 高亮
  • 思考时长:明显展示(用户更愿意等)

4.5 Prompt 工程的变化

第 30 篇我们讲过——对推理模型,prompt 反而要更简洁

❌ 对推理模型不必要:
- "Let's think step by step"(它自己会)
- 复杂 CoT 提示
- 大量 few-shot 例子

✅ 推理模型友好:
- 清晰的任务描述
- 明确的输出要求
- 1-2 个例子(如有需要)

Anthropic 官方建议(Claude 4 Thinking)

对 thinking 模型,prompt 要:
- 简洁直接
- 明确"思考预算"
- 给"何时停止思考"的信号

五、2026 年的推理模型版图

5.1 闭源推理模型

模型 思考深度 价格(输出/M token)
OpenAI o3 极深 $40+
GPT-5(reasoning 模式) $40
Claude Opus 4.7 Thinking $75
Claude Sonnet 4.6 Thinking $15
Gemini 2.5 Pro(thinking) $10
Grok 3 Reasoning -

5.2 开源推理模型

模型 来源 思考能力
DeepSeek R1 DeepSeek 接近 o1 ⭐
DeepSeek R2(预计 2026 Q3) DeepSeek 接近 o3
Qwen3-Thinking-72B 阿里 接近 R1
GLM-4.5 Thinking 智谱 接近 R1
QwQ 系列 阿里 早期版本
DeepSeek-R1-Distill 多个版本 7B - 70B 蒸馏

5.3 蒸馏:让小模型也会推理

DeepSeek-R1-Distill 让端侧小模型也能推理:

R1 (671B)
  ↓ 蒸馏
DeepSeek-R1-Distill-Qwen-32B
  ↓
DeepSeek-R1-Distill-Llama-8B
  ↓
DeepSeek-R1-Distill-Qwen-1.5B   ← 手机能跑

实测(数学 AIME 2024):

模型 准确率 大小
GPT-4o 9% 闭源
Claude 3.5 Sonnet 16% 闭源
R1-Distill-1.5B 28% 1.5B(手机能跑)
R1-Distill-7B 55% 7B
R1-Distill-32B 72% 32B
DeepSeek R1 (671B) 79% 671B

1.5B 蒸馏模型超过 GPT-4o——这是 2026 年最震撼的事实之一。


六、推理模型的应用边界

6.1 什么场景该用推理模型

强烈推荐

  • 数学 / 物理 / 化学:明确对错的推理题
  • 代码生成 / Debug:复杂逻辑问题
  • 数据分析:多步骤推断
  • 复杂规划:旅行 / 项目 / 战略
  • 法律 / 医疗推理:需要严谨论证

推荐

  • 复杂 Agent 任务(多步规划)
  • RAG + 推理(检索后深度分析)
  • 创意写作(多次自我批评)

不推荐

  • 简单问答(杀鸡用牛刀)
  • 闲聊
  • 翻译 / 摘要(标准任务)
  • 实时对话(延迟敏感)
  • 大流量 ToC(成本太高)

6.2 经济性测算

假设业务每天 1 万次调用:

模型类型 单次平均 token 日成本
Claude Sonnet 4.6(标准) 500 ¥27
Claude Sonnet 4.6 Thinking 5000 ¥270
Claude Opus 4.7 Thinking 8000 ¥4320
DeepSeek V3(标准) 500 ¥4
DeepSeek R1(推理) 5000 ¥40

结论

  • 推理模型成本是普通的 10-50×
  • 必须有明确价值才划算
  • 国产推理模型成本远低于闭源

6.3 混合架构(生产最常用)

# 用小模型路由
async def smart_route(question):
    complexity = await classifier_model.classify(question)
    
    if complexity == "simple":
        return await chat_model.complete(question)         # 普通 LLM
    elif complexity == "medium":
        return await chat_model.complete(question, cot=True)   # 普通 + CoT
    else:  # complex
        return await reasoning_model.complete(question)    # 推理模型

实测:把 80% 简单请求路由到普通模型,总成本降 70%+

6.4 一个真实失败案例

某团队全面替换 Claude Sonnet 为 Claude Opus 4.7 Thinking:

  • 质量:复杂场景提升 30%
  • 延迟:用户反馈"太慢了"
  • 成本:月账单涨 8 倍
  • 结果:3 周后回滚

教训推理模型不是替代品,是补充品


七、推理模型的工程难点

7.1 KV Cache 爆炸

5000+ thinking tokens 让 KV Cache 增长 5-10 倍。

对策

  • KV Cache 量化(FP8 / INT8)
  • 分组多请求并发(不要一个请求独占)
  • thinking 完成后释放 thinking 部分的 KV(vLLM 0.7+ 支持)

7.2 长尾延迟

不同难度问题思考时长差异巨大:

  • 简单:5 秒
  • 中等:30 秒
  • 极难:5 分钟

对策

  • max_thinking_tokens 硬上限
  • 长任务异步化(先返回 task_id,完成后通知)
  • p99 延迟容忍度提高

7.3 流式 UX 设计

用户看到屏幕静默 30 秒会以为挂了。

对策

1. 立即显示「正在深度思考...」
2. 流式输出 thinking 内容(可折叠)
3. 实时显示已思考时长
4. 完成后高亮答案

7.4 评估难

推理模型的评估比传统 LLM 难:

  • 思考长度变化大
  • 思考质量难量化
  • 简单题 vs 难题表现差异巨大

对策

  • 用 AIME / MATH / SWE-Bench / GPQA 等推理 benchmark
  • 业务真实推理题准备 100+ 测试集
  • 不要看平均,看分级(简单 / 中等 / 难)

八、推理模型的未来

8.1 当下趋势

  1. 思考时长指数级增长:o3 单题可思考几十分钟
  2. 思考过程可控:用户能干预思考方向
  3. 多模态推理:图像 + 推理(Gemini 2.5)
  4. 小模型推理:蒸馏 + 端侧 thinking
  5. 思考成本下降:硬件 + 优化双向推进

8.2 推理 Scaling 的物理上限

传统 Scaling:参数翻倍 → 算力翻 4 倍
推理 Scaling:思考长度翻倍 → 单次成本翻倍

短期内,推理 Scaling 比训练 Scaling 更有性价比。但长期,思考长度也会遇到上限(用户耐心 + 经济性)。

8.3 与其他技术的融合

  • MoE + 推理:DeepSeek R1 已经在做(R1 基于 V3 MoE)
  • 多模态 + 推理:Gemini 2.5 / GPT-5
  • Agent + 推理:Devin / Claude Code
  • 小模型 + 推理蒸馏:R1-Distill 系列

九、避坑 + 下一篇预告

9.1 5 大避坑

坑 1:迷信「推理模型万能」

对策:不是所有任务都需要推理——简单任务用普通 LLM。

坑 2:忽视成本

对策:上线前算好月度成本,特别是 thinking tokens 部分。

坑 3:延迟设计不到位

对策:流式 UX + 异步任务 + 进度展示。

坑 4:prompt 写得太复杂

对策:推理模型 prompt 要简洁,让模型自己思考。

坑 5:没做能力评估

对策:用真实业务推理题评估,不要只跑通用 benchmark。

9.2 下一篇预告

  • 第 33 篇:端侧大模型 - Phi、Gemma 与小模型逆袭 —— 推理模型让小模型也能强推理。这一篇专门讲小模型在端侧的崛起。
  • 之后是开源 vs 闭源(34 篇)、大模型安全(35 篇,系列收官)。

结语:推理模型是 LLM 的「第二层智能」

读完本文你应该明白:

  • Test-Time Scaling 是与 Pre-training Scaling 并列的新范式
  • DeepSeek R1 完全公开了训练方法,开启开源推理时代
  • GRPO + 简单 reward + 大规模 RL = 涌现推理能力
  • R1 蒸馏让 1.5B 模型也能超过 GPT-4o
  • 生产场景应该混合架构:简单任务普通 LLM、复杂任务推理模型
  • 推理模型成本是 10-50×——业务价值要匹配

下一篇我们继续:

  • 第 33 篇:端侧大模型 —— 当小模型变得越来越强,部署边界从云转向端。

我们下篇见。


📮 关于「码海寻道」
这里是一个聚焦 AI 工程化、大模型部署、后端架构实战的技术专栏。
写最一线的踩坑经验,做最务实的技术拆解。

如果这篇文章对你有启发,欢迎点赞、转发、关注。我们下篇见。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐