土法炼钢兴趣小组的算法知识备份

【Transformer 与注意力机制】19|《Attention Is All You Need》论文背景

文章导航

分类入口
transformer
标签入口
#transformer#history#attention#paper-reading#vaswani#google#nmt

目录

〇、为什么要专门花一篇讲背景

读论文的人有两类:一类把它当成静态的知识封装,吸收完结论就行;另一类把它放回它诞生的时代里看,去理解作者当时面对的是什么问题、回避了什么问题、解决到了哪一步、又在哪些地方不知不觉走运。

《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 学术圈和工业界长这样:

在这个语境里,《Attention Is All You Need》的题目意味着什么?意味着挑衅:「我们扔掉 RNN 也能做翻译,而且更快更好」。


二、八位作者与他们的背景

论文署名八人,按 arXiv 顺序:

  1. Ashish Vaswani(Google Brain)
  2. Noam Shazeer(Google Brain)
  3. Niki Parmar(Google Research)
  4. Jakob Uszkoreit(Google Research)
  5. Llion Jones(Google Research)
  6. Aidan N. Gomez(多伦多大学,实习生)
  7. Łukasz Kaiser(Google Brain)
  8. Illia Polosukhin(Google Research)

论文最后还有一行:「Equal contribution」——八人贡献相等,作者顺序是「random」的。这种排序方式在当时颇罕见,反映出这篇工作不是「老板挂名学生干活」的传统模式,而是一群高 caliber 工程师/研究员的真正合作。

几个值得关注的人物:

八人后续都成了 AI 领域的重要人物,几乎没人留在 Google 原岗位——这本身是 2018–2022 年「Transformer 黑帮」(被 Wired 杂志称为 Transformer Mafia)现象的一部分。


三、Google Brain 与 Google Translate:两条业务线的合流

这篇论文表面是 Google Brain 的研究成果,但背后还有一条隐藏的脉络:Google Translate 团队的工程压力

GNMT 上线后,Google 翻译团队需要在生产环境维护一个庞大的、每月迭代的翻译模型。他们面对的真实痛点不是「翻译效果不够好」,而是:

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 真正的前身有几个:

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》到底说了什么

论文的真正贡献可以归纳为五点:

  1. 完全去掉 RNN 和 CNN,仅用 attention 和 FFN 构造序列模型。
  2. Multi-head self-attention(第 16 篇):把 attention 拆成多个并行 head。
  3. Positional encoding(第 11 篇):用 sin/cos 给纯位置无关的 attention 加上位置信息。
  4. Encoder-decoder 架构 + cross-attention:保留 seq2seq 的整体框架但内部全用 attention。
  5. 训练速度大幅提升:8 卡 P100、3.5 天达到 SOTA。

注意这里没有预训练、没有 in-context learning、没有 chain-of-thought、没有 instruct-tuning。这些后来「让 Transformer 真正改变世界」的东西都不在原论文里。

原论文做的事情非常聚焦:机器翻译这一个任务上,证明纯 attention 架构能 work 而且训得快。它甚至没敢把模型推到很大——base 65M、big 213M,今天都属于「小到可以塞进手机」的级别。


七、论文的实验设定

论文实验非常 minimal:

结果(论文 Table 2):

这些数字按今天的眼光看不算夸张,但当时是实打实的 SOTA + 训练时间数量级缩短。


八、Post-LN 的「错误」与历史的细节

论文图 1 标注的归一化位置是 Post-LN(先 Add 再 LayerNorm):LayerNorm(x + Sublayer(x))

2018–2020 年大量工程实践发现,Post-LN 在深层(L > 12)上训练极不稳定,需要非常仔细的 warmup、学习率调度。GPT-2、GPT-3 内部都改成了 Pre-LNx + 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 圈的反应大致是:

真正的爆发是 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 的对手或变种,但都没能成为主流:

这告诉我们:Transformer 的「少改动 + 多 scale + 好工程」路线,在过去七年里击败了几乎所有「精巧但小修小补」的变体。Bitter Lesson 的又一例证。


十四、关键概念回顾


十五、常见误解


十六、下一步

下一篇(第 20 篇)是本系列前半部分的总结:把所有零散的模块(attention、QKV、多头、mask、位置编码、FFN、残差、归一化)拼成一张完整的 Transformer 架构图,跟随一个 token 走完从输入到输出的全旅程。读完第 20 篇,你应该能闭上眼睛画出 Transformer 的全貌、解释每个箭头为什么存在。


参考文献


← 上一篇:18. 注意力的复杂度问题 | 下一篇:20. Transformer 整体架构:一张图看懂

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-04-15 · 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 的雏形。

2026-04-15 · transformer

【Transformer 与注意力机制】01|为什么要从这里开始

这是【Transformer 与注意力机制】系列的第一篇,承担两件事:一是把这套五十多篇文章为谁写、解决什么问题、彼此之间是什么关系交代清楚;二是为完全没基础的读者画出一条从向量、点积、矩阵乘法走到自注意力、再走到大语言模型的爬升路径,让你在投入时间之前先知道终点在哪、路上要经过哪些坎、读完之后你会、还不会做什么事。

2026-04-15 · transformer

【Transformer 与注意力机制】系列总览

从《Attention Is All You Need》出发,把注意力机制、Transformer 架构、训练范式、模型变体、推理工程、可解释性与未来架构串成一条 58 篇的深度博客线。


By .