Deep Read

Transformer 架构讲解

Transformer 架构讲解

Transformer 是现代大模型最重要的底层架构之一。无论是 ChatGPT、Claude、Gemini,还是大量文本、代码、语音、图像模型,本质上都深受 Transformer 思想影响。

它最早来自 Google 在 2017 年发表的论文 Attention Is All You Need。这篇论文最初面向机器翻译任务,但真正改变行业的,不是“翻译效果更好”这件事,而是它提出了一种全新的序列建模方式:

不再依赖 RNN 那种一步一步顺序传递的信息流,而是让序列中的每个 token 直接和其他 token 建立关系。

这就是 Transformer 的核心。

image.png

image.png

一、为什么 Transformer 会出现

在 Transformer 之前,NLP 领域主流是 RNN、LSTM、GRU 这类循环神经网络。它们的问题很明显:

  • 必须按顺序处理,难以并行训练
  • 序列一长,信息容易衰减
  • 长距离依赖建模效果有限
  • 工程扩展性一般,不适合超大规模训练

举个例子:

“我昨天在上海见到的那位做芯片的朋友,今天说他已经拿到新一轮融资了。”

模型在理解“他”指代谁时,往往要关联前面很远的“那位做芯片的朋友”。

RNN 需要把前面的信息层层传到后面;而 Transformer 的思路更直接:

当前 token 可以直接关注和自己最相关的 token。

于是,长距离依赖问题被大幅缓解,训练效率也明显提升。

二、Transformer 的核心思想:Attention

Transformer 最关键的设计就是 Attention(注意力机制)

你可以把它理解成一句话:

模型在处理当前 token 时,不是平均看待上下文,而是动态判断“哪些位置更重要”。

比如句子:

“The animal didn’t cross the street because it was too tired.”

当模型处理 it 时,它需要判断 it 指的是 animal,而不是 street。注意力机制的价值就在这里:

  • 它允许 it 去“看”前面的所有词
  • 给不同词分配不同权重
  • 最后重点吸收最相关的信息

所以,Attention 本质上是在做一件事:

从全局上下文中,筛选出当前最值得参考的信息。

三、Self-Attention 是怎么工作的

Transformer 里最常见的是 Self-Attention(自注意力)

所谓“自注意力”,就是:

一个序列内部的 token 彼此计算相关性。

每个 token 进入注意力层后,都会被映射成三组向量:

  • Query(查询):我现在想找什么信息
  • Key(键):我身上有什么信息可供匹配
  • Value(值):如果我被关注,我实际提供什么内容

计算流程可以粗略理解为:

  1. 当前 token 拿自己的 Query 去和所有 token 的 Key 做匹配
  2. 匹配分数越高,说明两个位置越相关
  3. 对这些分数做归一化,得到注意力权重
  4. 用权重对所有 Value 加权求和
  5. 得到当前 token 融合上下文后的新表示

公式通常写成:

Attention(Q, K, V) = softmax(QK^T / √d_k) V

不用死记公式,重点理解两件事:

  • 相关性由 Q 和 K 决定
  • 真正传递的信息来自 V

这就是 Transformer 能“看全局、抓重点”的原因。

四、为什么要做 Multi-Head Attention

单次注意力只能从一个角度理解关系,但语言里的关系是多维的。

比如同一句话里,模型可能同时需要关注:

  • 语法关系
  • 指代关系
  • 时间关系
  • 因果关系
  • 主题词之间的语义关系

所以 Transformer 不只做一次 Attention,而是做 Multi-Head Attention(多头注意力)

也就是把表示空间切成多个子空间,让不同“头”分别学习不同类型的关联模式。最后再把这些结果拼接起来。

直观理解就是:

不是只让模型用一种视角看句子,而是同时开多个观察通道。

这会显著增强模型对复杂语义结构的表达能力。

五、Transformer 的整体结构

经典 Transformer 采用 Encoder-Decoder 结构。

1. Encoder

Encoder 负责“读懂输入”。

它通常由多层堆叠组成,每层主要包含:

  • Multi-Head Self-Attention
  • Feed Forward Network(前馈网络)
  • Residual Connection(残差连接)
  • Layer Normalization(层归一化)

作用是不断把原始 token 表示,转化成更高层、更抽象的上下文表示。

2. Decoder

Decoder 负责“生成输出”。

它的结构和 Encoder 类似,但多了两个关键点:

  • Masked Self-Attention:只能看当前位置之前的 token,不能偷看未来
  • Cross-Attention:在生成时参考 Encoder 输出的表示

