第4章:推理模型专题 (Reasoning Models: O1 & DeepSeek-R1)#
当前最前沿的赛道。从 OpenAI 的闭源 o1 到 DeepSeek 的开源 R1,大模型终于学会了"慢思考"。本章深入探讨推理模型的理论基础、核心技术与实战应用。
目录#
一、推理模型的理论基础#
1. 什么是推理模型?#
推理模型(Reasoning Model)是指能够进行多步骤逻辑推理的大语言模型。与传统的"快速响应"模式不同,推理模型会:
- 展开思维链 - 将复杂问题分解为多个子问题
- 自我验证 - 检查中间步骤的正确性
- 回溯修正 - 发现错误时重新推理
这种能力在数学、代码、逻辑推理等任务上至关重要。
快速推理 vs 深度推理#
| 特性 | 快速推理 (Fast Thinking) | 深度推理 (Slow Thinking) |
|---|---|---|
| 响应时间 | 秒级 | 分钟级 |
| 思考步骤 | 1-3步 | 10-100+步 |
| 适用场景 | 闲聊、翻译、摘要 | 数学、编程、逻辑推理 |
| 代表模型 | GPT-4、Claude-3 | O1、R1 |
| 成本 | 低 | 高(10-50倍) |
graph LR
A[用户问题] --> B{是否需要深度推理?}
B -->|否| C[快速推理模型<br/>直接生成答案]
B -->|是| D[推理模型<br/>展开思维链]
D --> E[步骤1: 理解问题]
E --> F[步骤2: 制定方案]
F --> G[步骤3: 执行计算]
G --> H[步骤4: 验证答案]
H --> I{正确?}
I -->|否| F
I -->|是| J[输出最终答案]2. Chain-of-Thought (CoT) 的数学原理#
CoT 的核心思想是:让模型输出中间推理步骤,而不是直接给出答案。
2.1 传统生成 vs CoT生成#
传统方式(Direct Answer):
Q: Roger有5个网球。他又买了2罐网球,每罐3个球。他现在有多少个网球?
A: 11个CoT方式:
Q: Roger有5个网球。他又买了2罐网球,每罐3个球。他现在有多少个网球?
A: 让我一步步思考:
1. Roger最初有5个球
2. 他买了2罐,每罐3个,所以是 2×3=6个球
3. 总共: 5+6=11个球
答案: 11个2.2 为什么CoT有效? 概率视角#
设问题为 $q$,答案为 $a$,中间步骤为 $z$。
传统模型: 直接建模 $P(a|q)$
CoT模型: 建模 $P(a, z|q) = P(z|q) \cdot P(a|z, q)$
通过边际化: $$ P(a|q) = \sum_z P(z|q) \cdot P(a|z, q) $$
关键洞察: 即使单个路径 $P(z|q)$ 不准确,通过采样多条路径并投票(Self-Consistency),可以提高最终答案的准确率!
2.3 Self-Consistency: CoT的增强版#
算法流程:
- 对同一问题,采样 $N$ 条不同的推理链 ${z_1, z_2, …, z_N}$
- 提取每条链的最终答案 ${a_1, a_2, …, a_N}$
- 通过多数投票选出最终答案: $a^* = \arg\max_a \sum_{i=1}^N \mathbb{1}[a_i = a]$
graph TD
Q[问题: 2的8次方是多少?] --> S1[采样路径1:<br/>2×2=4, 4×2=8,<br/>8×2=16, ..., 答案:256]
Q --> S2[采样路径2:<br/>2^4=16, 16×16=256,<br/>答案:256]
Q --> S3[采样路径3:<br/>2×2×2×2×2×2×2×2=256,<br/>答案:256]
S1 --> V[投票]
S2 --> V
S3 --> V
V --> A[最终答案: 256<br/>置信度:3/3]二、推理时计算增强 (Test-Time Compute)#
1. 推理时计算:新的 Scaling Law#
从训练时到推理时的范式转变#
传统范式:性能 ∝ 训练时计算(模型参数、数据量、训练FLOPs)。
新范式:性能 = f(模型参数, 训练数据, 推理时计算)。
核心洞察:
- 在推理时"多思考几步",性价比远高于暴力增大模型。
- 小模型 + 长思考 ≈ 大模型 + 短思考。
2. 数学基础:搜索算法#
推理过程可以建模为状态空间搜索:
- 状态 $s_t$:当前推理链。
- 动作 $a_t$:生成下一步。
- 目标:找到通往正确答案的路径。
| 算法 | 策略 | 计算开销 | 适用场景 |
|---|---|---|---|
| Greedy | 每步选最佳 | 1x | 简单问题 |
| Beam Search | 保留 Top-K 路径 | Kx | 中等复杂度 |
| Best-of-N | 采样 N 次取最佳 | Nx | 不确定性高 |
| MCTS | 蒙特卡洛树搜索 | 10-100x | 复杂推理 (AlphaGo 范式) |
三、高级推理算法实战#
1. Tree-of-Thoughts (ToT)#
原理:让模型在思维树上进行 DFS/BFS 搜索,允许回溯(Backtracking)。
代码实现 (24点游戏求解器):
class ToTSolver:
"""Tree-of-Thoughts 求解器"""
def __init__(self, model):
self.model = model
def generate_thoughts(self, state, k=3):
"""生成 k 个后续步骤"""
prompt = f"当前状态:{state}\n请给出{k}个可能的下一步:"
return self.model.generate(prompt, n=k)
def evaluate_state(self, state):
"""评估状态价值 (0-1)"""
prompt = f"评估以下状态解决问题的可能性(0-10分):{state}"
score = self.model.generate(prompt)
return float(score) / 10
def bfs_solve(self, initial_state):
frontier = [(initial_state, 0)] # (状态, 分数)
while frontier:
# 1. 扩展 (Expansion)
current_state, _ = frontier.pop(0)
thoughts = self.generate_thoughts(current_state)
# 2. 评估 (Evaluation)
candidates = []
for thought in thoughts:
score = self.evaluate_state(thought)
if score > 0.8: # 剪枝
candidates.append((thought, score))
frontier.extend(candidates)
# 3. 检查结束条件
for cand, score in candidates:
if self.is_solved(cand):
return cand
return "无解"2. Best-of-N (Rejection Sampling)#
原理:单纯地"大力出奇迹"。生成 N 个答案,然后用验证器 (Verifier) 挑最好的。
- N=1: 18.1% (MATH数据集)
- N=10: 31.5%
- N=100: 42.3%
关键:你需要一个好的验证器(Reward Model 或 代码执行器)。
3. MCTS (蒙特卡洛树搜索)#
这是 AlphaGo 的核心,也是未来推理引擎的终极形态。
MCTS 四步循环#
- Selection (选择): 选择最有潜力的节点(利用 UCB 公式平衡探索与利用)。
- Expansion (扩展): 生成下一个 Token 或 步骤。
- Simulation (模拟): 快速模拟(Rollout)到底,看最终结果。
- Backpropagation (反向传播): 将结果价值反向传播,更新路径权重。
graph TD
A[根节点: 初始问题] --> B[Selection<br/>用UCB选择最优子节点]
B --> C[Expansion<br/>生成新的推理步骤]
C --> D[Simulation<br/>快速Rollout到终点]
D --> E[Evaluation<br/>评估最终答案质量]
E --> F[Backpropagation<br/>更新路径价值]
F --> BUCB (Upper Confidence Bound) 公式#
MCTS 的核心是平衡探索 (Exploration) 与利用 (Exploitation):
$$ \text{UCB}(s, a) = Q(s, a) + c \sqrt{\frac{\ln N(s)}{N(s, a)}} $$
其中:
- $Q(s, a)$: 动作 $a$ 的平均奖励 (利用项)
- $N(s)$: 父节点访问次数
- $N(s, a)$: 该动作被选择的次数
- $c$: 探索常数 (通常取 $\sqrt{2}$)
四、OpenAI O1:闭源先锋#
1. 核心架构推测#
OpenAI 从未公开 o1 的细节,但社区反推其核心机制为:隐式思维链 (Hidden CoT)。
- 训练目标:不仅要 Answer 正确,还要 Reasoning Chain 正确。
- RLHF 变体:使用 Process Reward Model (PRM) 对思维链的每一步进行打分。
2. PRM vs ORM: 两种奖励模型对比#
| 特性 | ORM (Outcome Reward Model) | PRM (Process Reward Model) |
|---|---|---|
| 评估对象 | 只看最终答案 | 评估每个推理步骤 |
| 训练信号 | 稀疏 (只在最后给奖励) | 密集 (每步都有反馈) |
| 优点 | 训练简单,标注成本低 | 能捕捉推理错误,泛化性更好 |
| 缺点 | 无法识别"歪打正着" | 标注成本高 (需要逐步标注) |
| 适用场景 | 简单任务 (翻译、摘要) | 复杂推理 (数学、代码) |
PRM 的训练流程#
graph LR
A[问题] --> B[生成推理链]
B --> C[人类标注员<br/>逐步打分]
C --> D[训练PRM模型]
D --> E[用PRM指导RL训练]
E --> F[更强的推理模型]关键数据集: OpenAI 在论文 Let’s Verify Step by Step 中公开了 PRM800K 数据集,包含 800K 个逐步标注的数学推理链。
3. O1 的效果与代价#
- 数学能力:在 AIME (高中数学奥赛) 上,GPT-4o 正确率 13%,o1 飙升至 83%。
- 代价:推理速度慢 10-50 倍,Token 成本高昂。
五、DeepSeek-R1:开源界的"盗火者"#
DeepSeek-R1 的发布证明了:纯强化学习 (Pure RL) 可以自发涌现出推理能力。
1. R1-Zero:从零开始的奇迹#
完全不使用人类标注的 SFT 数据,直接给模型一堆数学题,让它自己试错。
- Aha Moment (顿悟时刻):模型在数万次失败后,突然学会了"自我反思" (Self-Reflection) —— “等等,我刚才的思路好像不对,让我重新算一下”。
- 这种"自言自语"的能力不是人类教的,是为了拿到 RL 奖励而自发进化出来的。
graph TD
A[Base Model<br/>无推理能力] --> B[RL训练<br/>10000次失败]
B --> C[Aha Moment<br/>自发涌现自我反思]
C --> D[继续RL训练<br/>50000次]
D --> E[R1-Zero<br/>接近人类水平]2. 核心算法:GRPO (Group Relative Policy Optimization)#
这是 DeepSeek-R1 最重要的技术贡献。GRPO 通过 Group Normalization 巧妙地省略了 Value Model,使 RL 训练成本降低 50%。
GRPO 完整数学推导#
传统 PPO 的问题: 需要两个模型:
- Policy Model $\pi_\theta$: 生成输出
- Value Model $V_\phi$: 估计状态价值作为 Baseline
这导致:
- 显存翻倍(2个70B模型 = 280GB显存)
- 训练不稳定(Policy 和 Value 互相影响)
GRPO 的核心创新: 对每个问题 $q$,采样一组输出 ${o_1, …, o_G}$(通常 $G=4$ 或 $G=8$),用组内平均奖励代替 Value Model。
数学公式:
奖励归一化: $$ \hat{r}_i = \frac{r_i - \mu_G}{\sigma_G + \epsilon} $$ 其中:
- $\mu_G = \frac{1}{G}\sum_{i=1}^G r_i$ (组内均值,替代Value Model)
- $\sigma_G = \sqrt{\frac{1}{G}\sum_{i=1}^G (r_i - \mu_G)^2}$ (组内标准差)
- $\epsilon = 10^{-8}$ (数值稳定项)
策略梯度更新: $$ \mathcal{L}{\text{GRPO}} = -\mathbb{E}{q, {o_i}{i=1}^G} \left[ \sum{i=1}^G \hat{r}i \cdot \log \pi\theta(o_i | q) \right] $$
为什么 Group Normalization 有效?
- 假设:同一问题的多个采样,它们的期望价值应该相近(都是从同一个 Policy 采样的)。
- 结论:组平均值 $\mu_G$ 是该状态真实价值 $V(q)$ 的无偏估计。
- 降噪:通过归一化,将奖励信号标准化,避免不同问题的奖励尺度差异。
PyTorch 完整实现#
import torch
import torch.nn.functional as F
def grpo_loss(policy_model, questions, group_size=4, temperature=1.0):
"""
GRPO 损失函数实现
Args:
policy_model: 策略模型 (LLM)
questions: 问题列表 [batch_size]
group_size: 每个问题采样的输出数量
temperature: 采样温度
"""
batch_size = len(questions)
all_outputs = []
all_log_probs = []
all_rewards = []
# 1. 对每个问题采样 G 个输出
for q in questions:
outputs = policy_model.generate(
q,
n=group_size,
temperature=temperature,
return_log_probs=True # 需要返回每个Token的log概率
)
# 2. 计算每个输出的奖励 (通过验证器)
rewards = [verify_answer(q, o.text) for o in outputs]
all_outputs.extend([o.text for o in outputs])
all_log_probs.extend([o.log_prob for o in outputs])
all_rewards.extend(rewards)
# 3. 转为 Tensor
log_probs = torch.tensor(all_log_probs, dtype=torch.float32)
rewards = torch.tensor(all_rewards, dtype=torch.float32)
# 4. 按组计算归一化优势 (Group Normalization)
advantages = []
for i in range(batch_size):
start_idx = i * group_size
end_idx = start_idx + group_size
group_rewards = rewards[start_idx:end_idx]
# 组内归一化
mean_r = group_rewards.mean()
std_r = group_rewards.std()
# 避免除零
if std_r < 1e-8:
group_advantages = torch.zeros_like(group_rewards)
else:
group_advantages = (group_rewards - mean_r) / (std_r + 1e-8)
advantages.append(group_advantages)
advantages = torch.cat(advantages)
# 5. Policy Gradient 损失
# 只强化那些比组平均好的输出 (Advantage > 0)
loss = -(log_probs * advantages).mean()
return loss
def verify_answer(question, output):
"""
验证器:检查答案是否正确
返回: 1.0 (正确) 或 0.0 (错误)
"""
# 对于数学题,可以执行代码验证
# 对于代码题,可以运行测试用例
# 这里简化为规则匹配
try:
predicted_ans = extract_answer(output)
ground_truth = get_ground_truth(question)
return 1.0 if predicted_ans == ground_truth else 0.0
except:
return 0.0GRPO vs PPO 对比#
| 特性 | PPO | GRPO |
|---|---|---|
| 需要Critic | 是 (Value Model) | 否 |
| 显存占用 | 2x模型参数 | 1x模型参数 |
| 训练稳定性 | 中等 (需要调整多个超参数) | 高 (只有一个温度参数) |
| 收敛速度 | 较慢 | 较快 |
| 适用场景 | 通用RL | 有明确验证器的任务 |
3. “蒸馏” (Distillation):R1 给小模型的礼物#
DeepSeek 证明了:推理能力可以被蒸馏。
- 用 R1 (671B) 生成数百万条高质量的思维链数据。
- 用这些数据去 SFT 一个小模型 (如 Qwen-7B)。
- 结果:小模型也能拥有强大的数学推理能力,且不需要昂贵的 RL 训练。
graph LR
A[R1 671B<br/>强大推理能力] --> B[生成1M+<br/>高质量思维链]
B --> C[SFT训练<br/>小模型7B]
C --> D[Distilled Model<br/>70%的R1能力]六、复现 R1 的完整路线图#
如果你想训练自己的推理模型:
阶段1: 冷启动 (Cold Start) - DeepSeek-R1 的关键发现#
目标: 让模型学会"说话方式"(思维链的格式规范)
为什么 Cold Start 数据至关重要?#
DeepSeek-R1 论文明确指出:如果直接对 Base Model 进行 RL 训练,模型会学到错误的格式规范。
问题场景:
- Base Model 不知道如何表达"让我思考一下"
- RL 训练时,模型可能学会输出大量无意义的重复(如 “…” 重复1000次)来拖延时间
- 这种"格式崩溃"会导致后续 RL 训练完全失败
Cold Start 的作用: 通过少量(1K-10K条)高质量 SFT 数据,教会模型:
- 格式规范:如何用自然语言表达推理过程
- 思维链结构:如何分步骤、有逻辑地推理
- 元认知能力:学会说"等等,我刚才算错了"
DeepSeek-R1 的实践:
- 使用 长思维链数据(从 R1-Zero 或 o1 生成)
- 数据量不需要多(5K-10K 足够)
- 关键是质量和格式规范性
# 准备少量高质量SFT数据 (1K-10K条)
# 关键:必须包含完整的推理链,而不是简单的问答对
sft_data = [
{
"question": "计算 15 × 23",
"reasoning": """让我仔细计算:
**思路**: 使用分配律简化计算
**步骤 1**: 将 23 分解为 20 + 3
15 × 23 = 15 × (20 + 3)
**步骤 2**: 分别计算
- 15 × 20 = 300
- 15 × 3 = 45
**步骤 3**: 相加
300 + 45 = 345
**验证**: 用竖式验证...
(此处展示竖式过程)
**结论**: 答案是 345""",
"answer": "345"
},
{
"question": "证明: 根号2 是无理数",
"reasoning": """这是一个经典的反证法证明。
**假设**: 假设 √2 是有理数
**推导 1**: 则存在互质的整数 p, q,使得 √2 = p/q
**推导 2**: 两边平方...
(此处展开详细推理过程,包含自我质疑)
等等,我需要检查一下这里的逻辑是否严谨...
(展示自我修正过程)
**结论**: 矛盾!因此原假设错误,√2 是无理数。""",
"answer": "√2 是无理数(已证明)"
}
]
# 使用标准SFT训练
# 注意:这一步不追求性能,只追求格式规范
model = train_sft(base_model, sft_data, epochs=2-3, lr=1e-5)Cold Start 数据的质量标准#
| 维度 | 要求 | 反例(应避免) |
|---|---|---|
| 推理长度 | 100-500 tokens | 直接给答案(<20 tokens) |
| 逻辑完整性 | 每步都有因果关系 | 跳步推理、突然给出结论 |
| 元认知 | 包含"让我检查一下"等反思 | 从不自我修正 |
| 格式规范 | 使用标题、列表、公式 | 纯文本堆砌 |
| 错误处理 | 展示发现错误并修正的过程 | 从不犯错(不真实) |
关键结论:Cold Start 是 RL 训练的"地基"。没有这一步,后续的 GRPO 训练会因为格式崩溃而失败。
阶段2: 推理增强 (RL)#
目标: 使用 GRPO 算法,在数学/代码数据集上进行大规模强化学习
# 准备数学题数据集 (MATH, GSM8K, etc.)
math_problems = load_dataset("math_problems")
# GRPO训练循环
for epoch in range(100):
for batch in math_problems:
# 1. 采样多个输出
outputs = model.generate(batch, n=8, temperature=0.8)
# 2. 用验证器评分
rewards = [verify_answer(q, o) for q, o in zip(batch, outputs)]
# 3. 计算GRPO损失并更新
loss = grpo_loss(model, outputs, rewards)
loss.backward()
optimizer.step()阶段3: 拒绝采样 (Rejection Sampling)#
目标: 在推理阶段,生成多个答案,保留经过验证器通过的那一个
def inference_with_rejection_sampling(question, n=64):
# 生成 N 个候选答案
candidates = model.generate(question, n=n, temperature=0.7)
# 用验证器筛选
verified = [c for c in candidates if verify(question, c)]
# 返回第一个通过验证的答案
return verified[0] if verified else candidates[0]七、实战案例:构建数学推理系统#
完整代码示例#
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
class MathReasoningSystem:
def __init__(self, model_name="deepseek-ai/deepseek-math-7b"):
self.model = AutoModelForCausalLM.from_pretrained(model_name)
self.tokenizer = AutoTokenizer.from_pretrained(model_name)
def solve_with_cot(self, problem):
"""使用 Chain-of-Thought 解题"""
prompt = f"""请一步步解决以下数学问题:
问题: {problem}
解答: 让我仔细思考:"""
inputs = self.tokenizer(prompt, return_tensors="pt")
outputs = self.model.generate(
**inputs,
max_length=512,
temperature=0.7,
do_sample=True
)
return self.tokenizer.decode(outputs[0])
def solve_with_self_consistency(self, problem, n=5):
"""使用 Self-Consistency 提高准确率"""
answers = []
# 采样 N 次
for _ in range(n):
solution = self.solve_with_cot(problem)
answer = self.extract_answer(solution)
answers.append(answer)
# 多数投票
from collections import Counter
return Counter(answers).most_common(1)[0][0]
def extract_answer(self, solution):
"""从解答中提取最终答案"""
# 简化实现: 提取最后一个数字
import re
numbers = re.findall(r'\d+', solution)
return numbers[-1] if numbers else None
# 使用示例
system = MathReasoningSystem()
problem = "如果一个班级有 25 名学生,老师要把他们分成 5 组,每组多少人?"
# 方法1: 单次CoT
answer1 = system.solve_with_cot(problem)
print("CoT答案:", answer1)
# 方法2: Self-Consistency
answer2 = system.solve_with_self_consistency(problem, n=5)
print("Self-Consistency答案:", answer2)八、关键技术对比总结#
推理技术演进路线#
graph LR
A[Direct Answer<br/>直接输出] --> B[CoT<br/>单条思维链]
B --> C[Self-Consistency<br/>多路径投票]
C --> D[ToT<br/>树形搜索]
D --> E[MCTS<br/>蒙特卡洛树搜索]
E --> F[O1/R1<br/>RL强化推理]各技术适用场景#
| 技术 | 计算成本 | 准确率提升 | 适用场景 | 是否需要训练 |
|---|---|---|---|---|
| CoT | 1x | +5-10% | 所有推理任务 | 否 (Prompt即可) |
| Self-Consistency | 5-10x | +10-20% | 不确定性高的任务 | 否 |
| ToT | 10-20x | +15-25% | 需要规划的任务 | 否 |
| Best-of-N | Nx | +20-30% | 有验证器的任务 | 否 |
| MCTS | 50-100x | +25-35% | 复杂博弈/规划 | 需要Value Model |
| O1/R1 | 10-50x | +40-60% | 数学、代码、逻辑 | 需要大规模RL训练 |
九、未来展望与研究方向#
1. 开放问题#
- 可解释性: 思维链是否真的反映模型内部推理过程?
- 效率优化: 如何在保持准确率的同时降低推理成本?
- 泛化能力: 数学推理能力能否迁移到其他领域?
2. 前沿研究方向#
- 混合推理系统: 结合符号推理与神经网络
- 自适应推理: 根据问题难度动态调整推理深度
- 多模态推理: 将推理能力扩展到图像、视频等模态
3. 工程实践建议#
选择合适的技术栈:
# 简单任务 (闲聊、翻译)
if task_complexity == "low":
use_direct_generation()
# 中等任务 (简单数学、代码)
elif task_complexity == "medium":
use_cot_prompting()
# 如果准确率不够, 加上 self_consistency()
# 复杂任务 (奥赛数学、复杂规划)
else:
if has_verifier:
use_best_of_n(n=64)
else:
use_tree_of_thoughts()
# 终极方案: 训练自己的推理模型
if budget_is_large:
train_reasoning_model_with_rl()十、参考资源#
论文#
Chain-of-Thought:
- Chain-of-Thought Prompting Elicits Reasoning in Large Language Models (Wei et al., 2022)
- Self-Consistency Improves Chain of Thought Reasoning (Wang et al., 2023)
Process Reward Models:
- Let’s Verify Step by Step (Lightman et al., 2023) - OpenAI PRM论文
DeepSeek-R1:
- DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning (DeepSeek, 2025)
Test-Time Compute:
- Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters (Snell et al., 2024)
开源项目#
- DeepSeek-R1: https://github.com/deepseek-ai/DeepSeek-R1
- Tree-of-Thoughts: https://github.com/princeton-nlp/tree-of-thought-llm
- OpenAI PRM800K: https://github.com/openai/prm800k
实用工具#
- 推理模型API: OpenAI o1, DeepSeek-R1
- 本地部署: vLLM, TensorRT-LLM (支持推理优化)
- 评估工具: MATH dataset, GSM8K, AIME
本章总结#
推理模型代表了大模型发展的新方向:从快速直觉到慢速逻辑。
核心要点:
- 理论基础: CoT 通过边际化中间步骤提高准确率
- 算法进化: Direct → CoT → Self-Consistency → ToT → MCTS → RL
- 两大流派: OpenAI O1 (闭源 + PRM) vs DeepSeek-R1 (开源 + GRPO)
- 关键技术: Process Reward Model, GRPO, Rejection Sampling
- 工程实践: 根据任务复杂度选择合适的推理策略
最重要的洞察: 推理能力不是玄学,而是可以通过强化学习 + 验证器系统化地训练出来的。DeepSeek-R1 的成功证明了,即使是中小团队,也能在推理模型这条赛道上做出世界级的工作。
DeepMind 的研究表明:推理预算 (Compute Budget) 是继参数量、数据量之后的第三个 Scaling 维度。通过 ToT/MCTS/RL,我们让 LLM 从 “基于检索的直觉” 进化为 “基于搜索的逻辑”。
下一章预告: 第5章 - 模型安全与可解释性
在下一章中,探讨如何给 AI 装上"刹车"(Safety)和"显微镜"(Interpretability),包括 Prompt Injection 防御、机械可解释性以及稀疏自编码器(SAE)实战。