Transformer 块
约 1465 字大约 5 分钟
2026-06-29
前面的章节说到,LLM 是由一串 堆叠的 Transformer 块 组成的,每块处理输入再把结果传给下一块。在原始 Transformer 论文中,存在约6 块,但现在很多 LLM 已经超过 100 块

重要
每个 Transformer 块由自 注意力层 和 前馈神经网络层 首尾相接构成。简单来说:自注意力让词元 "看别人"(整合上下文),前馈网络让词元 "想自己"(单独提炼)
自注意力层
注意力机制帮模型在处理某个词元时 整合上下文信息。看这句没说完的话:
狗追猫,因为它要预测 "它" 之后的内容,模型得先知道 "它" 指代谁 —— 是 "狗" 还是 "猫"?注意力机制做的事,就是把上下文信息 添加进 "它" 这个词元的表示里

工作原理:算关联、分权重
注意力机制会为 "它" 计算它与句中 所有其他词元 的关联程度:
- "它" 和 "狗" 有多相关
- "它" 和 "猫" 有多相关
- 甚至 "它" 和 "追" "因为" 等词的关系
这些相关性用一个叫 注意力权重 的分数表示,相关性越高,注意力分数越大
回到 "狗追猫" 的例子,假设算出这样的权重:
"它" 对每个词的注意力权重:
狗:0.3
猫:0.6
其他词:0.1模型就 "认为" "它" 更可能指 "猫",于是可能生成 "它吓倒了狗" 之类的后续
权重矩阵
换一段英文看注意力权重矩阵的形态:
The cat sat on the mat自注意力层会生成一个方阵,横轴纵轴都是这几个词:

| 维度 | 含义 |
|---|---|
| 横轴 Key | 被关注的词,即 "被看的对象" |
| 纵轴 Query | 当前正在处理的词,即 "正在看别人的词" |
| 单元格值 | Query 对 Key 的关注程度(注意力权重),越大颜色越深 |
比如 sat → The 的值是 0.23,意味着处理 "sat" 时模型最关注的词之一是 "The";cat → on 是 0.21,表示 "cat" 在编码时也部分关注了 "on"
多头注意力
所谓多头注意力,指模型不只用 一个 注意力机制去看上下文,而是用 多个注意力头(head),每个从不同角度 并行 关注输入的不同部分
为什么要多个?
因为一个头只能盯一套关系(比如 "它" 和 "狗、猫" 的指代关系),但真实语言的语义很复杂:
- 有的头专注语法(主语-动词关系)
- 有的头关注指代("它"指代谁)
- 有的头关注情感、时间顺序……
多头让模型从多个 "子空间" 提取信息,提升理解力和泛化能力。还是 "狗追猫,因为它",假设有三个头各自学到不同的关注模式:
| 注意力头 | 视角 | 关注重点 |
|---|---|---|
| Head 1 | 指代消解 | "它" 主要关注 "猫"(猫 0.6 / 狗 0.3 / 其他 0.1) |
| Head 2 | 句法结构 | "它" 关注动词 "追",理解动作逻辑 |
| Head 3 | 逻辑关系 | "它" 关注 "因为",理解因果结构 |
这些头各自生成一份 "它" 的表示,最后 合并 成一个更丰富的向量,同时融合了:谁是 "它" 可能指代的对象、"它" 参与了什么动作、"它" 在语义上处于怎样的逻辑位置……
这也正好解释了上一节的那个问题:为什么 LLM 只取最后一个词元就能预测下一个词 —— 因为经过多头注意力,最后那个词元的向量背后的语义已经极其丰富了
打个比方:
每个注意力头是一个 "专家",专门从某种语言视角理解当前词元;最终把所有专家的意见整合起来,模型就有了更全面的判断力
前馈神经网络层
自注意力让每个词元在上下文里 "看别人"、整合了其他词的信息。但光有这些还不够,Transformer 还需要让每个词元 自己思考、提炼、变换 一遍 —— 这就是前馈神经网络层(Feed Forward Network,FFN)干的事
FFN 的特别之处:它不 "看别人",只处理自己 —— 是 对每一个词元单独做的一次变换
可以理解成:
自注意力结束后,每个词元都从 "他人" 那里学到了不少东西,接下来轮到它自己好好消化一遍
怎么消化?把词元当前的向量送进一个小型神经网络,通常是 两层线性变换 + 一个非线性激活函数:
输入 → 线性变换(升维) → 激活函数 → 线性变换(降维) → 输出用公式表示:
FFN(x)=GELU(xW1+b1)W2+b2
其中 GELU 是一种激活函数,负责注入"非线性思考能力"
还是 "狗追猫,因为它"。经过自注意力后,"它" 已经看向了上下文、初步融合了 "猫" "狗" 的语义,但这只是个 "初加工品"。送进 FFN 后:
先把向量 升维 到更高维度(比如 768 → 3072)
经过 GELU 激活函数 做非线性处理
再 降维 回原来的大小(3072 → 768),形成一个新的、更复杂的向量表示
这个新表示就是 "它" 的升级版本,包含了模型对 "它" 更深层的理解,能帮模型提取出更适合判断行为、情感、逻辑的语义特征。最终这个向量送入下一层 Transformer 块继续处理
