# 第 4 章 猜下一个词，为什么会长出智能

> 本章问题：为什么“预测下一个 Token”能产生智能？
> 来源：https://llm.weiborao.link/#ch4

**上一章留下的问题：**现在模型手里有了一串向量。它要怎样从这串向量里算出“下一个词”？而且，为什么只做“猜下一个词”这一件事，就能长出解奥数题的能力？

这是全书最核心的一章。我们先回答“为什么”，再回答“怎么算”。顺序不能反：如果不先明白“猜下一个词”为什么这么难，Transformer 的结构看起来就只是一堆方框。

### 4.1 玩一个游戏：猜下一个词

下面每一句话都缺了最后一个词。请你先猜，再想一想：**为了猜对，你用了哪一种知识？**

① 法国的首都是法国的首都是\_\_\_

② 他把杯子碰翻了，桌上全是他把杯子碰翻了，桌上全是\_\_\_

③ 2, 4, 8, 16, 32,2, 4, 8, 16, 32,\_\_\_

④ 一部 400 页的侦探小说，最后一句：“所以，凶手就是所以，凶手就是\_\_\_

**停一下：四道题各需要什么知识？哪一道最难？**

**参考答案：**

① 需要**事实知识**（巴黎）。② 需要**常识**：杯子里通常装着水，碰翻会洒出来。③ 需要发现**规律**，做一次乘法（64）。④ 最难：你得记住 400 页里每个人物的动机、时间线和不在场证明，排除错误线索，做一长串**推理**，才能写出那个名字。

四道题的形式完全一样，都是“猜下一个词”。可是要猜对，所需的能力从“记住一个事实”一直延伸到“完整地推理”。

这个游戏揭示了一件事：**“猜下一个词”不是一个简单的任务，而是一个可以无限变难的任务**。互联网上的文字里，有百科、对话、小说、论文、法庭记录、数学证明和程序代码。要在所有这些文字上都猜得准，模型就得掌握写下这些文字所需要的知识和推理。

表 4-1 同一个任务，不同的难度

| 要猜的位置 | 猜对需要什么 | 对应的能力 |
| --- | --- | --- |
| “……的首都是 \_\_\_” | 记住事实 | 知识 |
| “……碰翻了，桌上全是 \_\_\_” | 理解物理世界的常识 | 常识 |
| “……32, \_\_\_” | 识别模式并计算 | 归纳、算术 |
| 代码里 `return` 后面 | 理解程序要做什么 | 编程 |
| 证明的下一步 | 知道哪个引理能用 | 数学推理 |
| “凶手就是 \_\_\_” | 记住长文、排除干扰、多步推理 | 长程推理 |

### 4.2 预测就是压缩

还有一个更深的原因。看两个数字：Llama 3.1 405B 训练时读了 15.6 万亿个 Token，按每个 Token 约 4 个英文字符粗算，大约是 60 TB 的文本（估算）；而它的全部参数按 BF16 存下来只有 810 GB。**参数比数据小了七八十倍，根本装不下原文**。

问：如果装不下原文，模型怎样在这些文字上把下一个词猜准？

答：只能不去记每一句话，而是记“生成这些话的规律”：语法、事实之间的联系、推理的套路。

问：这和学生准备考试像不像？

答：像。题库有一万道题，脑子里装不下所有答案，就只能去理解公式和方法。理解了方法，没见过的题也会做。

问：所以，“猜下一个词”的压力加上“装不下”的限制，逼着模型做的事情是……

答：把世界的规律压缩进参数里。

这就是“预测即压缩”的意思：能把一段数据预测得越准，就越能用越少的信息把它描述出来；而最省信息的描述，就是找到产生这些数据的规律。

类比：

天文学家记录了几千年的行星位置。一种做法是把每天的坐标都抄进本子，本子越来越厚；另一种做法是找到牛顿定律，几行公式就能“预测”任何一天的位置。牛顿定律就是对那些观测数据最好的压缩。大语言模型的训练，是在人类文字上做同样的事，只是找到的“定律”以几千亿个数字的形式存在，我们读不懂它。

类比的边界：牛顿定律是精确的、可以写成公式的；模型学到的规律是近似的、统计的，所以会出错。

预测得*足够好*，  
就必须理解得*足够深*。

