第 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):教科书级标准内容,与 LLMAttention Is All You Need 笔记一致

相关笔记