惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Project Zero
Project Zero
B
Blog RSS Feed
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
D
Docker
B
Blog
大猫的无限游戏
大猫的无限游戏
V
Vulnerabilities – Threatpost
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Schneier on Security
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
博客园 - 【当耐特】
IT之家
IT之家
云风的 BLOG
云风的 BLOG
L
Lohrmann on Cybersecurity
V
V2EX
Latest news
Latest news
S
Secure Thoughts
C
Check Point Blog
N
Netflix TechBlog - Medium
N
News | PayPal Newsroom
C
Cybersecurity and Infrastructure Security Agency CISA
The Register - Security
The Register - Security
The Cloudflare Blog
博客园_首页
博客园 - 三生石上(FineUI控件)
L
LINUX DO - 最新话题
W
WeLiveSecurity
G
GRAHAM CLULEY
量子位
T
The Exploit Database - CXSecurity.com
Security Latest
Security Latest
C
Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
GbyAI
GbyAI
A
Arctic Wolf
Attack and Defense Labs
Attack and Defense Labs
博客园 - 叶小钗
SecWiki News
SecWiki News
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
S
Security @ Cisco Blogs
小众软件
小众软件
N
News and Events Feed by Topic
WordPress大学
WordPress大学

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

国密算法与国密 TLS 系列索引 【系统架构设计】架构质量属性:不只是"高可用高性能" 【系统架构设计百科】告警策略:如何避免"狼来了" 【系统架构设计】CQRS:读写分离的架构哲学 【系统架构设计】空间架构:极端扩展场景的解法 【系统架构设计】微服务架构深度审视:优势、代价与适用边界 【系统架构设计】扩展性原理:水平、垂直与对角扩展 【系统架构设计】无状态设计:扩展的第一步也是最难的一步 【系统架构设计】缓存架构:从本地到分布式的多级缓存体系 【系统架构设计】管道与过滤器:Unix 哲学的架构表达 【系统架构设计】复杂性管理:架构的核心战场 【系统架构设计】消息队列架构:异步解耦的设计与陷阱 【系统架构设计】CDN 架构:全球加速的设计原理 【系统架构设计】连接池设计:被忽视的性能杀手 【系统架构设计】弹性设计模式:熔断器、舱壁与超时 【系统架构设计】高可用设计模式:冗余、故障转移与仲裁 【系统架构设计】容量规划:从拍脑袋到数据驱动 【系统架构设计】数据库扩展:分库分表的工程实践与替代方案 【系统架构设计】SLO 工程:可靠性的量化管理 【系统架构设计】性能建模:用数学思维分析系统瓶颈 【系统架构设计】混沌工程:主动验证系统的韧性 【系统架构设计】零拷贝与内存映射:数据搬运的极致优化 【系统架构设计】线程模型:从 thread-per-request 到协程 【系统架构设计】容灾架构:多活与灾备设计 【系统架构设计】数据库性能模式:索引、查询与连接管理 【系统架构设计】数据建模:从关系范式到文档模型的真实权衡 【系统架构设计】吞吐量优化:批处理、流水线与并发模型 【系统架构设计】流处理架构:从批处理到实时的范式迁移 【系统架构设计】搜索引擎架构:倒排索引之上的系统设计 【系统架构设计】时序数据架构:监控与 IoT 的存储设计 【系统架构设计】数据迁移与版本化:在线不停机的数据演进 【系统架构设计】数据湖与数据仓库:分析架构的演进路线 【系统架构设计】API 网关设计:入口层的职责边界 【系统架构设计】应用层数据一致性模式:在正确性与性能之间走钢丝 【系统架构设计】多模数据库选型:Polyglot Persistence 的工程实践 【系统架构设计】服务发现与注册:动态拓扑的基础设施 【系统架构设计】配置管理架构:从配置文件到配置中心 【系统架构设计】全链路压测:大规模系统的性能验证 【系统架构设计】幂等性设计:分布式环境下的安全重试 【系统架构设计】契约测试与 Schema 演进:服务间的信任协议 【系统架构设计】长连接与推送架构:WebSocket、SSE 与 MQTT 【系统架构设计】延迟分析:从 P50 到 P999 的全链路追踪 【系统架构设计百科】DDD 战术模式:聚合、实体与值对象 【系统架构设计百科】防腐层与开放主机服务:系统集成的 DDD 方案 【系统架构设计百科】领域事件与事件风暴:从业务到架构的桥梁 【系统架构设计百科】CQRS + Event Sourcing 完整实战:从领域建模到部署 【系统架构设计百科】DDD 与微服务:用领域模型划分服务边界 【系统架构设计】DDD 战略设计:限界上下文与上下文映射 【系统架构设计百科】认证架构:从 Session 到 JWT 到 OIDC 【系统架构设计】API 设计哲学:REST vs GraphQL vs gRPC 的真实权衡 排序算法专题:从 TimSort 到并行排序 【密码学百科】国密算法体系:SM2/SM3/SM4/SM9 全景解读 【密码学百科】承诺方案:Pedersen 承诺、向量承诺与多项式承诺 【密码学百科】不经意传输与隐私信息检索:OT、OT 扩展与 PIR 【密码学百科】门限密码学:门限签名、门限解密与分布式密钥生成 完美哈希:从理论到 gperf 实践 【密码学百科】安全多方计算:从 Yao 的混淆电路到实用 MPC 【密码学百科】同态加密:从 Paillier 到全同态加密(FHE) 【密码学百科】零知识证明系统:zk-SNARKs、zk-STARKs 与 Bulletproofs 【密码学百科】概率论与密码分析:生日攻击、差分分析与线性分析 【密码学百科】计算复杂性与归约:密码安全性证明的基石 【密码学百科】秘密共享:Shamir 方案、VSS 与安全多方计算入口 【密码学百科】椭圆曲线代数:Weierstrass 方程、点群运算与曲线选择 【密码学百科】离散对数与配对密码学:从 DLP 到 BLS 签名 【密码学百科】格密码数学基础:SVP、LWE 与格基约化 【密码学百科】抽象代数:群、环、域的密码学视角 【密码学百科】有限域算术:GF(2^n) 运算与在 AES/ECC 中的应用 【密码学百科】数论进阶:二次剩余、椭圆曲线上的 Weil 配对 【密码学百科】密码学简史:从凯撒密码到量子时代 【密码学百科】威胁模型与安全目标:CIA 三要素之外 【密码学百科】Kerckhoffs 原则与现代密码设计哲学 【密码学百科】随机性:密码学的基石 【密码学百科】信息论入门:熵、完美保密与 Shannon 定理 【密码学百科】分组密码原理:Feistel 网络与 SPN 结构 【密码学百科】AES 逐步拆解:SubBytes 到 MixColumns 的数学 【密码学百科】分组密码工作模式全览:ECB/CBC/CTR/OFB/CFB 【密码学百科】流密码:RC4 的兴衰与 ChaCha20 的崛起 【密码学百科】密码学哈希函数:MD5→SHA-2→SHA-3 的进化之路 【密码学百科】MAC 与 HMAC:消息认证的正确姿势 【密码学百科】认证加密(AEAD):GCM、ChaCha20-Poly1305 与 OCB 【密码学百科】密钥派生函数:HKDF、PBKDF2、Argon2 与密码存储 【密码学百科】公钥密码的数论基础:模运算、群、原根 【密码学百科】RSA 从原理到攻击:教科书 RSA 为什么不安全 【密码学百科】Diffie-Hellman 密钥交换与离散对数问题 【密码学百科】椭圆曲线密码学(ECC):从几何直觉到点群运算 【密码学百科】数字签名:ECDSA、EdDSA 与 Schnorr 签名 【密码学百科】现代密钥交换:X25519、ECDHE 与前向保密 【密码学百科】混合加密与 KEM/DEM 范式:ECIES 与 HPKE 【密码学百科】填充方案:PKCS#1 v1.5、OAEP 与 PSS 【密码学百科】TLS 协议全解析:从握手到 0-RTT 【密码学百科】PKI 与数字证书:信任链的构建与崩塌 【密码学百科】密码认证协议:从 SRP 到 OPAQUE 【密码学百科】零知识证明入门:如何证明你知道而不泄露 【密码学百科】安全信道构造:Noise 协议框架与 Signal 协议 【密码学百科】密钥管理工程:HSM、KMS 与密钥生命周期 【密码学百科】侧信道攻击:从时序攻击到功耗分析 【密码学百科】密码学实现陷阱:三层漏洞分类、审计工具链与系统性预防 密码敏捷性:如何设计可升级的密码系统 【密码学百科】OpenSSL/BoringSSL 架构剖析:ENGINE、Provider 与 FIPS 模块 排序基准测试:用数据说话
【Transformer 与注意力机制】19|《Attention Is All You Need》论文背景
2026-04-15 · via 土法炼钢兴趣小组的算法知识备份

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

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

《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 顺序:

  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 工程师/研究员的真正合作。

几个值得关注的人物:

  • 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,也是它能立刻被业界认可的工程基础。


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

  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:

  • 数据集: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-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 圈的反应大致是:

  • 机器翻译圈:迅速接受,因为 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 整体架构:一张图看懂

同主题继续阅读

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

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