Attention Is All You Need:关键 Reference 技术分析

0. 定位

原论文:Vaswani et al., 2017, Attention Is All You Need,arXiv:1706.03762。论文提出 Transformer:一个完全基于注意力机制、去掉循环和卷积的序列转导模型。论文的关键不只是提出一个新模块,而是把 2014-2017 年神经机器翻译、注意力、并行序列建模和深层网络训练技术重新组合成一个更适合 GPU 并行训练的架构。

这份 wiki 分析论文中最关键的 reference。重点不是完整复述 40 篇参考文献,而是解释哪些引用真正支撑了 Transformer 的设计选择。

技术图谱

下面三张图按不同粒度整理这篇论文的技术演进和机制细节:

  1. 技术演进图:从 Seq2Seq、attention、CNN 序列模型、训练配方到 Transformer 的重组。
  2. Block 机制图:Q/K/V、multi-head attention、mask、FFN、residual、LayerNorm 的内部数据流。
  3. 复杂度与 LLM 演进图:RNN/CNN/self-attention 的路径长度和复杂度差异,以及后续 LLM 的主要改造方向。

Transformer 技术演进图

Transformer Block 机制图

Transformer 复杂度与 LLM 演进图

1. 技术主线总览

Transformer 的引用链可以分成六条技术主线:

主线 代表 reference 被 Transformer 继承的东西 Transformer 的改变
Seq2Seq 编码器-解码器 Sutskever et al. 2014;Cho et al. 2014 encoder-decoder、自回归解码 保留框架,替换 RNN 计算核心
机器翻译注意力 Bahdanau et al. 2014;Luong et al. 2015 decoder 查询 encoder 表示、软对齐 从 cross-attention 扩展到 self-attention,并多头化
工业级 NMT 基线 GNMT, Wu et al. 2016 深层 LSTM、attention、残差、wordpiece、beam search 用更并行的架构取得更低训练成本
非循环并行序列模型 ByteNet;ConvS2S;Neural GPU 去掉或弱化 RNN 的顺序瓶颈 进一步去掉卷积,用全局 self-attention 连接所有位置
自注意力和记忆机制 Decomposable Attention;Structured Self-Attention;Memory Networks intra-attention、可解释对齐、多位置聚合 首次把 self-attention 作为完整转导模型的主干
训练与工程稳定性 ResNet、LayerNorm、Adam、Dropout、Label Smoothing、BPE、weight tying 深层训练稳定性、正则化、子词建模 组合成可扩展的 Transformer 训练配方

2. Seq2Seq 基础:Transformer 保留了框架,但替换了计算单元

2.1 Sutskever et al. 2014:Sequence to Sequence Learning with Neural Networks

技术作用:奠定神经机器翻译里的 encoder-decoder 模式。输入序列被编码成向量或状态,decoder 按自回归方式生成输出 token。

对 Transformer 的影响:

  • Transformer 沿用 encoder-decoder 结构。
  • decoder 仍然是 auto-regressive:预测第 t 个 token 时只能使用 < t 的目标侧信息。
  • 训练和推理仍依赖 teacher forcing / beam search 这类 seq2seq 范式。

Transformer 的改变:

  • 不再用 LSTM 把序列位置映射成时间步。
  • encoder 输出不是一个固定向量,而是一组可被 decoder cross-attention 查询的上下文向量。
  • decoder 的历史依赖由 masked self-attention 表达,而不是 RNN 隐状态传递。

2.2 Cho et al. 2014:RNN Encoder-Decoder / GRU

技术作用:提出 RNN Encoder-Decoder,用两个 RNN 分别编码源序列和生成目标序列,并引入 GRU 这类门控循环结构。论文证明神经模型可以学习语义和句法上有意义的短语表示。

对 Transformer 的影响:

  • 明确了条件序列建模形式 P(y | x)
  • 机器翻译系统可以端到端学习,而不是只依赖短语表和人工特征。

Transformer 的改变:

  • 去掉 recurrent state,把 token 间关系交给注意力矩阵。
  • 原来的“状态压缩”问题转化为“任意位置可直接交互”的问题。

