Appearance
发展历史
理解 Transformer 为什么长这样,最好的方式是回到它的「进化树」。这一页用时间线串起关键节点,帮你看清每一步是为了解决什么问题。
前 Transformer 时代
RNN 与它的困境(1980s–2010s)
循环神经网络(RNN)用「隐藏状态」沿时间步传递信息,天然契合序列数据。
x1 x2 x3 x4
│ │ │ │
▼ ▼ ▼ ▼
┌───┐ h ┌───┐ h ┌───┐ h ┌───┐
│RNN├────►│RNN├────►│RNN├────►│RNN├────► h(传到下一步)
└───┘ └───┘ └───┘ └───┘
h0- 致命缺陷:必须一步步算,无法并行;序列一长,早期信息被反复相乘而衰减(梯度消失),「长距离依赖」学不动。
LSTM / GRU(1997 / 2014)
用「门控」机制(遗忘门、输入门、输出门)让信息可以选择性地长期保留,缓解了梯度消失,但依旧无法摆脱顺序计算的本质瓶颈。
seq2seq + 注意力(2014–2015)
Bahdanau、Luong 等人在机器翻译中提出 编码器-解码器(seq2seq) 框架,并在解码时引入「注意力」去动态查看源句的不同位置——这是 Transformer 的直接前身。但此时的骨干网络仍是 RNN,注意力只是「补丁」。
2017:Attention Is All You Need
Google 的 Vaswani 等人做出一个激进决定:扔掉 RNN,只用注意力。
论文标题本身就是宣言——「注意力就是你所需要的一切」。
关键设计:
- Scaled Dot-Product Attention:可并行的核心注意力。
- Multi-Head:多组注意力从不同子空间看关系。
- 位置编码:因为丢了 RNN 的顺序性,用编码把位置信息「补」回来。
- 堆叠 + 残差 + LayerNorm:让深层网络稳定可训练。
这一步让训练完全并行化,随着 GPU 算力爆发,模型规模得以迅速放大。
2018:预训练时代开启(「ImageNet 时刻」)
Transformer 结构被分别朝 Encoder、Decoder 两个方向简化,诞生了两座里程碑:
2018
┌────────────┴────────────┐
▼ ▼
GPT (OpenAI) BERT (Google)
Decoder-only Encoder-only
生成式预训练 双向理解预训练
→ 后续放大为 ChatGPT → 后续衍生大量变体- BERT:双向编码,擅长「理解」,刷爆各类 NLP 榜单。
- GPT:单向自回归,擅长「生成」,为后来的对话大模型铺路。
「大规模预训练 + 下游微调」成为新范式。
2019–2020:规模即能力
- GPT-2 → GPT-3(1750 亿参数)验证了 Scaling Law(缩放定律):参数、数据、算力一起放大,模型会「涌现」出少样本学习能力。
- Transformer 结构几乎未变,变的是规模与训练方式——这正说明这个架构的通用性与可扩展性。
2020–至今:大模型与效率革命
2020 2021 2022 2023 2024+
GPT-3 Codex/ InstructGPT ChatGPT爆火 LLaMA开源
达芬奇 DALL·E → RLHF GPT-4 MoE/长上下文
Claude/Gemini RoPE/GQA普及围绕原始 Transformer 的工程改良层出不穷:
| 改进方向 | 代表技术 | 解决的问题 |
|---|---|---|
| 位置编码 | RoPE、ALiBi | 更长上下文、外推能力 |
| 注意力效率 | FlashAttention、GQA/MQA、线性注意力 | O(n²) 显存与算力 |
| 归一化/激活 | Pre-LN、RMSNorm、SwiGLU | 训练稳定性、收敛速度 |
| 稀疏化 | MoE(混合专家) | 用更少算力激活更大参数 |
这些「进阶主题」本书最后会专门展开,并在 位置编码演进RoPE 中详解。
一张图看懂演进主线
RNN/LSTM ──(+注意力补丁)──► seq2seq ──(去掉RNN,全注意力)──► Transformer
│
┌──────────────────┬───────────────────┤
▼ ▼ ▼
BERT GPT/GPT-2 Encoder-Decoder
(理解范式) (生成范式) (T5翻译范式)
│
▼
Scaling Law → ChatGPT/LLaMA
│
▼
现代大模型(RoPE/GQA/MoE/FlashAttn)小结
- Transformer 不是凭空出现,而是为了解决 RNN 的并行与长依赖 痛点。
- 它的核心是 可并行的自注意力,位置信息靠 位置编码 补回。
- 2018 年分化为 BERT(理解) 与 GPT(生成) 两大流派,开启预训练时代。
- 后续大模型在结构不变的前提下,靠规模与工程优化(RoPE、GQA、MoE、FlashAttention)不断进化。
下一步
概念有了历史脉络,先动手把环境装好,边学边跑代码印象最深 → 环境搭建。