返回首页

文章详情

2026.04.18

2 分钟阅读

llm / transformer / architecture / foundation

Attention 之外:FFN、残差与归一化撑起了 Transformer

还原一个完整 Transformer block:Attention 负责位置间通信,FFN 负责逐位置变换,残差与归一化让深层网络可以训练。

铺在深色工作台上的 Transformer 架构草图和代码稿纸

从 Token 到 Transformer · 09 / 10

“Attention Is All You Need”是一篇极其成功的论文标题,也制造了一个持久误会:Transformer 好像就是一层 Attention 不断重复。

实际的 Transformer block 至少还有前馈网络、残差连接和归一化。Attention 决定信息如何跨位置流动,其他组件决定信息如何被加工、保存,以及几十层网络能否稳定训练。缺少其中任何一块,都很难得到今天的大语言模型。

先看一个简化的数据流

现代 decoder-only 模型常见的 pre-norm block 可以概括为:

text
x = x + Attention(Norm(x))
x = x + FFN(Norm(x))

原始 Transformer 使用 post-norm,顺序有所不同:

text
x = Norm(x + Attention(x))
x = Norm(x + FFN(x))

两者都包含两个子层和两条残差路径。Pre-norm 通常更利于很深网络的优化,但具体模型还会使用 RMSNorm、并行残差等变体。理解职责比背某一张固定结构图更重要。

Attention:让不同位置交换信息

Attention 的输出是其他位置 Value 的加权组合。它擅长回答“当前位置应该从哪里取信息”,因此承担 token 间通信。

但仅靠加权混合,模型的非线性表达能力有限。交换回来的信息还需要在每个位置内部进一步变换,这就是 FFN 的任务。

FFN:每个位置共享的一台加工机

经典 FFN 对序列中的每个位置独立应用同一组参数:

text
FFN(x) = activation(xW_1 + b_1)W_2 + b_2

中间维度通常先扩张,再投影回模型维度。早期 Transformer 使用 ReLU,现代模型常见 GELU、SwiGLU 等激活与门控结构。

FFN 不直接在位置之间传递信息;同一层中的每个 token 都经过相同的网络。可以把分工记成:

  • Attention 在序列维度上混合信息;
  • FFN 在特征维度上加工信息。

二者交替堆叠,模型才能一边通信,一边把通信结果变成新的特征。

残差连接:保留一条不必重写的路

残差连接把子层输出加回原输入:

text
output = x + sublayer(x)

这让子层不必从头生成完整表示,只需要学习“在当前表示上补什么”。更重要的是,残差路径为梯度和信息提供了较直接的通道,使深层网络更容易优化。

它也解释了为什么单独查看某个 attention head 很难给出完整因果解释:最终表示不仅经过该 head,还混合了其他 head、输出投影、残差中的原表示和后续层变换。

归一化:控制每层看到的数值尺度

LayerNorm 会按单个 token 的特征维度标准化表示,再使用可学习参数调整。RMSNorm 使用更简化的均方根尺度,省去均值中心化。

归一化的目标不是把信息“洗掉”,而是让不同样本、不同深度下的激活尺度更可控,减轻优化过程中的数值漂移。它与残差顺序的组合会明显影响深层模型的训练稳定性。

“Pre-norm 一定优于 Post-norm”也不是绝对结论。研究和工程实践会在稳定性、最终质量和缩放方式之间取舍。

一个 Block 如何形成更高层表示

假设某一层 Attention 把代词与前文实体连接起来,FFN 可以基于汇聚后的特征形成更适合后续预测的表示。下一层 Attention 再使用这个结果建立新的关系。

单层完成的往往只是局部更新。深度让模型反复执行:

text
读取上下文 -> 变换特征 -> 保留旧信息 -> 稳定尺度

这比“每层都理解得更深”更具体,也更接近实际计算。

训练与推理中的其他成员

完整模型还会包含 dropout、词表输出投影、位置机制和各种 mask。现代架构可能加入 mixture-of-experts、局部注意力或门控残差。Transformer 是一个不断演化的架构家族,不是一张从 2017 年起再未变化的电路图。

但 Attention、FFN、残差和归一化仍是理解大多数模型的稳定骨架。

小结

Attention 负责跨位置路由,FFN 负责逐位置非线性变换,残差连接保留信息与梯度通道,归一化控制数值尺度。Transformer 能够深度堆叠,靠的是这些组件的协作,而不是 Attention 单独完成一切。

系列最后一篇会把视野再拉远:Transformer 是架构,BERT 与 GPT 是在不同部分、不同训练目标上做出的两条路线。

延伸阅读