什么是 Transformer
Transformer 是 2017 年 Google 论文《Attention Is All You Need》提出的神经网络架构,是所有现代 LLM 的技术基础。
打个比方:
- RNN = 逐字阅读,读到后面忘了前面
- Transformer = 一眼看完整句,理解词与词的关系
句子:"猫坐在垫子上,因为它很软"
RNN:逐词处理,到"它"时可能忘了"猫"
Transformer:同时看所有词,知道"它"指"垫子"
为什么 Transformer 重要
之前:RNN 时代
2017 年前,NLP 主要用 RNN/LSTM:
RNN 处理:"我 爱 编 程"
→ 读"我" → 读"爱" → 读"编" → 读"程"
→ 逐词处理,顺序固定
RNN 的三大问题:
- 遗忘:长句子读到后面忘了前面
- 慢:必须逐词处理,无法并行
- 难训练:梯度消失/爆炸
之后:Transformer 时代
Transformer 处理:"我 爱 编 程"
→ 同时处理所有词
→ 每个词"看"到所有其他词
→ 并行计算,速度快
Transformer 的三大突破:
- 长距离依赖:注意力机制让任意两词直接关联
- 并行计算:所有词同时处理,GPU 友好
- 易训练:比 RNN 稳定
核心思想:注意力机制
什么是注意力
注意力(Attention) 让模型在处理一个词时,"关注"句子中所有其他词,判断哪些更重要。
句子:"银行 利率 今天 下调 了"
处理"银行"时:
关注"利率"(高注意力)→ 银行是金融机构
关注"今天"(低注意力)→ 时间信息
处理"下调"时:
关注"利率"(高注意力)→ 利率下调
关注"银行"(中注意力)→ 银行利率
自注意力(Self-Attention)
自注意力 是 Transformer 的核心:每个词与句子中所有词(包括自己)计算关联度。
"它 很 软"
"它"的注意力分布:
"它" → "它"(自己):0.3
"它" → "很":0.1
"它" → "软":0.1
"它" → "猫"(前文):0.5 ← 指代"猫"
注意力计算(简化)
1. 每个词变成 3 个向量:Query(Q)、Key(K)、Value(V)
2. 用 Q 与所有 K 计算相似度(注意力分数)
3. 用 softmax 归一化(变成概率)
4. 用概率对 V 加权求和
5. 得到每个词的新表示(含上下文信息)
通俗理解:
- Q = "我在找什么"
- K = "我有什么"
- V = "我的内容"
- 注意力 = Q 与 K 的匹配度 × V
Transformer 架构
┌─────────────────────────────┐
│ Transformer │
│ │
│ 输入 → [Embedding] │
│ ↓ │
│ [位置编码] │
│ ↓ │
│ ┌─────────────────┐ │
│ │ Multi-Head │ × N │ ← 编码器(Encoder)
│ │ Attention │ 层 │
│ │ + Feed Forward │ │
│ └─────────────────┘ │
│ ↓ │
│ ┌─────────────────┐ │
│ │ Cross │ × N │ ← 解码器(Decoder)
│ │ Attention │ 层 │
│ │ + Feed Forward │ │
│ └─────────────────┘ │
│ ↓ │
│ 输出 │
└─────────────────────────────┘
关键组件
| 组件 | 作用 |
|---|---|
| Embedding | 把词转为向量 |
| 位置编码 | 告诉模型词的顺序 |
| 多头注意力 | 多角度关注关系 |
| Feed Forward | 非线性变换 |
| Layer Norm | 稳定训练 |
| 残差连接 | 防止梯度消失 |
多头注意力(Multi-Head)
单头注意力:一种视角看关系
多头注意力:多种视角同时看
头 1:关注语法关系(主谓宾)
头 2:关注语义关系(同义/反义)
头 3:关注指代关系("它"指什么)
头 4:关注长距离依赖
...
效果:多角度理解,更全面。
位置编码
Transformer 同时处理所有词,不知道词的顺序。位置编码解决这个问题:
没有位置编码:
"猫 追 狗" 和 "狗 追 猫" → 模型认为相同
有位置编码:
"猫(1) 追(2) 狗(3)" → 猫追狗
"狗(1) 追(2) 猫(3)" → 狗追猫
位置编码方式
| 方式 | 说明 | 用于 |
|---|---|---|
| 正弦编码 | 用 sin/cos 函数 | 原始 Transformer |
| 可学习编码 | 训练学习位置 | BERT、GPT |
| RoPE | 旋转位置编码 | LLaMA、Claude |
| ALiBi | 线性偏置 | 部分 LLM |
Encoder vs Decoder
Encoder(编码器)
- 作用:理解输入
- 特点:看到所有词(双向)
- 代表:BERT
- 适合:理解类任务(分类、NER)
Decoder(解码器)
- 作用:生成输出
- 特点:只看前面的词(单向)
- 代表:GPT
- 适合:生成类任务(写作、对话)
Encoder-Decoder
- 作用:理解 + 生成
- 代表:原始 Transformer、T5
- 适合:翻译、摘要
现代 LLM 多用 Decoder-only(如 GPT、Claude)。
Transformer vs RNN
| 维度 | RNN/LSTM | Transformer |
|---|---|---|
| 处理方式 | 逐词序列 | 并行全部 |
| 长距离依赖 | 弱(会遗忘) | 强(注意力) |
| 并行计算 | ❌ | ✅ |
| 训练速度 | 慢 | 快 |
| 计算复杂度 | O(n) | O(n²) |
| 适合 | 短序列 | 长序列 |
| 内存 | 低 | 高 |
注意:Transformer 的 O(n²) 复杂度是 上下文窗口 限制的根源。
Transformer 的演进
2017:Transformer(原始)
2018:BERT(Encoder-only,理解)
2018:GPT(Decoder-only,生成)
2019:GPT-2(更大)
2020:GPT-3(1750 亿参数)
2022:ChatGPT(RLHF 对齐)
2023:GPT-4(多模态)
2024:Claude 3.5 / GPT-4o
2025:Efficient Transformers(线性注意力)
Transformer 家族
| 家族 | 架构 | 代表 | 特点 |
|---|---|---|---|
| GPT 系 | Decoder-only | GPT-4o | 生成最强 |
| BERT 系 | Encoder-only | BERT/RoBERTa | 理解最强 |
| T5 系 | Encoder-Decoder | T5/Flan-T5 | 通用 |
| LLaMA 系 | Decoder-only | LLaMA 3 | 开源 |
| Claude 系 | Decoder-only | Claude 3.5 | 编程强 |
应用场景
1. 文本生成
输入:"写一首关于春天的诗"
Transformer → 生成诗歌
2. 机器翻译
输入:"Hello World"
Transformer → "你好世界"
3. 文本理解
输入:"这段话的情感是?"
Transformer → "正面/负面/中性"
4. 代码生成
输入:"写一个排序函数"
Transformer → 生成代码
5. 多模态
输入:图片 + "描述这张图"
Vision Transformer → 生成描述
常见误区
- 误区 1:Transformer = GPT。Transformer 是架构,GPT 是基于它的模型。
- 误区 2:Transformer 有"记忆"。Transformer 本身无记忆,记忆靠上下文窗口或外部存储。
- 误区 3:注意力 = 理解。注意力是计算关联度,不等于人类式理解。
- 误区 4:Transformer 不会遗忘。长上下文仍有"中间遗忘"问题。
- 误区 5:参数越多越好。架构、数据、训练方法同样重要。
- 误区 6:Transformer 是终点。新架构(Mamba/SSM)正在涌现。
局限性
| 局限 | 说明 | 解决方向 |
|---|---|---|
| O(n²) 复杂度 | 上下文窗口受限 | 稀疏注意力/线性注意力 |
| 无记忆 | 跨会话不记得 | RAG/Memory MCP |
| 幻觉 | 会编造信息 | RLHF/RAG |
| 计算成本高 | 训练+推理贵 | 量化/蒸馏 |
| 可解释性差 | 黑盒 | 注意力可视化 |
与其他术语的关系
- LLM:大语言模型,基于 Transformer
- Token:Transformer 处理的基本单位
- Embedding:Transformer 的输入层
- Context Window:受 O(n²) 复杂度限制
- Fine-tuning:在预训练 Transformer 上继续训练
小结
Transformer 是现代 AI 的技术基石:用注意力机制让模型理解词语间的关系,突破了 RNN 的限制。理解 Transformer 的关键要点:
- 核心是注意力机制:每个词"看到"所有其他词
- 并行计算:比 RNN 快,适合 GPU
- 长距离依赖:解决 RNN 遗忘问题
- Encoder vs Decoder:理解 vs 生成
- O(n²) 复杂度:上下文窗口的根源限制
从 2017 年的论文到 2026 年的 ChatGPT,Transformer 改变了 AI。理解它,就理解了现代 LLM 的工作原理。