如果是机器翻译任务:

  • Encoder 读入英文
  • Decoder 逐步生成中文

3. 为什么现在大模型大多只用 Decoder

现代 LLM,比如 GPT 系列,通常采用 Decoder-only Transformer

原因很现实:

  • 目标主要是“根据前文预测下一个 token”
  • 自回归生成天然适合 Decoder-only 架构
  • 工程实现更统一,更容易扩展到超大参数规模

所以今天大家常说的“大模型 Transformer”,很多时候其实指的是 Decoder-only 变体,而不是原论文中的完整 Encoder-Decoder 结构。

六、位置编码为什么重要

Attention 本身不包含顺序概念。

也就是说,如果只把一堆 token 扔进去,模型并不知道:

  • 谁在前
  • 谁在后
  • 哪些词是相邻的
  • 整体顺序是什么

但自然语言高度依赖顺序,所以 Transformer 需要引入 Positional Encoding(位置编码)

位置编码的作用就是:

把“位置信息”注入到 token 表示里。

这样模型才能区分:

  • “狗咬人”
  • “人咬狗”

这两个词几乎一样,但顺序不同,含义完全不同。

现在常见的位置处理方式包括:

  • 固定正弦余弦位置编码
  • 可学习位置向量
  • RoPE 旋转位置编码
  • ALiBi 等相对位置方法

在大模型实践里,位置编码已经从“辅助模块”变成影响上下文长度、泛化能力和推理效果的关键设计点。

七、为什么 Transformer 这么强

Transformer 能成为主流,不只是因为“效果更好”,更重要的是它兼顾了 算法能力工程扩展性

1. 并行训练效率高

RNN 必须按时间步串行计算,而 Transformer 可以同时处理整段序列,极大提升 GPU / TPU 利用率。

2. 更擅长建模长距离依赖

任意两个 token 都可以直接交互,不需要经过很长的信息传递路径。

3. 可扩展性非常强

Transformer 很适合做大规模堆叠:

  • 更多层数
  • 更大隐藏维度
  • 更多训练数据
  • 更长上下文窗口

而且在很多场景下,模型能力会随着规模提升持续增强,这也是“大模型时代”成立的重要前提。

4. 通用性极强

Transformer 不只适用于文本,还被广泛用于:

  • 大语言模型
  • 代码生成
  • 文本检索与问答
  • 图像分类与生成
  • 语音识别与语音生成
  • 多模态理解与生成

它本质上已经从一个 NLP 架构,演化成了现代 AI 的通用计算框架。

八、Transformer 的代价和局限

Transformer 很强,但并不完美。

1. 注意力计算成本高

标准 Self-Attention 的计算复杂度与序列长度平方相关。上下文越长,显存和算力消耗越夸张。

这也是为什么长上下文模型一直在做各种优化,比如:

  • 稀疏注意力
  • FlashAttention
  • 分块注意力
  • 状态空间模型混合结构

2. 对数据和算力依赖极强

Transformer 的上限很高,但通常要建立在:

  • 海量高质量数据
  • 大规模训练算力
  • 复杂的工程优化

如果数据不够、训练不稳,模型效果未必理想。

3. 不是所有任务都天然最优

对于某些强结构化、低延迟、超长序列场景,Transformer 并不一定是唯一最优方案,所以近年来也出现了 Mamba、RWKV、RetNet 等替代或补充路线。

九、今天该怎么理解 Transformer

如果只记一句话,可以这样理解:

Transformer 是一种基于注意力机制的序列建模架构,它通过让每个 token 动态关注全局上下文,替代了传统循环结构,最终成为大模型时代的基础设施。

它真正厉害的地方,不只是“能理解一句话”,而是提供了一种可扩展、可并行、可跨模态迁移的统一建模方式。

从机器翻译到 ChatGPT,从文本到图像再到多模态,Transformer 之所以重要,不在于它解决了某个单点任务,而在于它定义了现代 AI 系统的一种主流组织方式。

十、总结

Transformer 的核心可以压缩成 5 个关键词:

  • Attention:决定看哪里
  • Self-Attention:序列内部建立全局关系
  • Multi-Head:从多个角度理解上下文
  • Positional Encoding:补上顺序信息
  • Scalability:适合大规模训练和泛化

如果说 CNN 定义了视觉时代的基础网络范式,那么 Transformer 基本定义了大模型时代的主流架构范式。

理解 Transformer,不只是理解一篇经典论文,更是在理解今天绝大多数 AI 系统的底层逻辑。