引言
2017年,Google 团队在论文 "Attention Is All You Need" 中提出了 Transformer 架构,彻底改变了自然语言处理(NLP)领域的格局。如今,几乎所有主流大语言模型——GPT、Claude、LLaMA、Gemini——都基于 Transformer 架构。本文将带你深入理解 Transformer 的核心原理。
1. Transformer 之前的时代
在 Transformer 出现之前,序列建模主要依赖循环神经网络(RNN)及其变体 LSTM 和 GRU。这些模型按顺序处理输入序列,每个时间步的输出依赖前一步的隐藏状态。
RNN/LSTM 的局限性
无法并行化:序列必须逐步处理,训练速度慢
长距离依赖问题:虽然 LSTM 缓解了梯度消失,但处理超长序列时效果仍不佳
信息瓶颈:所有历史信息被压缩到固定大小的隐藏向量中
Transformer 通过 自注意力机制(Self-Attention) 一举解决了这些问题。
2. Transformer 整体架构
Transformer 采用 编码器-解码器(Encoder-Decoder) 结构:
编码器:由 6 个相同的层堆叠而成,每层包含多头自注意力 + 前馈神经网络
解码器:同样 6 层,在自注意力和前馈网络之间增加了交叉注意力层
每个子层都使用了 残差连接(Residual Connection) 和 层归一化(Layer Normalization)。
3. 核心机制:自注意力(Self-Attention)
自注意力是 Transformer 的灵魂。它的核心思想是:让序列中的每个位置都能直接关注序列中的其他所有位置,从而捕获全局依赖关系。
Q、K、V 的含义
对于输入序列 X,通过三个可学习的权重矩阵生成:
Q(Query,查询):我要找什么?
K(Key,键):我有什么?
V(Value,值):我提供什么内容?
注意力计算的核心公式:
Attention(Q, K, V) = softmax(QK^T / √d_k) × V其中除以 √d_k 是为了防止点积值过大导致 softmax 梯度消失,这被称为 缩放点积注意力(Scaled Dot-Product Attention)。
4. 多头注意力(Multi-Head Attention)
单头注意力可能只关注一种关系。多头注意力允许模型同时从不同的表示子空间学习不同的关注模式。
MultiHead(Q, K, V) = Concat(head_1, ..., head_h) × W_O
其中 head_i = Attention(QW_i^Q, KW_i^K, VW_i^V)典型配置(如原论文):h = 8 个头,每个头维度 d_k = 64。
5. 位置编码(Positional Encoding)
由于 Transformer 不像 RNN 那样按顺序处理输入,它需要一种方式来感知位置信息。位置编码 被加到输入嵌入中:
PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))这种正弦/余弦编码使得模型可以外推到比训练时更长的序列,并让相近的位置拥有相似的编码。
6. 前馈神经网络(Feed-Forward Network)
每个注意力子层后接一个全连接前馈网络,对每个位置独立应用:
FFN(x) = ReLU(xW_1 + b_1)W_2 + b_2这个简单的两层网络为模型引入了 非线性变换能力,内部维度通常是 d_model 的 4 倍。
7. 残差连接与层归一化
每个子层的输出采用:
Output = LayerNorm(x + Sublayer(x))残差连接使得梯度可以直接流过网络,有效解决了深层网络的训练困难问题。
8. 训练与推理
训练时的技巧
Teacher Forcing:使用真实的目标序列作为解码器输入
Masked Self-Attention:在解码器的自注意力中屏蔽未来位置,确保预测仅依赖已知信息
Label Smoothing:防止模型过度自信,提升泛化能力
推理时
采用 自回归生成:每次生成一个 token,将其附加到输入序列后继续生成下一个,直到遇到结束标记。
9. Transformer 的影响与现代变体
BERT(2018)
仅使用 Transformer 编码器,通过掩码语言模型(MLM)进行双向预训练,在理解类任务上表现卓越。
GPT 系列(2018-至今)
仅使用 Transformer 解码器,通过自回归语言建模进行单向预训练,展示了惊人的生成能力和涌现能力。
Vision Transformer(ViT)
将图像分割为 patches,像处理文本一样处理图像,证明了 Transformer 的跨模态通用性。
其他重要变体
T5:将一切任务统一为 text-to-text 格式
LLaMA:使用 RoPE 位置编码和 SwiGLU 激活函数
Mamba/SSM:为突破 Transformer 的二次复杂度而设计的替代方案
10. 总结
Transformer 的优雅之处在于它的简单与强大:
自注意力:O(1) 的路径长度,任意两个位置直接交互
并行计算:训练时所有位置同时处理
可扩展性:通过堆叠层数和扩展维度,模型能力可平滑提升
从 2017 年的 65M 参数到如今 GPT-4 的数万亿参数,Transformer 架构证明了 Scaling Law 的有效性。理解 Transformer 不仅是理解过去十年最重要的 AI 突破,更是通向 AGI 之路的必修课。
参考论文:Vaswani et al., "Attention Is All You Need" (NeurIPS 2017)