第 3 章:Transformer 如何读懂一句话——推理的完整旅程
上一章:分词 | 回到 学习主页 | 下一章:预训练:在文本海洋里学会预测
前面两章解决了「文字怎么进模型」。这一章走进模型内部,看推理时刻(inference)——你按回车之后、回答蹦出来之前,Transformer 在干什么。整个过程可以分成四步:嵌入 → 注意 → 堆叠 → 生成。
第一步:嵌入(Embedding)——把编号变成有方向的箭头
分词给出的是整数 ID,但整数之间没有语义关系:ID 42 和 ID 43 的「距离」并不比 42 和 5000 更近。嵌入(embedding)解决这个问题:模型里有一张巨大的表(embedding matrix),每个 token ID 对应一个高维向量(GPT-3 是 12288 维,更大的模型维度更高)。
"猫"→[0.12, -0.5, 0.8, ...]"狗"→[0.15, -0.48, 0.75, ...]——和「猫」方向接近"苹果"→[-0.3, 0.2, 0.1, ...]——方向差得远
向量是「语义方向」:意思相近的词,向量方向相近。这张表在训练中不断调整(第 4 章),训练完成后才固定下来。另外还要加上位置编码(positional encoding):Transformer 是并行处理整段文本的,本身感觉不到顺序,必须在每个向量里注入「我是第几个词」的信息。现代主流模型(Llama、Qwen 等)用 RoPE(Rotary Positional Embedding,旋转位置编码)——通过把向量旋转与位置成正比的某个角度来编码位置,既优雅又容易外推更长的上下文。
第二步:自注意力(Self-Attention)——让词与词互相对话
一句话里,词的意思常常由别的词决定。「他把它放进冰箱里」——「它」指什么?「放」的主语是谁?自注意力让每个 token 都去上文里「寻找与自己相关的信息」,并吸收回来。
具体机制是每个 token 计算出三个向量:
- Query(查询,Q):「我在找什么?」
- Key(键,K):「我有什么可被找的?」
- Value(值,V):「如果被找到了,我提供什么信息?」
对每个 token,拿它的 Q 去和所有 token 的 K 做点积(dot product),得到相关度分数;分数归一化后(softmax)作为权重,对所有 token 的 V 加权求和——这就是该 token 的「新含义」:它已经吸收了整段上下文里与自己相关的信息。数学上就是那个著名的公式:
分母的 是缩放因子,防止向量维度大时点积数值过大、softmax 变得极端。
Note
把注意力限制在「当前词之前的词」(掩盖未来,masked self-attention)就是因果注意力(causal attention)——生成式模型只能看上文,不能偷看未来,否则训练目标就作弊了。
真实模型里还有一个细节:多头注意力(multi-head attention)——并行跑很多组独立的 Q/K/V(比如 64 个「头」),每个头关注不同类型的关联(语法头、指代头、位置头……),最后把各头结果拼起来。这样模型可以从多个角度「读懂」同一句话。
第三步:堆叠——一层层抽象
一个注意力块不够,现代 LLM 把「自注意力 + 前馈网络」作为一个层(layer),堆叠几十到上百层(GPT-3 是 96 层,Llama 3 70B 是 80 层)。直觉上:
- 低层学会局部的语法模式(形容词修饰名词);
- 中层学会句法结构和指代消解(「它」指谁);
- 高层学会语义、常识和推理的雏形。
文本向量从底层走到顶层,每经过一层,含义就「提炼」一次。最后一层的输出,被投影成一个词表大小的分数向量:每个候选 token 的「下一个词」得分。
第四步:自回归生成——一次只出一个词
拿到得分后,把分数归一化成概率分布,然后采样(sampling)一个 token。这里有几种常见玩法:
- 贪心解码(greedy):永远选概率最高的——确定性但容易啰嗦重复;
- 温度(temperature):把概率分布「压平」(T > 1)或「削尖」(T < 1),T 越高输出越天马行空;
- Top-k:只在概率最高的 k 个候选中采样;
- Top-p(核采样,nucleus sampling):只保留累积概率达到 p 的最小候选集,动态调整候选数量。
采出来的新 token 被追加到输入序列末尾,整条序列重新走一遍「嵌入 → 注意 → 堆叠」——注意,不是只算新词,而是整段重新计算。这就是第 1 章说的自回归生成:生成 1000 个 token 的回答,就是把上面这套流程循环 1000 遍。一个 token 的旅程,到此闭环。
一句话总结
推理时刻的完整旅程:token ID 经嵌入变成带位置信息的向量 → 自注意力让每个词吸收上下文(Q 问、K 答、V 提供内容,多头并行)→ 层层堆叠提炼含义 → 输出层给出「下一个词」的概率分布 → 采样出一个 token 追加到序列 → 循环。理解这套流程,训练就只是「调整所有参数让预测更准」——下一章的内容。
来源
- GPT-3 共 96 层、嵌入维度 12288、96 个注意力头:已核实(GPT-3 论文 Table 2.1)
- Llama 3 70B 共 80 层:已核实(Llama 3 技术报告)
- 注意力公式、QKV 机制、采样策略(贪心/温度/top-k/top-p):教科书级标准内容,与 LLM、Attention Is All You Need 笔记一致
相关笔记
- LLM — 核心架构部分,QKV 数学本质与 Decoder-Only 架构
- Attention Is All You Need — Transformer 原始论文精读剪报
- Reasoning Model — 推理模型如何在这个架构上长出思考过程