一句话总结

提出 Transformer:一种完全基于注意力机制、不用循环也不用卷积的编码器-解码器架构。它在机器翻译上刷新了最好成绩,训练成本却低得多,后来成为几乎所有大语言模型的基础架构。

背景与问题

2017 年之前,序列建模与机器翻译的主流是 RNN、LSTM 构成的编码器-解码器,再加上注意力机制。循环结构必须按时间步逐个计算,同一条序列内部无法并行,训练慢;序列越长,远距离位置之间的信息要经过越多步才能传过去,长程依赖难以学习。卷积方案(如 ConvS2S、ByteNet)可以并行,但两个位置之间的「路径长度」随距离增长。

论文的问题是:能不能完全去掉循环和卷积,只用注意力来建模序列?

核心方法

论文提出的 Transformer 由编码器和解码器各堆叠 N 层组成,关键设计包括:

  • 缩放点积注意力与多头注意力:任意两个位置之间一步直达,整个序列可以并行计算。
  • 自注意力:编码器、解码器内部各自做自注意力,解码器再通过交叉注意力读取编码器的输出;解码器的自注意力加掩码,保证生成时看不到未来位置。
  • 位置编码:注意力本身不区分顺序,论文用正弦、余弦函数构造位置编码,加到输入的词嵌入上。
  • 每层还有逐位置的前馈网络,并用残差连接和层归一化包裹每个子层。

各组件的原理与公式见Transformer与注意力机制,这里不再展开。

论文给出两个规模的配置:

配置层数 N头数 h参数量
base651220488约 6500 万
big61024409616约 2.13 亿

实验与结论

  • WMT 2014 英德翻译:big 模型 BLEU 28.4,比此前最好的结果(包括集成模型)高出 2 BLEU 以上;base 模型为 27.3。
  • WMT 2014 英法翻译:big 模型 BLEU 41.8,创造新的单模型最好成绩;base 模型为 38.1。
  • 训练成本:在 8 块 NVIDIA P100 GPU 上,base 模型训练 10 万步约 12 小时,big 模型训练 30 万步约 3.5 天,只是此前最好模型训练成本的一小部分。
  • 泛化到其他任务:在英语成分句法分析(WSJ)上,只用 WSJ 训练的 F1 为 91.3,半监督设置下为 92.7,说明这个架构不只适用于翻译。
  • 论文还通过消融实验比较了头数、注意力维度、模型规模、dropout 等因素的影响,并发现学习得到的位置嵌入与正弦位置编码效果几乎相同。

影响与后续

  • Transformer 很快取代 RNN,成为自然语言处理的默认架构。只用编码器的 BERT(2018)与只用解码器的 GPT(2018)分别开启了预训练加微调的两条路线;GPT-3 沿用解码器结构,把规模推到 1750 亿参数。
  • 架构随后扩展到视觉(ViT,2020)、语音、多模态、强化学习等几乎所有领域。
  • 自注意力的计算和显存开销随序列长度平方增长,这催生了大量后续工作:注意力加速内核、稀疏注意力与局部注意力、KV缓存压缩与注意力变体,以及试图替代注意力的高效序列架构。
  • 原始设计中的一些细节后来被普遍修改,例如层归一化的位置从子层之后移到子层之前(Pre-LN),正弦位置编码被 RoPE 等相对位置编码取代。

参考资料

相关

  • Transformer:架构的完整讲解。
  • 注意力机制:缩放点积注意力与多头注意力。
  • 归一化:层归一化及 Pre-LN 与 Post-LN 的区别。
  • GPT-3:基于 Transformer 解码器的大规模语言模型。
  • 长上下文:位置编码与上下文长度的扩展。