### 4.3 它是怎么算的：Transformer

明白了“为什么要猜得准”，再看“怎么猜”。上一章结尾，每个 Token 都变成了一个向量。Transformer 要做的，是让这些向量一层一层地**互相交流、各自加工**，最后由最末尾那个位置的向量给出“下一个 Token 是谁”的概率。

#### 注意力：每个词回头看前文

“它”这个字本身没有意思，意思取决于它指代谁。为了理解一个词，模型需要回头看前文中与它相关的词。**注意力机制**做的就是这件事：每个位置都去问前文的每个位置“你跟我有多相关”，然后按相关程度把对方的信息加权混合进来。

> 【图示】注意力示意：处理到句末的“饿”时，模型回头看前文，最关注“小猫”，其次是“它”；把最后一个词换成“新鲜”，最关注的就变成了“鱼”。注意力只能看前文，不能看后文。权重为示意。

**图 4-1** 两句话只差最后一个词。处理到“饿”时，模型最关注“小猫”；处理到“新鲜”时，最关注“鱼”。于是“它”指的是谁，在这一层被确定下来。注意：模型只能回头看，不能偷看后文，因为它的任务就是预测后文。

类比：

注意力像**一场鸡尾酒会**。每个人（Token）胸前挂着一块名牌，写着“我是谁”（Key）；手里拿着一份想分享的信息（Value）；心里装着一个想找的人的特征（Query）。每个人扫一眼前面所有人的名牌，和自己要找的特征越匹配，就越认真听那个人说话，最后把听到的内容按认真程度混合起来，更新自己。

一层注意力里通常有几十到上百个“头”并行工作（Llama 3.1 405B 每层 128 个），每个头关注不同的关系：有的追踪指代，有的盯着语法搭配，有的看前后的数字。这叫**多头注意力**。

#### 前馈网络：每个词各自想一想

注意力负责“交流”，交流完之后，每个位置还要各自做一次加工，这一步由一个普通的神经网络完成，叫**前馈网络**。一些研究发现，模型的许多事实知识与这部分参数关系密切。

#### 叠很多层

“注意力 + 前馈网络”组成一个块，块叠很多层。Llama 3.1 405B 有 126 层。越往上，向量里装的信息越抽象：底层可能还在处理“这个词是什么”，高层已经在处理“这句话要说什么”“下一步推理该做什么”。

> 【图示】Transformer 解码器的结构：底部输入 Token 换成向量，加上位置信息；中间是许多个相同的块叠起来，每块包括注意力（Token 之间互相看）和前馈网络（每个 Token 各自加工）；顶部把最后一个位置的向量变成词表上每个词的概率，挑出下一个 Token。

**图 4-2** 今天主流大语言模型用的“只有解码器”（decoder-only）的 Transformer。整个结构从下往上读：Token 变向量，经过 N 层“交流 + 加工”，最后一个位置的向量被翻译成词表上每个词的概率。

Transformer 胜出的一个关键原因是工程上的：训练时，一段文字里所有位置的“猜下一个词”可以**同时计算**，非常适合 GPU 的并行能力（第 9 章）。它之前流行的循环神经网络必须一个词一个词地顺序处理，很难做大。

##### 注意力是

- 一种按“相关程度”加权混合信息的计算
- 每层、每个头各自学出来的，不是人设计的规则

##### 注意力不是

- 人类意义上的“专注”或“意识”
- 可以直接读懂的解释：权重高不一定意味着“模型因此做出了判断”

### 4.4 做大，有规律可循：缩放定律

2020 年 1 月，OpenAI 的 Kaplan 等人发表了一篇论文，结论是：模型的测试损失随模型大小、数据量和计算量呈**幂律**下降。翻译成白话就是：在双对数坐标上，“投入”和“效果”是一条直线。

> 【图示】缩放定律示意（双对数坐标）：横轴是训练算力，纵轴是测试损失。几条不同大小模型的学习曲线下沿连成一条直线：算力每增加 10 倍，损失按固定比例下降。

**图 4-3** 缩放定律的形状。每条蓝线是一个固定大小的模型，训练越久损失越低，但最终会饱和；所有曲线的下沿连成一条直线。这条直线让“花多少算力、能得到多好的模型”变得可以预测。

