# 7.3 推理计算：新的AI范式

> 从固定参数到动态计算：为什么在推理时多花时间是件好事

## 7.3.1 问题：为什么我们一直只在乎“模型大小”？

在过去的十年，AI发展遵循一个简单的规律：

```mermaid
graph LR
    A["7B"]
    B["13B"]
    C["70B"]
    D["200B"]
    E["性能"]

    A --> B --> C --> D
    A -.->|性能提升| E
```

这就是所谓的“扩展法则”（Scaling Law）。为了让模型更聪明，研究人员就训练更大的模型。

**但是**，2024年开始，一个新的想法出现了：

> 与其训练一个超级大的模型，不如让一个足够大的模型花更多时间思考问题。

这就是推理计算的核心思想。

## 7.3.2 一个生活类比：考试的两种方式

想象一下两个学生在备考：

## 学生A：死记硬背所有内容（传统方法）

```mermaid
graph TD
    A["备考阶段<br/>花费大量时间<br/><br/>1. 读教科书 100遍<br/>2. 做练习题 1000道<br/>3. 记忆所有答案<br/>4. 背诵公式<br/><br/>结果：脑子里装了巨量信息"]
    B["考试阶段<br/>快速回答<br/><br/>看到题目 → 立即说出答案<br/><br/>优点：快<br/>缺点：可能遗忘"]

    A --> B
```

## 学生B：掌握原理，考试时推导（推理计算方法）

```mermaid
graph TD
    A["备考阶段<br/>中等时间投入<br/><br/>1. 理解核心概念<br/>2. 学会推导方法<br/>3. 练习关键问题<br/><br/>结果：掌握原理，不需死记硬背"]
    B["考试阶段<br/>花时间思考<br/><br/>看到新题目 → 想一想 → 推导 → 答案<br/><br/>优点：即使题目以前没见过，也能解<br/>缺点：比较慢，但更准确"]

    A --> B
```

学生A代表传统LLM，学生B代表推理模型。

## 7.3.3 推理计算的三个维度

## 1. 计算在何时分配

```mermaid
graph TD
    subgraph Traditional["传统模型的计算分配"]
        T1["训练时 Training<br/>90% 计算"]
        T2["尽可能多地学习,<br/>编码所有知识到参数中"]
        T3["推理时 Inference<br/>10% 计算"]
        T4["快速查表和预测,<br/>不怎么需要计算"]

        T1 --> T2 --> T3 --> T4
    end

    subgraph InferenceCompute["推理计算模型的分配"]
        I1["训练时 Training<br/>30% 计算"]
        I2["学习基本能力和推理方法"]
        I3["推理时 Inference<br/>70% 计算"]
        I4["对每个问题进行<br/>详细的推导和思考"]

        I1 --> I2 --> I3 --> I4
    end
```

这是一个 **范式转变**。

## 2. 计算的深度

不同问题需要不同的计算深度：

```mermaid
graph TD
    A["简单题: 2+2=?<br/>思考时间: 0.1秒<br/>token消耗: 少"]
    B["中等题: 证明...<br/>思考时间: 5秒<br/>token消耗: 中"]
    C["困难题: 设计...<br/>思考时间: 30秒<br/>token消耗: 多"]

    A -.->|推理深度<br/>递增| B
    B -.->|推理深度<br/>递增| C

    style A fill:#90EE90
    style B fill:#FFD700
    style C fill:#FF6B6B
```

## 3. 计算的方式

推理模型在推理时进行的计算包括：

```mermaid
graph TD
    A["1. 路径探索<br/>尝试方法A<br/>尝试方法B<br/>比较哪个更好"]
    B["2. 验证与回溯<br/>检查中间步骤<br/>发现矛盾时回溯<br/>尝试其他路径"]
    C["3. 细节填充<br/>补充缺失的推导步骤<br/>加入必要的例子<br/>完整化论证"]
    D["4. 最终检查<br/>答案是否合理<br/>是否遗漏什么<br/>是否有更优的方式"]

    A --> B --> C --> D
```

