🔧 Transformer 到底在干什么
从 RNN 的致命缺陷到 Attention 机制,再到 2026 年的通用 AI 骨架——一篇讲透 Transformer
✦ 本文目录
为什么需要 Transformer
在 Transformer 之前,RNN 统治着序列建模。但它有两个致命缺陷,让 AI 在长文本上始终无法突破。
问题起点2017 年,Google 的论文《Attention is All You Need》提出了 Transformer。它不是小修小补,而是彻底抛弃了循环结构——用注意力机制一次性看完全句,两个顽疾同时解决。
RNN 的两个致命缺陷
- 无法并行:必须按顺序处理,第 2 个词等第 1 个词算完才能开始
- 长程依赖丢失:信息在传递中不断衰减,第 1 个词到第 50 个词时几乎被遗忘
Transformer 的解法
- 全并行计算:所有词同时处理,GPU 利用率拉满
- 任意距离直连:第 1 个词和第 1000 个词之间只有一次点积,距离不再是障碍
Self-Attention:一句话的核心机制
Transformer 的全部灵魂。让每个词决定「该关注谁」,而不是机械地逐词传递。
核心机制三个向量:Q、K、V
每个词被映射为三个向量,可以类比为一场「相亲大会」:
Query(查询)
「我在找什么」——像相亲者的择偶标准,主动发出请求
Key(键)
「我有什么」——像相亲者的个人标签,等待被匹配
Value(值)
「我的实际内容」——匹配成功后真正传递的信息
四步计算流程
计算相关性分数
缩放防止饱和
归一化为权重
加权求和输出
Q·K 点积 = 相关性
Query 和 Key 做点积,点积越大说明越相关。就像搜索时,你的查询词和文档关键词的匹配度。每个词与句中所有词都算一遍,得到一个 n×n 的注意力分数矩阵。
÷ √d_k:为什么要缩放
当 d_k(向量维度)很大时,点积值会变得很大,导致 Softmax 进入梯度饱和区——所有概率集中在某一项上,其他项梯度接近零,模型学不动。除以 √d_k 把方差拉回 1,让训练稳定。
Softmax → 权重
把分数转成概率分布(和为 1)。相关性高的词权重大,相关性低的权重小。这就是「注意力」——模型决定把注意力分配给谁。
加权求和 Value
用权重对所有词的 Value 做加权平均,得到当前词的新表示。此时它不再是孤立的词,而是「融合了上下文的词」——「苹果」在「我吃苹果」和「苹果发布会」中会有不同的表示。
核心直觉:让模型自己决定关注什么。就像老师批改作文——不会平均分配注意力,而是根据上下文给不同段落不同权重。Self-Attention 把这个能力学进了权重里。
多头注意力:多个专家同时看
一个注意力头只学一种关系。多个头从不同角度审视同一句话,各司其职又相互补充。
能力扩展多头注意力(Multi-Head Attention)把 Q、K、V 分成 h 组,每组独立做 Attention,最后拼接。相当于雇佣多个专家,各自从不同角度分析同一句话,最后汇总结论。
Head 1:语法关系
关注「主语-谓语」「修饰-被修饰」等句法结构。比如「红色的」该修饰哪个名词。
Head 2:语义关系
关注词与词的语义关联。比如「猫」和「抓」之间的关系强度。
Head 3:共指消解
关注代词指代。比如「它」指的是前面哪个名词,跨句子也能捕捉。
更多头:更细粒度
头数越多,能捕捉的关系越多样。但收益递减——8 头是多数任务的最优解。
d_model 维
每头 d_model/8 维
8 组并行计算
恢复 d_model 维
| 头数 | 每头维度 | 总参数量 | 典型表现 |
|---|---|---|---|
| 1 | d_model | ~4×d_model² | 只能学一种关系,能力有限 |
| 8 | d_model/8 | ~4×d_model² | 多数任务的最优解 |
| 16 | d_model/16 | ~4×d_model² | 略有提升,收益递减 |
| 64 | d_model/64 | ~4×d_model² | 每头维度太小,反而下降 |
位置编码:让模型知道顺序
Self-Attention 是「无序」的——打乱句子顺序结果不变。必须额外注入位置信息。
必要补丁Attention 机制只看内容、不看顺序。对 Attention 来说,「猫追狗」和「狗追猫」是完全一样的——这显然不行。位置编码就是给每个词贴上一个「位置标签」,让模型知道谁在前谁在后。
原始方案:正弦位置编码
- 用不同频率的 sin/cos 函数生成位置向量
- 每个维度对应一个波长,从 2π 到 10000·2π
- 优势:可以泛化到训练时未见过的更长序列
- 劣势:绝对位置编码,相对关系表达不够直接
现代标准:RoPE 旋转位置编码
- 把位置信息编码为向量的旋转角度
- 天然表达相对位置——两个词的相对距离 = 旋转角度差
- 不引入额外参数,计算高效
- 已成为 GPT-4、Claude、DeepSeek、Llama 的标配
Encoder vs Decoder:三种架构
Transformer 原论文是 Encoder-Decoder 结构。但后来的实践证明,只留一半往往更好——取决于你要做什么。
架构选型Encoder-only(BERT)
擅长:理解。每个词能看到前后所有词(双向),适合分类、问答、信息抽取。代表:BERT、RoBERTa。不擅长生成——它会「偷看」未来词。
Decoder-only(GPT)
擅长:生成。每个词只能看前面的词(单向),天然适合「预测下一个词」。代表:GPT、Claude、DeepSeek、Llama。现代 LLM 几乎全是这个架构。
Encoder-Decoder(T5)
擅长:转换。编码器理解输入,解码器生成输出。适合翻译、摘要等 Seq2Seq 任务。代表:T5、BART。但通用能力不及 Decoder-only,逐渐式微。
| 架构 | 注意力方向 | 最佳场景 | 代表模型 | 2026 地位 |
|---|---|---|---|---|
| Encoder-only | 双向 | 理解 / 分类 / 抽取 | BERT | 特定任务仍在用 |
| Decoder-only | 单向(因果) | 生成 / 对话 / 通用 | GPT / Claude / DeepSeek | 绝对主流 |
| Enc-Dec | 编码双向 + 解码单向 | 翻译 / 摘要 | T5 / BART | 逐渐边缘化 |
为什么 Decoder-only 赢了?核心原因:下一个词预测是一个无比通用的训练目标——任何文本都可以拿来训练,不需要标注。Encoder 需要 MLM 任务(遮词预测),Enc-Dec 需要配对数据。Decoder-only 用最简单的目标 + 海量数据,反而学出了最通用的能力。
演进:从 2017 到 2026
Transformer 不是一成不变的。九年里,它在效率、长度、模态三个维度上不断进化——但核心架构未变。
发展脉络| 年份 | 里程碑 | 核心突破 | 意义 |
|---|---|---|---|
| 2017 | Original Transformer | Attention 机制 + 并行化 | 奠基之作,RNN 时代终结 |
| 2018 | BERT / GPT-1 | 预训练 + 微调范式 | 证明「先学再调」远超从头训 |
| 2020 | GPT-3 | 175B 参数 + In-Context Learning | Scaling Law 验证,Few-shot 涌现 |
| 2022 | ChatGPT | RLHF 对齐 | 让模型「听懂人话」,AI 走向大众 |
| 2025 | FlashAttention v3 | IO 感知的注意力加速 | 训练速度 4-6× 提升 |
| 2025 | Linear Attention | O(n) 复杂度替代 O(n²) | 超长序列成为可能 |
| 2026 | 128K+ 长上下文 | 稀疏注意力 + 分页 KV Cache | 单次处理整本书 |
最关键的洞察:Transformer 已经成为 AI 的通用骨架。文本(GPT/Claude)、图像(ViT)、音频(Whisper)、多模态(Gemini)——全部基于 Transformer。一个 2017 年的架构,统一了几乎所有 AI 任务。