〇、为什么要专门花一篇讲背景
读论文的人有两类:一类把它当成静态的知识封装,吸收完结论就行;另一类把它放回它诞生的时代里看,去理解作者当时面对的是什么问题、回避了什么问题、解决到了哪一步、又在哪些地方不知不觉走运。
《Attention Is All You Need》是后一种值得反复读的论文。它在 2017 年发表时,没有人——包括它的八位作者——预料到它会成为接下来七年里所有大语言模型、所有图像生成模型、所有多模态模型的共同祖先。它当时只是一篇做机器翻译的工程论文,标题里的「all you need」是一句带有挑衅意味的玩笑。它的实验只跑到了 BLEU 28.4 这个数字、训练时间也只是 3.5 天 8 卡 P100,规模放在今天连一篇 demo 都谈不上。
但正是这篇看似平凡的论文里,藏着今天我们所知的大模型时代的全部基因。本篇不教 attention 是什么(前面 18 篇已经说尽),也不重述论文公式,而是去做一件别的事:把这篇论文放回 2017 年的语境里,看它解决的是什么问题、它之所以那么写是因为什么压力、它哪些选择是有意为之、哪些选择是误打误撞。理解了这些,你回头再读论文时会发现自己看到的是另一篇文章。
一、2017 年 6 月:论文出现时的世界
要理解一篇论文的意义,先要理解它出现时的世界长什么样。
2017 年 6 月,整个 NLP 学术圈和工业界长这样:
- 机器翻译是 NLP 的旗舰任务。Google Translate 在 2016 年 9 月把生产环境从短语统计 MT(PBMT)切到了神经 MT(GNMT),翻译质量肉眼可见地飞跃,全行业都被震动了。学术圈对 NMT 的热情达到顶点,每个 NLP 实验室都在做翻译。
- LSTM 是事实标准。所有的 seq2seq、所有的对话模型、所有的语言模型,全是 LSTM。GRU 被认为是 LSTM 的轻量替代。Schmidhuber 1997 年的 LSTM 在 20 年后才真正统治了序列建模。
- attention 是 LSTM 的「外挂」。Bahdanau 2015、Luong 2015 提出的 attention 都被定位成 RNN 的辅助机制——RNN 仍然是主体,attention 只是帮助 decoder 「看」回 encoder。
- 训练慢是公认的痛苦。GNMT 训练要好几天到一周,因为 LSTM 的时间步必须串行。Facebook 的 ConvS2S(2017 年 5 月)开始尝试用 CNN 做 seq2seq 来并行化,引起讨论。
- 预训练这个概念在 NLP 里基本不存在。word2vec、GloVe 是有的(词嵌入预训练),但「先用大量文本预训练一个巨大的 LM 再去 fine-tune 下游任务」的范式还没有诞生。BERT 还要再等 17 个月。
- 「大模型」在 NLP 里指的是 1B 参数以下的东西。GPT 还没出现。GPT-2 要再等 1 年半。
在这个语境里,《Attention Is All You Need》的题目意味着什么?意味着挑衅:「我们扔掉 RNN 也能做翻译,而且更快更好」。
二、八位作者与他们的背景
论文署名八人,按 arXiv 顺序:
- Ashish Vaswani(Google Brain)
- Noam Shazeer(Google Brain)
- Niki Parmar(Google Research)
- Jakob Uszkoreit(Google Research)
- Llion Jones(Google Research)
- Aidan N. Gomez(多伦多大学,实习生)
- Łukasz Kaiser(Google Brain)
- Illia Polosukhin(Google Research)
论文最后还有一行:「Equal contribution」——八人贡献相等,作者顺序是「random」的。这种排序方式在当时颇罕见,反映出这篇工作不是「老板挂名学生干活」的传统模式,而是一群高 caliber 工程师/研究员的真正合作。
几个值得关注的人物:
- Noam Shazeer 后来去做了 MoE(Sparse MoE Transformer,2017)、然后离开 Google 创办 Character.AI(2021),2024 年又被 Google 以巨资请回。他被广泛认为是 Transformer 真正的核心作者之一。
- Łukasz Kaiser 当时在做 Tensor2Tensor(论文里实验框架就是它),后来去了 OpenAI,是 GPT 系列工作的重要参与者。
- Aidan Gomez 当时只是多伦多大学的本科实习生,后来创办了 Cohere。
- Illia Polosukhin 后来离开做了 NEAR Protocol 区块链项目。
- Jakob Uszkoreit 后来创办了 Inceptive 做生物医药 AI。
八人后续都成了 AI 领域的重要人物,几乎没人留在 Google 原岗位——这本身是 2018–2022 年「Transformer 黑帮」(被 Wired 杂志称为 Transformer Mafia)现象的一部分。
三、Google Brain 与 Google Translate:两条业务线的合流
这篇论文表面是 Google Brain 的研究成果,但背后还有一条隐藏的脉络:Google Translate 团队的工程压力。
GNMT 上线后,Google 翻译团队需要在生产环境维护一个庞大的、每月迭代的翻译模型。他们面对的真实痛点不是「翻译效果不够好」,而是:
- 训练一次新模型要 1 周以上(LSTM 串行)。
- 实验迭代速度极慢,调一个超参要等几天。
- LSTM 的长依赖建模在长句子上还是有问题。
Google Brain(更研究导向)和 Translate(更产品导向)一直有人员往来。Vaswani 等人做 Transformer 的初心,很大程度上就是要解决「让翻译模型训得更快」这个工程问题——这就是为什么论文里特别强调 「3.5 days on 8 P100 GPUs」 这一句的。在当时的同行眼里,这不是模型规模数字,而是一个奢侈的「快」字:当年 ConvS2S 训 GNMT 同等水平要好几天 hugely 多卡,GNMT 自己更慢,Transformer 大幅缩短了整个迭代周期。
理解这一点很重要:Transformer 在诞生时是一个为「训练效率」而生的架构,不是为「容量」而生的架构。它的并行性是优化目标,attention 的全局连接是手段。今天我们说 Transformer 因为 attention 能 model 长依赖所以强大,这种叙事是事后构造的。当年作者真正想要的,是把 N 个时间步的串行计算变成可并行的矩阵乘法。
四、自注意力的真正前身:不是 Bahdanau
很多教程把 Bahdanau 2015 称为 self-attention 的祖先。这是不准确的。Bahdanau attention 是 decoder-encoder 之间的 cross-attention,不是 self-attention。
self-attention 真正的前身有几个:
- Cheng, Dong, Lapata 2016: “Long Short-Term Memory-Networks for Machine Reading”。在这篇文章里,他们让 LSTM 的某个 step 不仅依赖前一步隐状态,还可以「attend」到自己历史的所有隐状态。这是「让一个序列内部产生 attention」的早期想法。
- Parikh et al. 2016: “A Decomposable Attention Model” (Google Research)。Niki Parmar 团队的工作,把 attention 用作两个文本之间相似度建模的核心而非辅助。
- Lin et al. 2017 (March): “A Structured Self-Attentive Sentence Embedding”。专门用 self-attention 做句子表示。
- Vaswani 等人内部前作: 论文里多次引用了 Google 内部对 self-attention 的早期实验。
Transformer 的创新不是「发明」了 self-attention,而是把 self-attention 推到了极端:整个网络都不要 RNN/CNN 了,纯靠 self-attention 堆叠。在 2017 年,「能不能完全没有 RNN」这个问题本身就是大胆的——绝大多数同行的反应是「太疯狂」。
五、ConvS2S 的压力:并行化竞赛
2017 年 5 月,Facebook 的 Gehring 等人发表了 “Convolutional Sequence to Sequence Learning”(ConvS2S),用 CNN 替代 RNN 做 seq2seq,BLEU 在 WMT’14 EN-FR 达到 40.46,超过 GNMT。这篇在当时是个大新闻。
ConvS2S 的卖点正是并行化:CNN 可以并行计算所有时间步,比 LSTM 快几倍。
Google Brain/Translate 团队一定从中嗅到了威胁。Transformer 论文的实验对照里,ConvS2S 是核心 baseline 之一。Vaswani 们要回应的问题是:能不能用 attention 同样实现并行化,而且效果更好?
答案就是论文里展示的:Transformer big 在 EN-DE 上达到 28.4(ConvS2S 是 25.16),EN-FR 上 41.8(ConvS2S 是 40.46)。用更小的模型、更短的训练时间、超过了 ConvS2S 和 GNMT。这是论文的核心 selling point,也是它能立刻被业界认可的工程基础。
六、《Attention Is All You Need》到底说了什么
论文的真正贡献可以归纳为五点:
- 完全去掉 RNN 和 CNN,仅用 attention 和 FFN 构造序列模型。
- Multi-head self-attention(第 16 篇):把 attention 拆成多个并行 head。
- Positional encoding(第 11 篇):用 sin/cos 给纯位置无关的 attention 加上位置信息。
- Encoder-decoder 架构 + cross-attention:保留 seq2seq 的整体框架但内部全用 attention。
- 训练速度大幅提升:8 卡 P100、3.5 天达到 SOTA。
注意这里没有预训练、没有 in-context learning、没有 chain-of-thought、没有 instruct-tuning。这些后来「让 Transformer 真正改变世界」的东西都不在原论文里。
原论文做的事情非常聚焦:机器翻译这一个任务上,证明纯 attention 架构能 work 而且训得快。它甚至没敢把模型推到很大——base 65M、big 213M,今天都属于「小到可以塞进手机」的级别。
七、论文的实验设定
论文实验非常 minimal:
- 数据集:WMT 2014 EN-DE (4.5M 句对) 和 EN-FR (36M 句对)
- 硬件:1 台 8×NVIDIA P100 GPU 的机器
- 训练时间:base 12 小时(100k step),big 3.5 天(300k step)
- 主要指标:BLEU
- baseline:GNMT、ConvS2S、ByteNet、MoE
结果(论文 Table 2):
- WMT’14 EN-DE:base 27.3,big 28.4(前 SOTA 26.03)
- WMT’14 EN-FR:base 38.1,big 41.8(前 SOTA 40.46)
这些数字按今天的眼光看不算夸张,但当时是实打实的 SOTA + 训练时间数量级缩短。
八、Post-LN 的「错误」与历史的细节
论文图 1 标注的归一化位置是 Post-LN(先
Add 再
LayerNorm):LayerNorm(x + Sublayer(x))。
2018–2020 年大量工程实践发现,Post-LN 在深层(L >
12)上训练极不稳定,需要非常仔细的
warmup、学习率调度。GPT-2、GPT-3 内部都改成了
Pre-LN(x + Sublayer(LayerNorm(x))),稳定性大幅提升,warmup
可以省掉。
这是一个细节但有意义:原论文的「正确」配置在历史中被悄悄地修正。今天几乎所有大模型都是 Pre-LN(或它的变体 RMSNorm 在 Pre-LN 位置上)。这告诉我们:论文里写的东西不一定是后来工业界用的东西。读论文时要注意区分「2017 年的设计」和「今天的标准」。
九、warmup 的必要性
论文里设了 4000 步的学习率 warmup(lr 从 0 线性增长到 peak,再按 inverse sqrt 衰减)。
这是 Post-LN 不稳定的另一面表现。Post-LN 在训练初期梯度容易爆炸,必须 warmup 把学习率压低、让 LayerNorm 的统计量稳定下来。如果不 warmup,模型会在头几百步发散。
后来 Pre-LN 普及后,warmup 可以缩短或省掉。但 Adam 类优化器本身的二阶矩估计前期不稳定,warmup 仍是好实践。
在今天的大模型训练里,warmup 仍是标配,但原因和原论文已经不完全一样。
十、论文的接收度:当年的反应
《Attention Is All You Need》在 NeurIPS 2017 被接收为 poster(不是 oral),这在事后看是有点令人意外的。当时的 NLP 圈和 ML 圈的反应大致是:
- 机器翻译圈:迅速接受,因为 SOTA + 训练时间优势太明显,几乎所有 NMT 系统在 2018 年内都迁移到 Transformer。
- NLP 整体:观望。多数人认为这是「翻译领域的论文」,自己做的任务不一定适用。
- CV 圈:完全无视。当时没人觉得 attention 能做 CV。
真正的爆发是 2018 年下半年的 BERT。Google AI 的 Devlin 等人证明了 Transformer encoder 可以预训练成通用语言表示,下游任务全面 SOTA。这才把整个 NLP 圈拉到了 Transformer 的旗帜下。
然后 2018 年 6 月 OpenAI 发了 GPT-1(Transformer decoder 预训练),2019 年 GPT-2,2020 年 GPT-3——decoder-only 路线被验证。CLIP、ViT、Stable Diffusion、ChatGPT 接连而至。
到 2024 年,《Attention Is All You Need》Google Scholar 引用数超过 13 万,是过去十年被引用最多的 ML 论文之一。
十一、论文里被忽视的细节
重读这篇论文时,我会注意几个常被忽视的细节:
1)embedding 与输出投影权重共享。论文
3.4 节明确写了
we share the same weight matrix between the two embedding layers and the pre-softmax linear transformation。这种共享在当时是
NMT
圈的常见做法,今天的大模型基本不再共享(因为词表巨大、输出层独立训练效果更好)。
2)label smoothing ε=0.1。论文用了 label smoothing,BLEU 涨 0.3。这种正则化技巧今天基本被淘汰(大模型靠 scale,不需要这种小 trick)。
3)attention dropout。Dropout 加在 attention weights 上而不只是隐藏层上。今天大模型甚至 dropout 都很少用了。
4)beam size = 4,length penalty α = 0.6。论文给的 inference 参数。今天 LLM 推理都不用 beam search 了,主要是 sampling + temperature。
5)参数量计算。base 模型 65M:6 层 × (4 × 512² + 2 × 2048 × 512) ≈ 6 × (1.05M + 2M)·参数 + embedding。具体数字与论文一致。
6)BPE 词表大小。EN-DE 用 37k joint BPE,EN-FR 用 32k word-piece。今天 LLM 词表是 32k–256k 量级。
这些细节告诉我们:Transformer 的核心思想极其简洁,但论文里的实现细节是 2017 年的产物。每隔几年,社区都会更新这些细节(位置编码改 RoPE、归一化改 RMSNorm、激活改 SwiGLU、attention 加 KV cache 优化等),但核心结构七年不变。
十二、为什么 decoder-only 最后赢了
论文展示的是 encoder-decoder 架构。但今天主流大模型(GPT、LLaMA、Claude、Gemini、Qwen)几乎全是 decoder-only。这个转向是怎么发生的?
第一次转向:BERT vs GPT(2018)。BERT 用 encoder-only 做理解类任务,GPT 用 decoder-only 做生成。两条路线并行。
第二次转向:T5 试图统一(2019)。Google 的 T5 用完整 encoder-decoder 把所有 NLP 任务都框架成「text-to-text」,效果好但工程复杂。
第三次转向:GPT-3 验证 in-context learning(2020)。OpenAI 发现纯 decoder-only 模型放大到 175B 后能 emergent 出 in-context learning 能力——给几个示例就能学新任务。这是 encoder-decoder 没有的特性。
第四次转向:ChatGPT 出圈(2022.11)。decoder-only + RLHF 一举奠定了「对话式 AI」的产品形态。从此 decoder-only 成为 LLM 的事实标准。
回看《Attention Is All You Need》,其实它已经为这个未来铺好了路:因为 decoder 是 encoder 的「带 mask 的版本」,从 encoder-decoder 简化到 decoder-only 只是去掉一半。如果 2017 年作者已经知道 decoder-only 这么强,可能根本不会在论文里讲 encoder-decoder。但他们当时面对的是机器翻译这个本质上是 seq2seq 的任务,encoder-decoder 是默认选择。
十三、那些「成不了主流」的同期工作
2017–2019 年涌现了一批 Transformer 的对手或变种,但都没能成为主流:
- ConvS2S(FB, 2017):纯 CNN seq2seq,被 Transformer 完全取代。
- Universal Transformer(Google, 2018):在层间循环用同一组参数,理论优雅但工业用得少。
- Reformer(Google, 2020):用 LSH attention 降复杂度,工程过于复杂没能落地。
- Performer / Linformer(2020):线性 attention(第 18 篇讨论过)。
- Longformer / BigBird(2020):长上下文专用,被 FlashAttention 时代部分淘汰。
- AlBERT(2019):参数共享版 BERT,质量打不过 RoBERTa。
这告诉我们:Transformer 的「少改动 + 多 scale + 好工程」路线,在过去七年里击败了几乎所有「精巧但小修小补」的变体。Bitter Lesson 的又一例证。
十四、关键概念回顾
- 论文 2017 年 6 月发表,作者 8 人 equal contribution。
- 当时背景:LSTM 主导、ConvS2S 刚出、机器翻译是旗舰任务、没有预训练范式。
- Transformer 的核心动机是训练并行化而非容量。
- 论文实验只在 WMT 翻译上,没有预训练、没有大模型规模。
- Post-LN 后被 Pre-LN 取代,warmup 从必需逐步弱化。
- BERT、GPT 等是论文的「下游应用」,把 Transformer 推向通用。
- 论文 Google Scholar 引用 13 万+,几乎所有现代生成模型的祖先。
十五、常见误解
- 「Transformer 的核心创新是 attention」——不准确。attention 在 2014 年就有,self-attention 也有前作。Transformer 的真正创新是「全部用 attention 不用 RNN」+ multi-head + positional encoding 的组合。
- 「论文一发表就引爆 NLP」——错。当时只是被 NMT 圈接受,全行业转向是 BERT 之后的事。
- 「论文展示的是 decoder-only」——错。原论文是 encoder-decoder 用于翻译。
- 「论文里有 GPT/BERT 的雏形」——只能说有 encoder/decoder 的模块,但 pretraining-finetuning 范式当时根本没有。
- 「Transformer 当年很大」——错。base 65M、big 213M,按今天看都是玩具。
- 「八位作者后来都留在 Google」——错。几乎所有人都离开了,去做了 Cohere、Character.AI、NEAR、Inceptive 等创业项目。
十六、下一步
下一篇(第 20 篇)是本系列前半部分的总结:把所有零散的模块(attention、QKV、多头、mask、位置编码、FFN、残差、归一化)拼成一张完整的 Transformer 架构图,跟随一个 token 走完从输入到输出的全旅程。读完第 20 篇,你应该能闭上眼睛画出 Transformer 的全貌、解释每个箭头为什么存在。
参考文献
- Vaswani A. et al. Attention Is All You Need. NeurIPS 2017. arXiv:1706.03762.
- Bahdanau D., Cho K., Bengio Y. Neural Machine Translation by Jointly Learning to Align and Translate. ICLR 2015. arXiv:1409.0473.
- Luong M., Pham H., Manning C. D. Effective Approaches to Attention-based Neural Machine Translation. EMNLP 2015. arXiv:1508.04025.
- Cheng J., Dong L., Lapata M. Long Short-Term Memory-Networks for Machine Reading. EMNLP 2016. arXiv:1601.06733.
- Parikh A. P., Täckström O., Das D., Uszkoreit J. A Decomposable Attention Model for Natural Language Inference. EMNLP 2016. arXiv:1606.01933.
- Lin Z. et al. A Structured Self-Attentive Sentence Embedding. ICLR 2017. arXiv:1703.03130.
- Gehring J. et al. Convolutional Sequence to Sequence Learning. ICML 2017. arXiv:1705.03122.
- Wu Y. et al. Google’s Neural Machine Translation System (GNMT). 2016. arXiv:1609.08144.
- Devlin J., Chang M., Lee K., Toutanova K. BERT. NAACL 2019. arXiv:1810.04805.
- Radford A. et al. Improving Language Understanding by Generative Pre-Training(GPT-1). 2018.
- Brown T. et al. Language Models are Few-Shot Learners(GPT-3). NeurIPS 2020. arXiv:2005.14165.
- Levine A. The Inside Story of How ChatGPT Was Built. Wired, 2023.
- 关于「Transformer Mafia」的报道,可参见 Wired、Bloomberg 2023–2024 系列文章。
← 上一篇:18. 注意力的复杂度问题 | 下一篇:20. Transformer 整体架构:一张图看懂 →
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。
【Transformer 与注意力机制】12|Bahdanau Attention:注意力的早期形态
把 Bahdanau, Cho, Bengio 2014 那篇「Neural Machine Translation by Jointly Learning to Align and Translate」逐项拆开。固定 context vector 的瓶颈、双向 RNN 编码、additive attention 公式 vᵀtanh(W₁s + W₂h)、与 Luong 2015 multiplicative attention 的取舍,以及为什么这是 Q/K/V 的雏形。
【Transformer 与注意力机制】03 矩阵乘法的两种视角
把矩阵乘法掰开成两种等价但风格不同的视角——『行 × 列』的点积视角和『列的线性组合』视角,最终落到 QK^T 的形状分析。
【Transformer 与注意力机制】01|为什么要从这里开始
这是【Transformer 与注意力机制】系列的第一篇,承担两件事:一是把这套五十多篇文章为谁写、解决什么问题、彼此之间是什么关系交代清楚;二是为完全没基础的读者画出一条从向量、点积、矩阵乘法走到自注意力、再走到大语言模型的爬升路径,让你在投入时间之前先知道终点在哪、路上要经过哪些坎、读完之后你会、还不会做什么事。
【Transformer 与注意力机制】系列总览
从《Attention Is All You Need》出发,把注意力机制、Transformer 架构、训练范式、模型变体、推理工程、可解释性与未来架构串成一条 58 篇的深度博客线。