## 7.3.4 推理计算的经济学

## 成本-效益分析

```mermaid
graph LR
    A["1秒"] --> B["10秒"] --> C["60秒"]

    subgraph Speed["推理时间"]
        D["60% 精确度<br/>传统LLM"]
        E["80% 精确度<br/>传统LLM优化"]
        F["100% 精确度<br/>推理模型"]
    end

    A -.-> D
    B -.-> E
    C -.-> F

    style D fill:#FFB6C6
    style E fill:#FFD700
    style F fill:#90EE90
```

## 什么时候推理计算是值得的？

```mermaid
graph TD
    A["低复杂问题<br/>低价值问题<br/><br/>伦敦在哪?<br/><br/>用推理模型? NO<br/>理由: 问题太简单<br/>推荐: 传统LLM"]

    B["高复杂问题<br/>低价值问题<br/><br/>用50个汉字描述量子物理<br/><br/>用推理模型? MAYBE<br/>理由: 问题有挑战但输出很短<br/>推荐: 传统LLM"]

    C["高复杂问题<br/>高价值问题<br/><br/>为初创公司设计AI系统架构<br/><br/>用推理模型? YES<br/>理由: 问题很难,答案质量很重要<br/>推荐: 推理模型"]

    D["低复杂问题<br/>高价值问题<br/><br/>这个合同条款合法吗?<br/><br/>用推理模型? YES<br/>理由: 正确性至关重要<br/>推荐: 推理模型"]

    style A fill:#FFB6C6
    style B fill:#FFD700
    style C fill:#90EE90
    style D fill:#90EE90
```

## 7.3.5 推理计算的天花板

虽然推理计算很强大，但也有局限：

```mermaid
graph TD
    A["1. 知识的界限<br/>推理只能在现有知识基础上进行<br/>无法想象不存在的概念"]
    B["2. 复杂度爆炸<br/>对于极其复杂的问题<br/>思考时间可能趋向无穷"]
    C["3. 错误传播<br/>第一步推导错误<br/>后续推导也会出错"]
    D["4. 无法创意<br/>推理是逻辑的，创意是超越逻辑<br/>推理模型在创意写作上可能不擅长"]

    A --> B --> C --> D
```

## 7.3.6 推理计算 vs. 参数扩展

现在AI界有一个重要的讨论：

> 未来应该继续训练更大的模型，还是让现有模型花更多时间思考？

```
两条发展路线：

路线A：参数扩展（Scaling Parameters）
模型参数：70B → 300B → 1T
训练成本：持续增加
部署成本：巨大（需要大显卡集群）
推理速度：快
适合：需要快速响应的场景

     vs

路线B：推理计算扩展（Scaling Compute）
模型参数：固定（70B或100B）
训练成本：相对稳定
部署成本：可控（普通显卡也能跑）
推理速度：较慢但更准确
适合：对准确性要求高的场景
```

目前的共识是：**两条路线同时推进**

* **快速应用场景**：用传统的参数扩展（更大的模型）
* **精确应用场景**：用推理计算扩展（推理时间更长）

## 7.3.7 本节小结

推理计算是AI发展的新范式：

* 从“训练时的大量投入 + 推理时的快速查表”转变
* 到“训练时学习基础方法 + 推理时深入思考”

这意味着：

* 推理时间变得和准确度一样重要
* 用户需要在“快速”和“准确”之间做选择
* 成本结构发生了变化（更多token消耗在思考上）

## 7.3.8 思考题

1. 在你的日常工作中，有哪些任务可以受益于推理计算？哪些任务不需要？
2. 如果推理模型在推理时要消耗10倍的token，这会如何改变AI的商业模式？
3. 未来是否会出现“推理时间太长”反而成为劣势的场景？什么时候？


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/ai_beginner_guide/di-er-bu-fen-he-xin-ji-shu-jie-xi/07_reasoning_models/7.3_inference_compute.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