可预测，意味着可以投资。一家公司可以先用小模型做实验，画出这条线，再决定要不要花上亿美元训练一个大的。2022 年 3 月，DeepMind 的 Chinchilla 论文进一步指出，很多模型参数太多、数据太少：同样的算力，700 亿参数配 1.4 万亿 Token，胜过参数更多、数据更少的模型。按这组数字算，大约每个参数配 20 个 Token（本书推算）。

规模涨上去，还会出现一些小模型完全没有、大模型突然具备的能力，比如多位数加法、按步骤推理。2022 年 Wei 等人称之为**涌现能力**。不过 2023 年 Schaeffer 等人指出，有些“突然出现”是评价方式造成的：如果用“完全答对才得分”的指标，平滑的进步看起来就像一个台阶；换成更细的指标，曲线往往是连续的。

**怎样理解“涌现”**　稳妥的说法是：能力随规模持续增长，在某些任务的“及格线”附近，看起来像是突然出现。它不神秘，但也确实难以提前预料具体哪种能力会在哪个规模越过及格线。

### 4.5 回答核心问题：算力 + 数据 + 算法，为什么会输出智能

现在可以把读者最初的问题拆开回答了。先给“智能”一个可操作的定义：**在没见过的情况下，做出好的预测与决策的能力**。按这个定义，三样原料各自的角色是：

1. **数据是世界的投影。**人类写下的文字里，沉淀着事实、常识、推理过程和解决问题的方法。它是“规律”的原矿。
2. **算法是可塑的模具和打磨的方法。**Transformer 提供了一个足够大、足够灵活、能高效并行的函数家族；梯度下降提供了沿着误差一步步改进的办法；“预测下一个 Token”提供了一个不需要人工标注、可以无限扩展的目标。
3. **算力是打磨的次数。**每一次梯度下降都要做海量的乘法和加法。缩放定律说，打磨得越多，损失越低，而且有规律。

三者结合，训练过程把海量文字里的规律压缩进参数；推理时，参数再把这些规律展开成一个个 Token。

> 【图示】从原料到智能：数据、算力、算法三样输入，经过训练被压缩进模型参数；推理时，参数加上电力和你的提问，一个个生成 Token。

**图 4-4** 从原料到智能。训练是一次性的“压缩”，产物是一个参数文件；推理是每次提问时的“展开”，产物是 Token。第 12 到 14 章会看到，AI 工厂就是专门为这两个环节建造的工厂。

类比：

这像**炼油**：原油（数据）蕴含着能量，但不能直接加进汽车；炼油厂（算法）用一套工艺，消耗大量能源（算力），把原油提炼成汽油（参数）；汽油再在发动机里燃烧（推理），变成车轮的转动（Token）。

##### 这个解释说明了

- 为什么规模越大，能力越强，而且在一定范围内可预测
- 为什么模型能处理训练时没见过的问题

##### 这个解释没有说

- 模型学到的规律都是对的（统计规律会出错，第 7 章）
- 模型有意识、有目的或“真正理解”（这是哲学问题，本书不下结论）
- 规模可以无限换来能力（数据会用完，成本会封顶）

回到序章的反差。**奥数金牌**来自“猜下一步证明”的能力：互联网和教材里有大量数学推理的文字，模型从中压缩出了推理的套路，第 5 章还会讲推理训练怎样放大它。**草莓的 r** 则来自第 3 章的分词：字母信息在进入模型之前就被打包了，再强的推理能力也看不见包里的东西。两件事不矛盾，它们来自同一套机制的两个侧面。

##### 本章带走

预测得足够好，就必须理解得足够深。“猜下一个词”是一个可以无限变难的任务，参数又装不下原文，于是模型只能把规律压缩进参数。

- Transformer = 注意力（Token 之间回头看、交流）+ 前馈网络（各自加工）叠很多层；最后一个位置给出下一个 Token 的概率。
- 缩放定律：投入与效果在双对数坐标上是直线，让“做大”可以预测、可以投资。
- 数据是原矿，算法是模具与工艺，算力是打磨次数；训练压缩，推理展开。

**于是，下一个问题**：按这种方式训练出来的模型，只会接着前文往下写。你问它一个问题，它可能接着写出五个类似的问题。它是怎样变成一个会听话、会推理的助手的？