3. 注意力机制:从软对齐到多头自注意力

3.1 Bahdanau et al. 2014:Neural Machine Translation by Jointly Learning to Align and Translate

这是 Transformer 最关键的前置工作之一。Bahdanau attention 解决了早期 encoder-decoder 的固定长度瓶颈:decoder 每一步不只读一个最终向量,而是动态搜索源句中相关部分。

核心技术:

  • encoder 产生每个源位置的 annotation。
  • decoder 每个时间步产生 query。
  • 用一个可学习的对齐函数计算源位置权重。
  • 将源表示加权求和成 context vector。

对 Transformer 的影响:

  • Transformer 的 encoder-decoder attention 直接继承“decoder 查询 encoder 表示”的模式。
  • 注意力权重被视为软对齐,对机器翻译特别自然。
  • “距离不影响依赖建模”这一思想在 Transformer 中被推进到 self-attention。

Transformer 的改变:

  • Bahdanau attention 通常和 RNN decoder 配合;Transformer 把 RNN decoder 本身也替换成 masked self-attention。
  • Bahdanau 使用 additive attention;Transformer 主要使用 scaled dot-product attention。
  • 原始 attention 是单一对齐空间;Transformer 用 multi-head attention 并行学习多个表示子空间。

3.2 Luong et al. 2015:Effective Approaches to Attention-based NMT

技术作用:系统比较全局 attention 和局部 attention,推动 attention-based NMT 成为强基线。Luong attention 中常见的 dot-product / multiplicative attention 是 Transformer scaled dot-product attention 的直接前身。

对 Transformer 的影响:

  • 点积注意力可高效映射到矩阵乘法。
  • global attention 证明了“每一步看全部源位置”在翻译中有效。
  • local attention 提供了降低计算量的思路,Transformer 结论中也提到未来研究 local / restricted attention。

Transformer 的改变:

  • 原始 dot-product 在维度较大时 softmax 易饱和;Transformer 加上 1 / sqrt(d_k) 缩放。
  • attention 不再只是 decoder 到 encoder 的附属模块,而成为每层的主计算。

3.3 Britz et al. 2017:Massive Exploration of NMT Architectures

技术作用:大规模实验比较 NMT 架构超参数。它说明当时 RNN NMT 的架构搜索成本非常高,训练一次可能消耗大量 GPU 时间。

对 Transformer 的影响:

  • Transformer 论文把“训练成本”作为核心论点,而不是只报 BLEU。
  • 并行化不只是工程优化,而是架构创新目标。

Transformer 的改变:

  • 将顺序计算路径从 O(n) 降到每层常数级路径。
  • 用更少训练时间达到或超过 RNN / CNN 基线。

4. 工业级机器翻译基线:GNMT

4.1 Wu et al. 2016:Google's Neural Machine Translation System

GNMT 是 Transformer 论文中最重要的实际系统对照之一。GNMT 使用深层 LSTM encoder-decoder、attention、residual connections、wordpiece、beam search、length normalization 和 coverage penalty。

对 Transformer 的影响:

  • Transformer 沿用子词 vocabulary、beam search 和 length penalty 这类成熟 NMT 工程组件。
  • GNMT 的深层 LSTM + attention 是当时强大的 production-grade baseline。
  • GNMT 也强调稀有词问题和推理效率,这些都是 Transformer 实验设计的背景。

Transformer 的改变:

  • GNMT 的 8 层 encoder 和 8 层 decoder 仍有 RNN 顺序瓶颈。
  • Transformer 用 self-attention 让训练样本内部所有位置可并行计算。
  • 在 WMT 2014 En-De 和 En-Fr 上,Transformer 用更低训练成本达到更高或竞争性 BLEU。

5. 非循环并行序列模型:Transformer 为什么不仅仅是“没有 RNN”

5.1 ByteNet:Neural Machine Translation in Linear Time

ByteNet 使用一维卷积和 dilated convolution 处理序列。它的重要性在于:证明序列转导不一定必须依赖 RNN,卷积也能实现并行训练,并通过 dilation 扩大感受野。

对 Transformer 的影响:

  • 强化了“减少顺序计算”的研究方向。
  • 提供了 path length 的比较对象:卷积需要堆叠层或 dilation 才能连接远距离 token。

Transformer 的改变:

  • Self-attention 每层即可让任意两个位置直接交互,最长路径为常数。
  • 代价是 attention 复杂度通常为 O(n^2 d),长序列下比线性卷积更贵。

5.2 ConvS2S:Convolutional Sequence to Sequence Learning

ConvS2S 是 Transformer 发表前非常强的 CNN seq2seq 模型。它完全基于卷积,训练时能并行处理所有位置,并通过 gated linear units 改善梯度传播;decoder 每层也有 attention。

对 Transformer 的影响:

  • 证明非 RNN 架构能在 WMT 翻译上取得强结果。
  • 引入 learned positional embeddings 作为非循环模型的位置信息方案。
  • 是 Transformer 结果表中的关键比较对象。

Transformer 的改变:

  • ConvS2S 仍依赖局部卷积堆叠来扩大感受野;Transformer 使用全局 attention。
  • ConvS2S 的位置依赖更强地来自卷积结构和位置 embedding;Transformer 必须显式注入 positional encoding。
  • Transformer 在论文中比较了 learned position embedding 和 sinusoidal encoding,结果接近,但选择后者以支持可能的长度外推。

5.3 Neural GPU / Extended Neural GPU

技术作用:用可并行的神经计算结构学习算法和序列变换,代表了“用非传统 RNN 结构处理序列”的探索。

对 Transformer 的影响:

  • 提供了“active memory / 并行状态更新”方向的背景。
  • 说明研究社区已经意识到普通 RNN 的顺序计算不是唯一选择。

Transformer 的改变:

  • Transformer 没有设计复杂的可微计算机或 active memory,而是把核心简化为 attention + FFN + residual + normalization。

6. Self-Attention 前史:Transformer 把局部模块变成完整架构

6.1 Parikh et al. 2016:A Decomposable Attention Model

技术作用:在自然语言推理任务中使用可并行的 attention 分解结构,减少对 LSTM 的依赖。它不是完整的机器翻译模型,但证明 attention 可以作为强大的序列匹配工具。

对 Transformer 的影响:

  • 证明 attention 可替代一部分序列编码需求。
  • 强调可并行、少参数、强性能的价值。

Transformer 的改变:

  • Decomposable attention 面向句对分类;Transformer 面向通用 sequence transduction。
  • Transformer 引入堆叠 self-attention 层,使表示逐层组合。

6.2 Lin et al. 2017:A Structured Self-attentive Sentence Embedding

技术作用:使用 self-attention 生成可解释句向量,并用二维矩阵表示多视角句子 embedding。

对 Transformer 的影响:

  • 证明同一序列内部的位置可以互相关注。
  • 多个 attention view 与 multi-head attention 有概念上的相似性:不同头/行关注不同信息。

Transformer 的改变:

  • Lin et al. 主要生成句级表示;Transformer 需要保留每个位置的上下文表示以支持逐 token 解码。
  • Transformer 将多视角注意力变成每层的标准操作。

6.3 Sukhbaatar et al. 2015:End-to-End Memory Networks

技术作用:通过多跳 attention 在外部 memory 上检索信息,用于问答和语言建模。

对 Transformer 的影响:

  • attention 可以被看作内容寻址 memory lookup。
  • 多跳 memory 与堆叠 attention 层在直觉上相近。

Transformer 的改变:

  • memory 不是外部结构,而是序列位置自身形成的 key-value memory。
  • 每一层都重新投影 Q/K/V,逐层构建上下文。

7. Multi-Head Attention:为什么不是单头

Transformer 论文的一个重要判断是:单头 attention 会把不同关系平均到一个权重分布里,表达能力受限。多头 attention 的设计把 d_model 投影到多个较小的 Q/K/V 子空间:

head_i = Attention(Q W_i^Q, K W_i^K, V W_i^V)
MultiHead = Concat(head_1, ..., head_h) W^O

关键收益:

  • 不同头可以关注不同距离、不同句法关系、不同语义关系。
  • 降低每个头的维度后,总计算量接近单头 full-dimensional attention。
  • 对齐矩阵不再必须表达单一结构。

论文中的消融显示,单头比最佳设置低约 0.9 BLEU;头数过多也会下降,因为每个头维度过小会削弱兼容性建模。

8. 位置编码:来自非循环架构的必要补丁

Transformer 去掉 RNN 和 CNN 后,模型本身对顺序不敏感。如果没有位置编码,self-attention 对输入 token 集合近似置换等变,无法知道词序。

关键 reference:

  • ConvS2S 使用 learned positional embeddings。
  • Transformer 尝试 learned positional embeddings 与 sinusoidal positional encoding。

Transformer 的选择:

  • sinusoidal encoding 使用不同频率的正弦/余弦函数。
  • 设计动机是相对位移 k 可由线性变换表达。
  • learned 与 sinusoidal 在实验中效果接近;论文偏向 sinusoidal,是因为它可能更容易外推到训练长度之外。

技术评价:

  • 绝对位置编码解决了“顺序注入”问题,但没有显式建模相对位置偏置。
  • 后续 Transformer 变体,如相对位置编码、RoPE、ALiBi,本质上是在修补原始 positional encoding 对长度外推和相对距离建模的不足。

9. 深层训练组件:Transformer 成功依赖的不只是 Attention

9.1 ResNet:Deep Residual Learning

Transformer 每个子层外都有 residual connection。技术作用是让深层网络更容易优化,梯度可以绕过子层直接传播。

在 Transformer 中:

LayerNorm(x + Sublayer(x))

原论文使用 post-norm。后续大规模语言模型常改为 pre-norm,以改善深层训练稳定性。

9.2 Layer Normalization

LayerNorm 对单个样本内同一层的隐藏维度做归一化。相比 BatchNorm,它不依赖 batch 统计,适合变长序列和自回归生成。

在 Transformer 中:

  • 每个 attention 子层后使用 LayerNorm。
  • 每个 FFN 子层后使用 LayerNorm。
  • 与 residual connection 一起构成稳定深层堆叠的基本单元。

9.3 Adam + warmup + inverse square root decay

Transformer 使用 Adam,并使用 warmup schedule:

lr = d_model^-0.5 * min(step^-0.5, step * warmup_steps^-1.5)

技术意义:

  • warmup 避免训练初期大步长破坏尚未稳定的表示。
  • d_model^-0.5 让不同模型宽度下的学习率尺度更稳定。
  • warmup 后按 step 的反平方根衰减,兼顾早期快速学习和后期收敛。

9.4 Dropout 和 Label Smoothing

Dropout 用于 attention、FFN、embedding + positional encoding 的输出。Label smoothing 把 one-hot 目标分布软化,降低过度自信。

技术效果:

  • Dropout 降低过拟合,尤其在 WMT En-De 这种相对较小数据上重要。
  • Label smoothing 往往会让 perplexity 看起来变差,但 BLEU / accuracy 更好。

9.5 Weight Tying:Using the Output Embedding to Improve Language Models

Transformer 共享输入 embedding 和输出 softmax 前的权重矩阵。这减少参数量,也把输入词表示和输出分类空间绑定起来。

技术评价:

  • 对词表很大的翻译模型尤其有用。
  • 后续语言模型普遍继承了 embedding tying 或其变体。

10. 子词建模:BPE / WordPiece 是实验成功的基础设施

10.1 Sennrich et al. 2015:BPE

BPE 解决开放词表和稀有词问题。Transformer 在 En-De 使用约 37K shared source-target BPE vocabulary。

为什么关键:

  • 如果使用 word-level vocabulary,稀有词和 OOV 会严重影响翻译。
  • 如果使用 character-level,序列长度变长,attention 的 O(n^2) 代价更高。
  • BPE 在词粒度和字符粒度之间折中。

