Transformer 详解

Transformer 是 2017 年 Google 提出的架构,现在几乎所有大语言模型(GPT、Claude、文心一言)都基于它。

为什么需要 Transformer?

在 Transformer 之前,处理序列主要用 RNN(循环神经网络)

RNN 的问题:
输入: "我今天很开心"
处理顺序: "我" → "今天" → "很" → "开心"

缺点:
- 句子长了前面的词会被"忘记"
- 无法并行计算,训练很慢

Transformer 的核心思想:注意力机制(Attention)

不是逐字阅读,而是让所有词同时互相”看”一眼,决定谁更重要。

注意力机制直观理解

句子:“猫坐在垫子上,因为它很累”

“它” 指的是谁?

  • RNN 需要从头读到尾才能确定
  • Transformer 的注意力机制让”它”直接关联到”猫”:
它 ──强关联──→ 猫
它 ──弱关联──→ 垫子
它 ──弱关联──→ 累

核心组件

1. Self-Attention(自注意力)

每个词都问自己:我和句子里的其他词有什么关系?

计算公式(简化版):

三个矩阵:

  • Q (Query): 我要查什么?
  • K (Key): 我有什么信息?
  • V (Value): 实际内容是什么?

2. Multi-Head Attention(多头注意力)

不只做一次注意力,而是并行做多次,捕捉不同的关系:

Head关注点
Head 1语法关系(主谓宾)
Head 2语义关系(同义词)
Head 3指代关系(它→猫)

3. Feed-Forward Network

对每个位置独立做同样的全连接层变换,增加模型的表达能力。

4. Layer Normalization & Residual Connection

让训练更稳定的技巧,类似于 Java 里的异常处理——保证梯度不会爆炸或消失。

架构图

输入: [我] [今天] [很] [开心]
      ↓
  Embedding + Positional Encoding
      ↓
  ┌─────────────────────┐
  │   Multi-Head Attention  │  × N 层
  │   + Add & Norm          │
  │   + Feed Forward        │
  │   + Add & Norm          │
  └─────────────────────┘
      ↓
  输出概率分布

从 Transformer 到 GPT

模型特点用途
原始 TransformerEncoder + Decoder机器翻译
BERT只有 Encoder理解文本(分类、抽取)
GPT只有 Decoder生成文本(对话、写作)

GPT 就是堆了很多层的 Transformer Decoder,然后用海量文本训练。

总结

核心要点

  1. Transformer 用 注意力 替代了 循环,解决了长距离依赖和并行计算问题
  2. Self-Attention 让每个词都能看到所有其他词
  3. Multi-Head 让模型从多个角度理解关系
  4. GPT = Decoder-only Transformer + 海量数据训练

参考