大模型到底在干什么?——Next Token Prediction 的数学本质:从"猜字游戏"到"世界理解"的涌现之路
一句话省流
> 大语言模型的核心任务确实是"猜下一个字"——但这不是一个简单的统计游戏。它的数学本质是条件概率建模 P(x_t | x_
---
一、费曼式核心:猜字游戏怎么就变成了智能?
先讲一个看似矛盾的事实。
大语言模型(LLM)的训练目标简单到可笑:
> 给定前面的文字,预测下一个字。
就这一个任务。没有"理解"的目标,没有"推理"的目标,没有"常识"的目标。就是猜字。
但神奇的是:当模型参数从几百万增长到几千亿,这个简单的猜字游戏突然产生了一些没人预料到的能力——
- 它会做加减法了
- 它会写代码了
- 它能做逻辑推理了
- 它甚至能"理解"物理常识("球从桌上滚下去会掉")
---
二、数学本质:不是鹦鹉学舌,是条件概率建模
2.1 核心公式
LLM的数学本质是一个条件概率分布的估计器:
> P(x_t | x_1, x_2, ..., x_{t-1})
意思是:给定前面的 t-1 个token,预测第 t 个token是什么。
训练时,模型看到一段文本,比如: > "The cat sat on the ___"
它要输出一个概率分布,覆盖所有可能的下一个词("mat"、"chair"、"roof"、"moon"...)。正确的词(比如"mat")应该有最高的概率。
损失函数:交叉熵损失(Cross-Entropy Loss)
> L = -Σ log P(x_t | x_ 简单说:模型给正确答案的概率越高,损失越低。2.2 为什么这不是"鹦鹉学舌"?
有人觉得:这不就是记忆训练数据吗?见过"cat sat on the mat"很多次,所以知道"mat"概率最高。
如果是纯记忆,那模型应该:
- 对训练数据中的句子:表现很好
- 对没见过的句子:表现很差
这说明模型学到的不是具体句子,而是生成句子的规则——语法、语义、逻辑、世界知识。
2.3 关键洞察:压缩即智能
Ilya Sutskever(OpenAI联合创始人)的核心洞察:
> "预测下一个token的统计任务,等价于学习数据中的因果结构。"
为什么?
因为要做到好的预测,模型必须:
- 理解语法(否则词序会乱)
- 理解语义(否则词义会错)
- 理解世界常识("球会往下掉"不是语法规则,是物理规律)
- 理解推理链(代码、数学证明需要多步逻辑)
类比:如果你要完美预测一个棋手的下一步,你最终必须学会下棋。你不需要被明确告知"要学会下棋",预测任务本身会强迫你学会。
---
三、Transformer架构:Attention是检索引擎,FFN是知识库
3.1 整体结构
输入token → Embedding → [Attention → FFN] × N层 → 输出概率
一个典型的GPT-style模型(如GPT-3、LLaMA、Qwen)有几十个这样的层堆叠起来。
3.2 Attention:上下文检索引擎
Attention的核心公式:
> Attention(Q, K, V) = softmax(QK^T / √d) V
这是什么意思?
类比搜索引擎:
- Q (Query) = 当前token的"问题":"我需要什么信息?"
- K (Key) = 所有其他token的"标签":"我有什么信息?"
- V (Value) = 所有其他token的"内容":"信息的具体内容是什么?"
结果:当前token根据上下文,动态地"检索"并整合相关信息。
举个例子: > "The cat, which was very hungry, sat on the ___"
当模型处理到"___"时,Attention机制会让它"回头看"到"cat"和"hungry",因为这些词与预测下一个词最相关。它不会同等地关注所有词——Attention分数会自动聚焦。
3.3 FFN:隐式知识库
FFN(Feed-Forward Network)的公式:
> FFN(x) = σ(xW_1 + b_1)W_2 + b_2
看起来简单,但关键数字:约2/3的模型参数在FFN中。
FFN的作用是什么?
研究表明(如Meng et al. 2022, Dai et al. 2021):FFN的权重矩阵可以看作一个巨大的键值存储(Key-Value Store)。
- W_1 的每一行对应一个"知识键"
- W_2 的每一列对应一个"知识值"
- 激活函数 σ 实现"选择"机制
参数分配比例:
- Attention层:~1/3参数(负责"查找信息")
- FFN层:~2/3参数(负责"存储知识")
---
四、Scaling Laws:为什么"大"就是"强"?
4.1 幂律关系
2020年OpenAI的论文《Scaling Laws for Neural Language Models》发现了一个惊人的规律:
> Loss ∝ C^(-α)
其中C是计算量(FLOPs),α是一个常数(约0.05-0.07)。
意思是:模型性能(以损失衡量)与计算量呈幂律关系。投入10倍计算,损失不是线性下降,而是按幂律下降。
后续研究发现,这个关系对参数数量N和训练token数D都成立:
> Loss ∝ N^(-α_N) × D^(-α_D)
4.2 Chinchilla最优配比
2022年DeepMind的Chinchilla论文回答了一个关键问题:
> 给定固定的计算预算,应该增加参数还是增加数据?
答案:模型大小和数据量应该等比例增长。
最优配比: > N_optimal ≈ D_optimal / 20
也就是说,如果你要用1万亿token训练,最优模型大小约500亿参数。
之前很多模型(如GPT-3)是"过度参数化、训练不足"的。Chinchilla告诉我们:小模型+多数据往往比大模型+少数据更好。
4.3 参数-性能曲线不是线性的
这不是简单的"越大越好"。参数增长和能力增长的关系是非线性的——这就是我们下面要讨论的"涌现"。
---
五、涌现(Emergence):能力为什么不是渐进增长,而是突然跳变?
这是LLM最神秘的现象。
5.1 观察到的现象
实验显示:某些能力(如数学推理、代码生成、遵循复杂指令)在模型参数达到某个阈值前几乎为零,超过阈值后突然跳变。
例如(Google 2022研究):
- 3B模型:两位数加法准确率 ~10%
- 10B模型:两位数加法准确率 ~15%
- 62B模型:两位数加法准确率 ~80%
- 540B模型:两位数加法准确率 ~95%
5.2 三种涌现假说
假说1:度量幻觉(Metric Illusion)
涌现可能只是我们测量方式的副作用。如果能力指标是"全对/全错"型的(如多选题),那么准确率会看起来是突然跳变——即使底层能力在平滑增长。
反驳:有些任务(如FLOP计数)确实显示平滑增长,但涌现现象仍然存在。
假说2:能力组合阈值
小模型只能学习简单的局部规律(如"the后面接名词")。大模型可以同时学习多个复杂规律,并将它们组合起来。
数学推理需要:
- 理解数字
- 理解运算符
- 理解运算规则
- 理解多步推理链
假说3:表示空间相变(最吸引人)
这是物理学家的视角。模型在学习过程中,其内部表示空间(hidden states)可能发生相变——类似于水从液态变为气态。
小模型:表示空间是"碎片化的",不同概念之间没有清晰的结构关系。
大模型:表示空间变得"高度结构化"——相似的概念聚集在一起,概念之间的关系(如"国王-男人+女人=女王")可以用向量运算表达。
这种结构化的表示空间,使得模型能够进行组合泛化——把已知的概念组合成新的推理。
5.3 什么在涌现?
不是所有能力都会涌现。通常涌现的能力有共同特征:
- 需要多步推理(如数学、代码)
- 需要组合多个知识(如"法国的总统"需要知道"法国"和"总统")
- 需要抽象规则(如语法规则、数学定理)
---
六、Ilya的终极洞察:压缩即智能
Ilya Sutskever在多个场合阐述过一个深刻的观点:
> "预测下一个token的统计任务,本质上是在学习数据的压缩表示。而好的压缩,需要理解数据的因果结构。"
6.1 为什么压缩需要理解?
想象你要压缩一个文本文件。
- 简单方法:每个字母存8位(ASCII)
- 更好方法:用Huffman编码,常见字母用更少位
- 最好的方法:先理解文本的含义,然后用语义编码
LLM的训练过程就是在做这件事:找到数据的最短描述(即最佳压缩)。而要做到这一点,它必须学习数据的深层结构——语法、语义、逻辑、世界常识。
6.2 从压缩到泛化
关键推理链: 1. 训练目标:最小化预测损失 2. 等价于:最大化数据压缩率 3. 最优压缩需要:学习数据的生成过程(因果结构) 4. 学习生成过程意味着:理解数据背后的规律 5. 理解规律 → 可以生成新样本(泛化)
这就是为什么"猜下一个字"能产生智能:因为好的猜测需要理解。
---
七、一次Next Token预测的10ms旅程
让我们追踪一个完整的forward pass,看看GPU上到底发生了什么。
输入
> "The capital of France is"Step 1: Tokenization (~0.1ms)
- 文本 → Token IDs: ["The", "capital", "of", "France", "is"]
- 每个token映射到一个高维向量(如12288维)
Step 2: Embedding (~0.2ms)
- Token ID → 可学习的embedding向量
- 加上位置编码(Positional Encoding)
- 输出:5 × 12288 的矩阵
Step 3: Attention层 (~2ms × 96层 = ~4ms)
- 每层:QKV投影 → Attention计算 → 输出投影
- 96层Transformer堆叠
- 关键计算:矩阵乘法(GEMM),占FLOPs的约60%
Step 4: FFN层 (~1.5ms × 96层 = ~3ms)
- 每层:xW_1 → ReLU → ×W_2
- 关键计算:更大的矩阵乘法(因为FFN中间维度是embedding的4倍)
Step 5: LayerNorm + Residual (~0.5ms)
- 每层后的归一化和残差连接
Step 6: 输出投影 (~1ms)
- 最终hidden state → 词汇表logits(如100,000维)
- 另一个大矩阵乘法
Step 7: Softmax (~0.2ms)
- Logits → 概率分布
- 最高概率的token:"Paris"
总耗时:~10ms(以GPT-3级别模型、A100 GPU为例)
关键数字
- 参数量:175B(GPT-3)
- 内存占用:约350GB(FP16)
- 计算量:约350 TFLOPs per token
- 能耗:约0.5-1 kWh per 1000 tokens
八、费曼式总结:猜字游戏的深层结构
LLM的"猜下一个字"任务,表面上是最简单的统计学习。但它的深层结构揭示了一些关于智能本质的深刻洞见:
1. 预测任务强迫模型学习世界的压缩表示
好的预测需要理解数据的生成过程。这类似于物理学中的"最小作用量原理"——系统总是选择最经济的描述方式。
2. 表示空间的相变是涌现的关键
当参数规模跨越某个阈值,模型的内部表示从"碎片化"变为"结构化"。这不是渐进式的改进,而是质的飞跃——就像水从液态变为气态。
3. Transformer的设计是"检索+存储"的分离
Attention负责动态检索上下文信息,FFN负责静态存储知识。这种分离让模型既能处理新上下文,又能利用已学习的知识。
4. 规模不是唯一的维度,但它是目前最可控的维度
Chinchilla告诉我们:数据质量和训练方法同样重要。但给定当前的技术水平,规模仍然是最可靠的性能提升途径。
5. 智能可能不是"被设计出来的",而是"被优化出来的"
LLM没有显式的"推理模块"或"知识模块"。所有这些能力,都是从单一的预测目标中"涌现"出来的。这让一些研究者开始思考:人类智能是否也有类似的涌现起源?
---
附录:核心公式速查
| 概念 | 公式 | 含义 | |
|---|---|---|---|
| 条件概率 | P(x_t \ | x_| 下一个token的概率 | |
| 交叉熵损失 | L = -Σ log P(x_t \ | x_| 训练目标 | |
| Attention | softmax(QK^T / √d) V | 上下文加权聚合 | |
| FFN | σ(xW_1 + b_1)W_2 + b_2 | 前馈知识存储 | |
| Scaling Law | Loss ∝ C^(-α) | 性能随计算量幂律下降 | |
| Chinchilla | N ≈ D / 20 | 最优参数-数据配比 |
#LLM #NextTokenPrediction #Transformer #Attention #ScalingLaw #Chinchilla #Emergence #IlyaSutskever #Compression #AI原理 #大模型
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens