AI 大模型的推理:理论全景与交互模拟
从「预测下一个词」到「想清楚再回答」——这一页把大模型实现推理功能所依赖的 全部核心理论(历史脉络、标准定义、关键公式、通俗解释)、 不同技术方案的横向对比,以及一个可以亲手点开的 推理模拟器放在一起。模拟器里的每一次概率计算都是真实执行的。
目录
1. 先厘清:大模型里的「推理」有两层含义
中文里「推理」这个词在大模型语境下被混用了,但它其实对应两个完全不同的技术对象。 把这两层分开,后面的所有理论才能各归其位。
1.1 推断(Inference):一次前向计算
1.2 推理(Reasoning):一系列中间步骤
2. 历史脉络:从 n-gram 到推理模型
图灵测试提出:机器能否表现出与人类无法区分的智能行为。这是「机器推理」问题的起点。
感知机(Perceptron):Rosenblatt 提出可学习的线性分类器,第一次让「从数据中学参数」成为可能。
反向传播被系统化(Rumelhart、Hinton、Williams):多层网络的梯度可以被高效计算,深度学习的地基出现。
统计语言模型:n-gram + 平滑 + 困惑度成为主流。IBM 的统计机器翻译把「概率化语言建模」推向工程化。
神经语言模型(Bengio 等):用词向量 + 前馈网络预测下一个词,首次摆脱 n-gram 的稀疏性问题。
word2vec:词的分布式表示普及,语义可以「算」出来。
Seq2Seq + 注意力雏形(Bahdanau 等):编码器-解码器结构配注意力对齐,翻译质量跃升。
Transformer(Vaswani 等,《Attention Is All You Need》):完全用注意力替代循环, 序列计算可并行化。这是今天所有大模型的骨架。
GPT-1 / BERT:「预训练 + 微调」范式确立。生成式与理解式两条路线分叉。
GPT-2:15 亿参数,零样本能力初现,「大模型」这个词开始流行。
GPT-3(1750 亿参数)+ Scaling Laws(Kaplan 等): 发现模型能力随参数量、数据量、算力呈幂律提升,且提出「上下文学习(In-Context Learning)」。
指令微调(FLAN):让模型「听懂人话」,是后续一切推理能力对齐的前提。
思维链 CoT(Wei 等,1 月):只要在示例里写推理步骤,模型就能学会分步推理。 自洽性 Self-Consistency(Wang 等,3 月):多条推理链投票。 零样本 CoT(Kojima 等,5 月):只需一句 "Let's think step by step"。 ReAct(Yao 等,10 月):推理与工具调用交替。 InstructGPT / ChatGPT(11 月):RLHF 让对齐后的推理可用。
GPT-4、思维树 ToT(Yao 等,5 月)、思维图 GoT、Least-to-Most、 PAL / PoT(把计算交给代码解释器)、Reflexion(自我反思)、 过程奖励模型 PRM(Lightman 等)。开源侧 LLaMA / Mistral / MoE 架构普及。
o1(9 月):把「测试时计算扩展」做成产品——用强化学习训练模型生成长思维链, 推理时用更多算力换更高准确率。Qwen2.5 / Llama 3.1 等开源模型全面跟进长上下文。
DeepSeek-R1(1 月):用 GRPO + 可验证奖励(RLVR) 纯强化学习激发推理能力, 并将推理链蒸馏进小模型,证明「推理能力可以被压缩」。扩散式语言模型(LLaDA、d1)探索非自回归路线。
推理模型成为标配;研究重心转向推理效率(长度控制、自适应思考)、 可验证奖励的扩展、多模态推理与智能体长程规划。
3. 底层理论:为什么「预测下一个词」能算出答案
3.1 语言模型 = 条件概率的链式分解
注意这个分解是恒等的,没有做任何近似——它不限制模型能力,只规定了计算顺序。 大模型「一次只吐一个字」不是因为能力不够,而是因为这是唯一一种把 $T$ 个 token 的联合分布 拆成 $T$ 个可控小问题的精确方式。
3.2 交叉熵与困惑度:训练目标从哪来
困惑度(Perplexity)是交叉熵的指数形式,可解释为「模型平均在多少个词之间犹豫」:
3.3 为什么神经网络能拟合这个函数
⚠️ 补充:通用逼近定理只保证「存在」这样的网络,不保证梯度下降能找到它,也不保证泛化。 实践中之所以能 work,靠的是过参数化 + 海量数据 + 良好优化的经验组合,而非定理本身。
3.4 缩放点积注意力:Transformer 的心脏
其中 $\sqrt{d_k}$ 是缩放因子:当维度很高时点积方差随 $d_k$ 增长,softmax 会进入饱和区、梯度消失,除以 $\sqrt{d_k}$ 把方差拉回 1。
多头注意力让模型在不同子空间并行关注不同关系:
因果掩码(Causal Mask)保证第 $t$ 个位置只能看到 $\le t$ 的位置, 这是自回归生成不「偷看未来」的技术保证:
3.5 Transformer 块:残差 + 归一化 + 前馈
一个广为接受的直觉解释:FFN 的记忆容量与参数量正相关,注意力负责检索,FFN 负责存储知识。 这也解释了为什么 MoE(混合专家)主要替换 FFN 层——它就是在扩大「知识库」而不显著增加计算量。
3.6 位置编码:没有它,Transformer 分不清语序
其他方案:ALiBi(在注意力分数上按距离线性惩罚)、可学习绝对位置嵌入(早期 GPT/BERT 用,外推能力差)。
3.7 从 logits 到 token:解码策略
常见策略:
- 贪心(Greedy):$x_t=\arg\max_i p_i$。确定、可复现,但容易重复、缺乏多样性。
- 束搜索(Beam Search):保留 $k$ 条最优前缀,按长度归一化分数排序:
$\text{score}(y)=\frac{1}{|y|^{\alpha}}\sum_t \log p(y_t\mid x,y_{
- Top-k 采样:只在概率最高的 $k$ 个候选里采样。
- Top-p(核采样):取累积概率达到 $p$ 的最小候选集合再采样。候选集大小自适应。
- 温度:$T<1$ 分布更尖锐(更确定),$T>1$ 更平坦(更随机),$T\to 0$ 退化为贪心。
3.8 KV Cache:让推理变快的工程理论
3.9 缩放定律:为什么「更大」就是「更聪明」
Chinchilla(Hoffmann 等,2022)进一步给出最优配比:在给定算力预算下,参数与训练 token 数应大致满足 $N_{\text{opt}}\approx 20\,D$。
重要 缩放定律描述的是损失的下降,而推理能力并非平滑涌现—— 在某个规模阈值上,CoT 这类能力会「突然」出现,这就是所谓的 emergent ability(涌现能力)。 不过近年也有研究质疑涌现现象部分是评价指标不连续造成的假象。
4. 推理能力的理论:如何让模型「想清楚」
4.1 思维链 Chain-of-Thought(CoT)
为什么有效?三重机制:
- 计算深度:每个生成的 token 都会经过一次完整的前向传播,等于增加了模型的串行计算步数。
- 条件化:中间结果被写进上下文,后续步骤不必从原始问题重新推导,降低了单步难度。
- 训练分布对齐:预训练语料中的解题文本本身带步骤,CoT 唤醒了这部分分布。
零样本 CoT(Kojima 等,2022):不加示例,只追加一句 Let's think step by step. 就能大幅提升推理准确率。
4.2 自洽性 Self-Consistency
代价:推理成本线性增长 $K$ 倍。这是「测试时计算换准确率」的第一个实用化范例。
4.3 思维树 Tree of Thoughts(ToT)与思维图 GoT
思维图 GoT(Besta 等,2023)进一步允许思维节点合并、循环, 形成有向图,适合需要「汇总多个中间结论」的任务。
4.4 ReAct:推理与行动交替
Thought(推理)、Action(工具调用)、Observation(环境返回)。
推理轨迹用于规划,动作用于获取外部信息,观察结果回填上下文。
这是当前 Agent(智能体)范式的理论基石。
4.5 分解式提示:Least-to-Most 与程序辅助
- Least-to-Most Prompting(Zhou 等,2022):先把复杂问题分解成子问题序列, 再依次求解,每个子问题的答案作为下一个子问题的输入。
- PAL / PoT(Gao 等 2022;Chen 等 2022):让模型生成可执行的 Python 代码, 把算术、符号运算交给解释器,模型只负责「翻译」和「规划」。
4.6 自我精炼与反思
- Self-Refine(Madaan 等,2023):生成 → 自我批评 → 修订,循环迭代。
- Reflexion(Shinn 等,2023):把失败经验写成语言化的「反思记忆」,在下一次尝试时读入上下文。
4.7 奖励模型:ORM vs PRM
核心对比:
| 维度 | ORM(结果奖励) | PRM(过程奖励) |
|---|---|---|
| 监督信号来源 | 最终答案对错,自动可判 | 每一步的正确性标注 |
| 标注成本 | 低(自动) | 高(人工或蒙特卡洛估计) |
| 信用分配 | 差:所有步骤共享一个分数 | 好:错误可定位到具体步骤 |
| 是否易被 hack | 是:答案对但推理错也能得高分 | 较低 |
| 典型用途 | 偏好对齐、Best-of-N 重排序 | 树搜索引导、过程强化学习 |
4.8 测试时计算扩展(Test-Time Compute Scaling)
关键前提:必须有可靠的验证器(verifier)。数学、代码这类任务答案可自动验证,因此测试时扩展收益最大。
4.9 强化学习激发推理:RLHF / PPO / GRPO / RLVR
-
RLHF(基于人类反馈的强化学习):用人类偏好数据训练奖励模型,再用 RL 优化策略。
经典算法是 PPO,其裁剪目标为:
$$L^{\text{CLIP}}(\theta)=\mathbb{E}_t\Bigl[\min\bigl(r_t(\theta)\hat{A}_t,\; \mathrm{clip}(r_t(\theta),1-\epsilon,1+\epsilon)\hat{A}_t\bigr)\Bigr],\quad r_t(\theta)=\frac{\pi_\theta(a_t\mid s_t)}{\pi_{\theta_{\text{old}}}(a_t\mid s_t)}$$
-
DPO(直接偏好优化):跳过奖励模型,直接在偏好数据上优化:
$$\mathcal{L}_{\text{DPO}}=-\mathbb{E}\Bigl[\log\sigma\Bigl(\beta\log\frac{\pi_\theta(y_w\mid x)}{\pi_{\text{ref}}(y_w\mid x)} -\beta\log\frac{\pi_\theta(y_l\mid x)}{\pi_{\text{ref}}(y_l\mid x)}\Bigr)\Bigr]$$
- RLVR(可验证奖励的强化学习):奖励不用人类标注,而由规则自动判定 (数学答案是否相等、代码是否通过单元测试)。DeepSeek-R1 证明仅靠 RLVR 就能让基座模型自发涌现出长链推理、自我检查、回溯等行为。
-
GRPO(Group Relative Policy Optimization):去掉 PPO 中的价值网络(critic),
对同一问题采样一组输出,用组内归一化得分作为优势:
$$\hat{A}_i=\frac{r_i-\mathrm{mean}(r_1,\dots,r_G)}{\mathrm{std}(r_1,\dots,r_G)}$$ $$\mathcal{J}_{\text{GRPO}}(\theta)=\mathbb{E}\Bigl[\frac{1}{G}\sum_{i=1}^{G} \min\Bigl(\rho_i\hat{A}_i,\;\mathrm{clip}(\rho_i,1-\epsilon,1+\epsilon)\hat{A}_i\Bigr) -\beta\,D_{\text{KL}}\bigl(\pi_\theta\,\|\,\pi_{\text{ref}}\bigr)\Bigr]$$
好处:省掉与策略同规模的价值网络,显存和计算开销大幅降低。
4.10 推理蒸馏:把大模型的思考能力塞进小模型
5. 方案对比:六张表看清路线分歧
表 1:推理机制 —— 自回归 vs 扩散式
| 维度 | 自回归解码(主流) | 扩散式并行解码(新兴) |
|---|---|---|
| 生成方式 | 从左到右,一次生成一个 token | 从噪声出发,多轮去噪,一次修改多个位置 |
| 概率建模 | 精确链式分解 $P(x)=\prod P(x_t\mid x_{| 近似:学习去噪分布 $p_\theta(x^{(t-1)}\mid x^{(t)})$ | |
| 代表工作 | GPT / Llama / Qwen / DeepSeek | LLaDA、d1、Gemini Diffusion |
| 优势 | 成熟、可控、KV Cache 高效、生态完备 | 并行生成、双向上下文、可「编辑式」修改 |
| 劣势 | 串行,长链推理延迟高 | 训练难、步数敏感、长文本一致性待验证 |
| 当前地位 | 绝对主流 | 研究前沿,尚未大规模替代 |
表 2:解码策略对比
| 策略 | 规则 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 贪心 | $\arg\max p_i$ | 确定、快、可复现 | 重复、缺乏多样性 | 事实问答、代码补全 |
| 束搜索 | 保留 top-k 前缀 | 整体序列概率高 | 计算 ×k,输出平淡 | 翻译、摘要 |
| 温度采样 | $p_i \propto e^{z_i/T}$ | 多样、可控 | 可能跑偏 | 创作、多解问题 |
| Top-k | 前 k 个中采样 | 简单有效 | k 固定不自适应 | 通用对话 |
| Top-p | 累积概率 ≥ p 的最小集 | 候选集自适应 | 概率分布尖锐时仍可能过窄 | 通用对话、推理 |
| Best-of-N + 验证器 | 采样 N 条再重排序 | 准确率显著提升 | 成本 ×N,依赖验证器 | 数学、代码 |
表 3:让模型学会推理的四条路径
| 路径 | 核心做法 | 训练成本 | 效果 | 局限 |
|---|---|---|---|---|
| 纯提示 Zero-shot CoT |
在 prompt 里加 "Let's think step by step" | 零 | 中等,依赖基座能力 | 能力上限受基座限制;长链容易崩 |
| 少样本示例 Few-shot CoT |
给几个带推理步骤的示例 | 零 | 较好 | 占上下文;示例质量敏感 |
| 监督微调 / 蒸馏 SFT / Distill |
用强模型生成的推理链做 SFT | 中 | 好,稳定可控 | 上限受教师模型限制;易学表面格式 |
| 强化学习 RLVR / GRPO |
用可验证奖励直接优化策略 | 高(算力密集) | 最强,能涌现回溯、自检等行为 | 只适用于可验证任务;训练不稳定 |
表 4:推理结构对比
| 结构 | 推理形态 | 搜索能力 | 计算成本 | 典型场景 |
|---|---|---|---|---|
| 线性 CoT | 一条链走到底 | 无回溯 | ×1 | 常规数学、逻辑题 |
| 自洽性 | K 条独立链投票 | 无,但容错 | ×K | 有唯一答案的任务 |
| 思维树 ToT | 树形扩展 + 评估 + 回溯 | 强(BFS/DFS) | ×K×深度 | 规划、谜题、写作提纲 |
| 思维图 GoT | 图结构,支持合并与循环 | 最强 | 最高 | 需要多路信息汇总的任务 |
| MCTS + PRM | 蒙特卡洛树搜索 + 过程奖励引导 | 强,样本效率高 | 高 | 数学证明、代码搜索 |
| ReAct | 推理与工具调用交替 | 依赖外部反馈 | 取决于工具调用次数 | 检索问答、智能体任务 |
表 5:显式推理 vs 隐式推理
| 维度 | 显式 CoT(输出自然语言步骤) | 隐式推理(潜空间推理) |
|---|---|---|
| 推理载体 | 可见的 token 序列 | 连续的隐状态向量 |
| 代表工作 | CoT、ToT、o1/R1 长思维链 | Coconut(连续思维链)、隐式 CoT |
| 可解释性 | 高,可审计、可人工干预 | 低,是「黑盒思考」 |
| 效率 | 低:每个思考步都要过一次前向 | 高:一步隐状态可承载多个推理步 |
| 可训练性 | 成熟 | 仍在探索,训练信号难设计 |
| 当前应用 | 几乎所有推理模型 | 研究阶段 |
表 6:训练时扩展 vs 测试时扩展
| 维度 | 训练时扩展(Train-time Scaling) | 测试时扩展(Test-time Scaling) |
|---|---|---|
| 做法 | 增大模型、增加数据、延长训练 | 增加推理时的采样数 / 思考长度 / 搜索 |
| 成本发生点 | 一次性,前置于部署 | 每次请求都发生,随用量线性增长 |
| 收益曲线 | 幂律,边际递减但稳定 | 先快后慢,且存在「过度思考反而变差」的拐点 |
| 依赖条件 | 算力、数据 | 可靠的验证器 / 奖励模型 |
| 典型代表 | GPT-4、Llama 3 405B | o1、R1、自洽性、Best-of-N |
| 适用性 | 通用能力提升 | 难题(数学、代码、规划)收益最大 |
6. 交互模拟:亲手跑一遍大模型的推理
下面这个模拟器演示的是推理最底层的机制:自回归解码 + 注意力聚合 + Softmax 采样。 每一步的 softmax 概率都是真实计算的,不是预先写死的数字。
题目:「小明有 3 个苹果,又买了 2 个,一共有几个?」
模型将要生成的答案是 5 个 。,分三步完成。
① 上下文序列(模型此刻能看到的全部 token)
紫色 = 原始提示词,绿色 = 模型已经生成的内容。 高亮深浅代表当前这一步的注意力权重。
② 注意力:这一步在「看」哪里
权重由 $\mathrm{softmax}(QK^\top/\sqrt{d_k})$ 产生(此处为示意数值)。 注意力决定了哪些历史信息会被聚合进当前表示。
③ 输出层:logits → 概率分布
等待开始…
④ 已生成的输出
这个输出会被追加回上下文,成为下一步预测的条件——这就是自回归的核心回路。
6.1 这个模拟器揭示的三条推理逻辑
- 推理 = 条件概率的逐步分解。 模型从来不会「一眼看出答案」。它在第 1 步只做一件事: 在上下文为「小明有3个苹果,又买了2个,一共有几个?」时,预测下一个 token 的分布, 并从中取出「5」。第 2 步的输入包含了「5」,第 3 步的输入包含「5 个」。 答案是一步步被「拼」出来的。
- 注意力 = 信息路由。 生成「5」时,注意力权重集中在「3」「2」「一共」这几个位置上。 这不是巧合:模型必须把两个数字从长上下文里「取出来」放到一起, 才能让后面的 FFN 计算出它们的和。注意力负责「找」,FFN 负责「算」。
- 温度 = 探索与利用的旋钮。 把 T 调到 0.1,「5」的概率会逼近 100%,输出完全确定; 调到 2.0,分布被抹平,模型可能选中「6」或「7」——这就是幻觉的来源之一。 推理任务通常用低温,创作任务用高温。
6.2 从「一步推理」到「思维链推理」
上面的例子只有一个推理步。当问题变难时会发生什么?考虑: 「一个商店有 24 个苹果,上午卖掉 1/3,下午卖掉剩下的 1/2,还剩多少个?」
✗ 直接回答(无 CoT)
- 模型必须在单次前向传播里完成全部分解、计算、合并
- 相当于要求一个人「心算三步并且不许写草稿」
- 中间结果无处存放,无法复查
- 结果:容易答成 24×(1−1/3−1/2)=4 这类错误
✓ 思维链回答(CoT)
- 「上午卖掉:24 × 1/3 = 8 个」——第 1 次前向
- 「剩下:24 − 8 = 16 个」——第 2 次前向,条件包含上一步
- 「下午卖掉:16 × 1/2 = 8 个」——第 3 次前向
- 「最后剩下:16 − 8 = 8 个」——第 4 次前向
本质上,CoT 把「一次困难的前向计算」换成了「多次简单的前向计算 + 中间结果的显式存储」。 每一行草稿都是一个 token,都经过一次完整的 Transformer 前向传播—— 等于把模型的有效计算深度从固定的 $L$ 层扩展到了 $L \times$ 推理步数。
这也解释了为什么「测试时计算扩展」有效: 多生成一步草稿,就多一次前向传播的机会,就多一层可用的计算深度。 代价是延迟和算力,收益是多步推理的准确率。
自回归分解提供了「一次算一步」的机制 → 注意力负责在历史中检索相关信息 → FFN负责对信息做非线性变换 → Softmax 解码决定输出哪个 token → 输出的 token 回填上下文,形成回路 → 当这个回路被训练成「先写推理步骤再写答案」时, 就得到了 思维链 → 再用可验证奖励做强化学习, 模型就会自发学会回溯、验证、分解——这就是今天推理模型背后的完整逻辑链。
说明:本页模拟器为教学目的做了必要的简化—— 注意力权重与 logits 为示意数值,但 softmax、温度缩放、概率采样的计算过程完全真实。 真实的 LLM 有数千维隐状态、数十层堆叠、上万个词表条目, 但其核心回路与这里演示的完全一致。