主题
Transformer 与注意力机制剖析
《大语言模型是什么》用"超级自动补全"建立了直觉。这一篇往下挖一层:补全的时候,模型内部在发生什么。不推公式细节,但每个结论都对应到真实的矩阵运算,让你能看懂技术报告里的术语。
1. 一层的结构:注意力和 MLP 交替堆叠
每个 Transformer 层做两件事,N 层(几十到上百)堆叠:
text
输入(每个 token 一个向量,排在 residual stream 上)
→ 1. 注意力:token 之间互相"通信",交换信息
→ 2. MLP:每个 token 独立地"加工",调动存储的知识
→ 输出写回 residual stream,进入下一层一个重要的分工直觉:注意力负责"从别的 token 搬信息过来",MLP 负责"对这个信息做处理"。模型的大部分参数量在 MLP 里——一般认为事实性知识主要存储在 MLP 的权重中。
2. 注意力在算什么:Q、K、V
对每个 token 的表示,用三组可学习的矩阵投影出三个向量:
- Query(查询):我在找什么信息?
- Key(键):我能提供什么信息?
- Value(值):如果被选中,我实际传递的内容。
计算过程(单头):
text
分数 = softmax( Q · Kᵀ / √d ) # 每个 token 对所有 token 打"相关度分"
输出 = 分数 · V # 按 分数 加权混合所有 token 的 V用检索类比:Q 是搜索词,K 是每篇文档的索引词,softmax 把相似度变成权重,输出是"按相关度加权拼装的资料包"。每个 token 独立做一次这样的检索——这就是"注意力"的全部。
三个直接推论:
- 因果掩码(Causal Mask):生成时把"未来位置"的分数置为 −∞,token 只能看它左边的内容。这就是"上下文窗口"的字面含义——不是记忆容量,是注意力能覆盖的范围。
- 复杂度是 O(n²):序列翻倍,注意力计算翻四倍。这是长上下文又贵又慢的第一性原因。
- 《推理全链路》里的 KV Cache:注意力要用历史 token 的 K、V,自回归生成时它们不变,缓存下来每次只算新 token 的——缓存的就是这两个矩阵。
3. 多头:并行的多组关注模式
一层里有多个"头"并行做上述运算(每头用独立的 Q/K/V 矩阵),输出拼接后线性变换。不同头自发学出不同模式——有的盯语法结构、有的追指代关系("它"指的是前文哪个词)、有的做位置对齐。
理解到"多头 = 多组并行的信息检索通道"这个层次,就足够看懂 GQA/MQA 这类优化:多个 Q 头共享同一组 KV 头,检索通道变少但 KV Cache 成倍缩小。
4. MLP:知识的仓库
注意力输出经过 MLP(两层全连接 + 非线性,中间维度通常是 d_model 的数倍)。一个可操作的模型:
text
MLP ≈ 一个巨大的 key-value 联想存储
上投影:把 token 表示映射到高维空间(激活稀疏,只有部分"知识神经元"点火)
下投影:把激活的信息写回 residual stream《大模型缓存是什么》提到的 MoE(混合专家)在这里生效:把大 MLP 拆成多个"专家",每个 token 只路由到少数几个——总参数量巨大,单次计算量不变。
5. 训练:怎么把这一切学出来
训练目标极其简单:在海量文本上,预测下一个 token,用交叉熵惩罚猜错。误差反向传播,微调三组大部件:注意力矩阵、MLP 权重、embedding 表。
- 模型学到的是语言统计结构的压缩表示:语法、事实、推理模式,都以"让下一个词预测更准"的方式被编码进权重。
- 参数量的意义:它决定了这种压缩表示的容量上限——《模型对比与选型》里"参数越多能力越强"的边界由此而来。
- Scaling Laws 的工程含义:模型能力随参数、数据、算力按可预测的幂律提升,这解释了为什么厂商敢在训练前就设定预算与预期。
6. 幻觉的机制视角
有了上面的结构,幻觉不再是玄学:
text
训练目标:下一 token 的条件概率 P(token | 上下文)
模型输出:这个分布;采样从这里抽(见《[推理全链路]》第 5 节)
没有组件:一个"这句话是否为真"的校验器关键点:分布反映"语料里像不像",不反映"真不真"。对编造的论文引用,只要标题格式、作者命名风格像真论文,每个 token 的局部概率都可以很高——因为训练目标就是局部相似度,不是全局真值。RLHF 等后训练能抑制但不消除这种倾向。
所以《新手路线》那条铁律——重要事实回原始来源核验——不是谨慎习惯,是机制结论:模型内部不存在真值校验这一层,它必须被放在架构里(检索、引用、评测),而不是指望在提示词里求出来。
7. 概念对照表
| 概念文章里的说法 | 机制层的对应 |
|---|---|
| 上下文窗口(工作记忆) | 因果掩码下注意力能覆盖的 token 范围 |
| "模型理解了语境" | 注意力把相关 token 的 V 加权混入当前表示 |
| "模型记住了知识" | MLP 权重中的分布式联想存储 |
| 幻觉 | 从"像真"的分布中采样,无真值校验层 |
| 温度/采样 | 对词表 logits 分布的缩放与截断 |
下一步:把"模型 → 可靠系统"之间的工程映射讲透的是《生产级 AI 应用架构》;检索那一半的底层在《Embedding 与向量检索》。
本文为工程向剖析:省略了训练细节(优化器、学习率调度、数据配比)与架构变体。深入一个领域时,以对应模型的技术报告与论文为准。