10.2 GNMT WordPiece

GNMT 使用 wordpiece,把稀有词拆成有限子词单元。Transformer 在 En-Fr 使用约 32K word-piece vocabulary,并沿用 GNMT 的推理技巧。

技术评价:

  • 子词化让 Transformer 的全局 attention 在可控序列长度上工作。
  • 现代 LLM 的 tokenizer 体系可以看作这条线的延续。

11. MoE 与条件计算:Transformer 论文的侧向比较

Shazeer et al. 2017 的 Sparsely-Gated MoE 提出用条件计算显著增加模型容量。Transformer 论文引用它,主要用于说明当时已有工作通过 factorization 或 conditional computation 提升效率和性能,但 RNN 的顺序计算瓶颈仍存在。

与 Transformer 的关系:

  • MoE 解决的是“容量/计算比”。
  • Transformer 解决的是“序列位置并行和长程依赖路径长度”。
  • 后续 Switch Transformer、GShard、Mixtral 等模型把两条线合并:Transformer 主干 + 稀疏 MoE FFN。

12. 结果对照中的关键 reference

对照模型 Reference 技术路线 Transformer 相对优势
Deep-Att + PosUnk Zhou et al. 2016 深层 RNN + attention + fast-forward Transformer 更并行,BLEU 更高
GNMT + RL Wu et al. 2016 工业级深层 LSTM NMT Transformer 训练成本更低
ByteNet Kalchbrenner et al. 2017 dilated CNN Transformer 任意位置路径更短
ConvS2S Gehring et al. 2017 CNN seq2seq + attention Transformer 全局 self-attention 更直接
MoE Shazeer et al. 2017 条件计算扩容 Transformer 解决顺序瓶颈,MoE 解决容量瓶颈

13. Transformer 对前人工作的核心重组

Transformer 的创新可以写成一个重组公式:

Seq2Seq encoder-decoder
+ Attention as soft alignment
+ Dot-product attention optimized as batched matmul
+ Self-attention for intra-sequence representation
+ Multi-head factorization
+ Positional encoding
+ Residual + LayerNorm + Adam + Dropout + Label smoothing
+ BPE / WordPiece translation pipeline
= Fully attention-based sequence transduction architecture

其中最关键的技术跃迁是:

  1. attention 从 decoder 的辅助对齐模块变成 encoder 和 decoder 的主干。
  2. self-attention 把任意 token 间的依赖路径缩短到常数级。
  3. 多头机制缓解单个注意力分布的平均化问题。
  4. 非循环结构释放了训练并行性,使大规模实验更经济。

14. 局限与后续研究方向

原始 Transformer 的局限也能从 reference 对照中看出来:

  • 长序列复杂度:相比 ByteNet 的线性时间,full self-attention 是二次复杂度。
  • 位置信息较弱:sinusoidal / learned absolute position 不如后来的相对位置机制精细。
  • decoder 生成仍顺序:训练可并行,但自回归推理仍逐 token 生成。
  • FFN 容量密集计算:MoE 后续补上了稀疏扩容方向。
  • post-norm 深层稳定性有限:后续大模型多采用 pre-norm 或 RMSNorm。

15. 阅读顺序建议

如果要从引用链理解 Transformer,推荐按这个顺序读:

  1. Cho et al. 2014:理解 encoder-decoder。
  2. Bahdanau et al. 2014:理解 attention 作为软对齐。
  3. Luong et al. 2015:理解 dot/global/local attention。
  4. GNMT 2016:理解 Transformer 要击败的工业级 RNN NMT。
  5. ConvS2S 和 ByteNet:理解为什么大家想摆脱 RNN。
  6. Decomposable Attention / Structured Self-Attention:理解 self-attention 的前史。
  7. LayerNorm / ResNet / Adam / Label Smoothing / BPE:理解训练配方。
  8. 最后回到 Vaswani et al. 2017,看这些部件如何组合成 Transformer。

16. 关键 sources

AI Assistant
Selected Text