2017 · Vaswani et al. · 零基础精读

Attention Is All You Need

一篇论文,换掉了机器处理语言的“流水线”。

你不需要会高等数学。我们只追一条主线:旧方法为什么慢 → 注意力怎样让词直接互相看见 → Transformer 怎样搭起来 → 论文用什么证据证明它有效。

提示:遇到 绿色术语,悬停或点按即可看人话解释。

00 / 主线

先把论文变成一个故事

小林要造一台中英翻译机。旧机器像传话队;Transformer 把它改造成一场所有词都能同时发言的圆桌会议。

第一幕发现传话队太慢;第二幕给每个词发“提问卡、索引卡、内容卡”;第三幕安排多组观察员;第四幕装上座位号和防剧透挡板;第五幕用实验验收。

5 幕约 55 分钟4 个互动实验零基础
旧机器

传话队 RNN

第 10 个词要知道第 1 个词,信息得穿过中间 8 个人。训练时也得一个接一个算。

新规则

全员圆桌 Attention

每个词可以直接查看所有词,根据当前问题决定该听谁,远距离也只需一步。

完整机器

Transformer

把圆桌机制叠成编码器与解码器,再加位置、前馈网络、残差和归一化。

论文真正大胆的地方,不是发明了“注意力”,而是提出:把 RNN 和卷积都拿掉,仅靠注意力也能完成序列转换。
边界先说清“Attention Is All You Need”是一个有力标题,不等于模型内部真的只有注意力。原始 Transformer 还依赖嵌入、位置编码、前馈网络、残差连接、层归一化和 softmax。
01 / 问题

为什么要告别“一个词一个词地读”

2017 年主流翻译系统多用 RNN/LSTM 编码器—解码器,并把注意力当作辅助。论文瞄准的是顺序计算这一结构性瓶颈。

先修要求
只需知道:句子是一串有先后顺序的词。
学完你能
用“并行性”和“路径长度”解释 Transformer 为何值得做。
人话漫画:传话队 vs 圆桌会
旧方法:传话队新方法:圆桌会 没有吃鱼 只能排队传递 没有吃鱼同时查看全部词 远处信息:RNN 要多次传递;自注意力可直接连接。
瓶颈 1

训练难并行

RNN 的第 t 步依赖第 t−1 步。像接力赛,后一个人必须等前一个人到达,GPU 很难同时铺开计算。

瓶颈 2

远距离路径长

句首与句尾的关系要穿过许多中间状态。论文用“最大路径长度”衡量:路径越短,远距离依赖通常越易学习。

论文的三把尺子每层总计算量、能并行多少、任意两个位置之间的最长路径。自注意力的顺序操作数为 O(1),最大路径也是 O(1);RNN 两者都随序列长度 n 增长。
02 / 核心

Attention 到底在算什么

核心只有四步:提问 → 匹配 → 归一化 → 汇总。公式看起来抽象,只是把这四步批量写成矩阵。

先修要求
理解“相似度越高,越值得听”。
学完你能
逐项解释 Q、K、V、softmax 与缩放因子。

每个词生成三张卡

Q(提问卡)K(索引卡)V(内容卡)。它们都由词向量乘上不同的可学习矩阵得到。

拿 Q 去和所有 K 对暗号

做点积 QKᵀ。方向越相似,得分通常越高。一次矩阵乘法即可算出所有词对所有词的相关分。

缩放后用 softmax 变成权重

除以 √dₖ,避免维度大时点积过大、softmax 过饱和;再把分数变成总和为 1 的非负权重。

按权重混合所有 V

最相关的词贡献更多内容,得到“结合整句话之后”的新表示。每个词都完成同样的动作。

Attention(Q,K,V) = softmax( QKᵀ / √dₖ ) V
QKᵀ算相关性
÷ √dₖ控制分数尺度
softmax变成注意力权重
× V汇总真正的信息
人话漫画:在图书馆问“谁能解释苹果?”
Q · 提问卡这里的“苹果”是什么? K:水果、甜、树K:公司、手机、科技K:颜色、红、圆 打分 V · 真正拿回来的内容“苹果公司发布了新手机”科技那本书权重最高 K 用来匹配,V 才是匹配后带走的信息;两者角色不同。
互动实验 01 · 亲手做一次注意力

句子:“小明 把 球 踢给 小红,因为 很友好。”拖动“他”对每个词的原始相关分,看 softmax 后权重如何变化。

不要误解注意力图权重表示模型在这一层、这一头如何汇总信息;它不自动等于人类因果解释,也不是完整模型全部“思考过程”。
03 / 视角

为什么一个头不够:多头注意力

一次平均容易把不同关系揉成一团。论文把 Q、K、V 投影到多个较小空间,并行观察,再拼接回来。

头 1 · 语法观察员

谁修饰谁?

可能专门追踪主谓、动宾、代词指代等结构关系。

头 2 · 语义观察员

谁和主题相关?

可能关注实体、上下文含义或远距离语义线索。

人话漫画:同一场球赛,四位解说员各看一件事
同一句话球员把球传给队长 头 1:谁做动作头 2:动作给谁头 3:核心动词 拼接 + 投影合成更完整的理解 多头不是机械复制:每个头学习不同投影,能关注不同位置与表示子空间。
原论文配置base 模型用 8 个头,每头 dₖ=dᵥ=64;降小每头维度后,总计算量与单个 512 维注意力头大致相近。消融实验中,单头比最好设置低 0.9 BLEU;头过多也会变差。
04 / 顺序

所有词一起看,谁告诉模型先后顺序?

纯自注意力本身对词的排列不敏感。论文把位置编码加到词向量上,给每个座位一张独特坐标纸。

PE(pos, 2i) = sin(pos / 100002i/d)
PE(pos, 2i+1) = cos(pos / 100002i/d)
先别背公式不同维度使用不同波长的正弦/余弦波。组合起来,每个位置得到独特且有规律的“波纹指纹”。
人话漫画:圆桌上的座位牌
座位 1座位 2座位 3词能同时交流,但仍带着自己的座位号。
互动实验 02 · 拖动位置,看波纹指纹变化
论文证据的强度论文发现学习式位置嵌入与正弦位置编码结果几乎相同;选择正弦形式,是因为作者假设它可能更容易外推到训练时未见的更长序列。这是设计动机,不是论文已充分证明的普遍定律。
05 / 整机

从一个注意力公式,到完整 Transformer

模型仍采用编码器—解码器。编码器把输入读成上下文表示;解码器参考输入,并根据已生成内容逐词输出。

Encoder × 6

编码器:读懂整句

多头自注意力
残差连接 + 层归一化
逐位置前馈网络
残差连接 + 层归一化
上下文
Decoder × 6

解码器:逐词生成

带遮罩的自注意力
残差连接 + 层归一化
对编码器输出做注意力
残差连接 + 层归一化
逐位置前馈网络
Add & Norm

残差 + 归一化

让信息有捷径穿过子层,并稳定训练。原论文结构是子层输出与输入相加后再做 LayerNorm。

FFN

每个位置各自加工

注意力负责“和别人交流”;同一个两层前馈网络再对每个位置独立加工,base 内层从 512 扩到 2048。

Softmax

变成下一个词概率

解码器最终输出经过线性层和 softmax,得到词表中每个候选词的概率。

人话漫画:为什么需要遮罩?
Ilove?未来答案:apples训练时不可偷看遮住预测第 t 个词时,只能看已知的 1…t−1;否则训练就像提前翻答案。
互动实验 03 · 看遮罩怎样挡住未来
06 / 为什么

为什么它能更快、更会抓长距离关系

优势来自计算图发生改变:训练时,一个序列内所有位置的注意力可以一起算;任意两个位置也可直接连通。

层类型每层复杂度必须顺序执行最长路径人话解释
自注意力O(n²d)O(1)O(1)所有词对同时算;远处词一步直连。
循环层 RNNO(nd²)O(n)O(n)必须按顺序接力;远处信息走很多步。
卷积层O(knd²)O(1)O(logₖn) 或 O(n/k)可并行,但需叠多层才能扩大视野。
关键条件论文指出,当序列长度 n 小于表示维度 d 时,自注意力层的计算复杂度优于循环层——机器翻译中的句子表示通常如此。它没有证明自注意力在任何长度下都更省算力。
人话漫画:直达航班与层层转机
RNN:层层转机4 次传递Attention:直达1 次直连短路径有利于远距离信息和梯度传播;这是结构优势,不保证每次都学到正确关系。
07 / 证据

论文拿出了什么成绩单

主要证据来自 WMT 2014 英德/英法翻译、模型变体实验与英语成分句法分析。下面区分“数据说明了什么”和“不能说明什么”。

28.4英→德 BLEU,big 模型;比当时包括集成在内最佳结果高 2+ BLEU
41.8英→法 BLEU,刷新当时单模型最好成绩
12hbase 模型在 8 张 P100 上训练 100K 步
3.5dbig 模型在 8 张 P100 上训练 300K 步
证据支持

更高质量 + 更低训练成本

在论文设定的翻译基准上,Transformer 达到新的最好成绩,且估算训练 FLOPs 显著低于此前竞争模型。

泛化迹象

换到句法分析仍有效

4 层 Transformer 在 40K WSJ 句子的小数据设置下得到 91.3 F1;半监督设置 92.7,说明并非只会翻译。

消融线索

组件选择有影响

单头比最佳设置低 0.9 BLEU;缩小 key 维度会伤质量;大模型更好;dropout 有助于避免过拟合;正弦和学习式位置编码近似。

不能外推

还不是“万能智能”证明

这些实验不能单独证明 Transformer 在所有任务、所有序列长度、所有算力条件下都优于 RNN/卷积,更没有直接验证今天的大语言模型能力。

互动实验 04 · 把 2017 年英德 BLEU 放到同一刻度
BLEU 是机器翻译自动评价指标,越高通常代表与参考译文更接近;但它不是人类理解力,也不等于所有维度的翻译质量。
08 / 创新

现在回头看:这篇论文到底新在哪里

你已经走完机制、原因和证据。这时再来回答"它创新在哪"会更准确——创新不是每个零件都从零发明,而是一次结构性的重组。

核心突破

完全用自注意力做序列转换

作者称其为首个不依赖序列对齐 RNN 或卷积、完全靠自注意力计算输入输出表示的 transduction 模型。这是论文最关键的架构主张。

关键设计

Scaled Dot-Product Attention

用高效矩阵乘法算点积注意力,并除以 √dₖ,缓解高维点积过大导致 softmax 梯度很小的问题。

关键设计

Multi-Head Attention

把多个不同投影视角并行运行、拼接并再投影,使模型同时关注不同位置与不同表示子空间。

必要补丁

位置编码与因果遮罩

移除 RNN/卷积后必须显式注入顺序;解码器还要遮住未来位置,保持自回归生成的合法性。

系统组合

可训练、可扩展的完整配方

编码器—解码器、多层堆叠、前馈网络、残差、LayerNorm、权重共享、Adam 学习率预热、dropout 和 label smoothing 共同构成可复现系统。许多组件已有先例,但组合产生了新范式。

严谨表述注意力机制、编码器—解码器、残差连接、层归一化都早于此论文。论文贡献应表述为:把自注意力提升为主干计算,并给出一套在机器翻译上更快且更优的完整 Transformer 架构。
09 / 边界

最容易被讲错的 6 件事

理解一篇经典论文,也要理解它没有说什么。

误解 01Transformer 里面只有 attention。
更准确注意力取代了 RNN/卷积主干,但 FFN、残差、LayerNorm、位置编码等同样必要。
误解 02这篇论文发明了 attention。
更准确注意力此前已存在。核心突破是构造首个完全依赖自注意力的序列转换架构,并提出 scaled dot-product 与 multi-head 等关键设计。
误解 03训练和生成都完全并行。
更准确训练时序列内部可高度并行;原始解码器推理仍自回归逐词生成。论文结尾也把“让生成更少顺序化”列为未来目标。
误解 04注意力永远比 RNN 省计算。
更准确全局自注意力计算与内存随序列长度呈 n² 增长。论文自己限定了 n<d 时的优势,并提出未来探索局部注意力处理很长输入。
误解 05注意力权重就是模型的因果解释。
更准确权重展示某个头如何混合 V;它只是一部分中间计算,不足以等同完整决策原因。
误解 06这篇论文直接发明了 ChatGPT。
更准确它奠定 Transformer 架构基础。后来的大规模预训练、decoder-only、指令微调、RLHF 等是不同阶段的后续发展。
今天回看最重要的限制原始论文研究的主要是中等长度机器翻译序列;全局注意力 O(n²) 的长文本成本、海量预训练规模与现代对齐方法都不在这篇论文的实验范围内。
10 / 复述

现在用一条链把它讲回来

如果你能顺着下面 7 句话说完,就真正抓住了论文骨架。

  1. 旧的 RNN 像接力赛

    按词顺序计算,限制训练并行,远距离依赖路径长。

  2. 自注意力像圆桌会议

    每个词都能直接查看所有词,一次矩阵运算并行完成关系建模。

  3. Q 问、K 匹配、V 传内容

    点积算相关,√dₖ 缩放,softmax 变权重,最后汇总 V。

  4. 多头让模型同时看多种关系

    不同投影空间捕捉不同位置和表示子空间的信息。

  5. 位置编码补回顺序

    因果遮罩则阻止解码器预测时偷看未来词。

  6. 编码器读,解码器写

    注意力旁边还有 FFN、残差、LayerNorm 等完整训练结构。

  7. 实验证明当时的翻译任务上更快更好

    它开辟了新范式,但没有证明自注意力在所有场景都最优。

一句话总结:Transformer 把“按顺序传递记忆”改成“所有位置直接按相关性交换信息”,从而释放并行计算,并缩短长距离关系的路径。
30 秒版本

RNN 串行读句子,很难并行。Transformer 让每个词用注意力直接查看所有词,再通过多头、位置编码和遮罩组成完整编码器—解码器。它在 2017 年翻译基准上更快且更准。

记忆类比

从“排队传话”升级成“带座位号的多组圆桌会议”:Q 是问题,K 是名牌,V 是发言内容,多头是不同观察员。

自测问题

如果把位置编码拿掉,句子中的词全部打乱,自注意力本身能否稳定区分“狗咬人”和“人咬狗”?为什么?

11 / 测验

三题验收:你真的懂了吗

选完立即看到解释。答对的关键是机制,不是背缩写。

1. K 和 V 最准确的区别是?

2. 为什么点积要除以 √dₖ?

3. 原始 Transformer 推理时完全并行吗?

12 / 词汇

零基础词汇表

术语只保留这篇论文里真正需要的含义。

Token
模型处理的文字小块,可能是词、子词或符号。
Embedding
把 token 变成一排可计算数字。
Vector
一排数字,用来表示某个对象或特征。
Matrix
数字组成的表格,可批量完成线性变换。
Query / Q
当前位置想检索什么信息。
Key / K
每个位置用于被查询匹配的索引。
Value / V
匹配之后实际被加权汇总的内容。
Dot product
两个向量对应相乘再相加;常用作相似度分数。
Softmax
把一组分数变成总和为 1 的概率式权重。
Self-attention
一个序列内部的各位置互相计算注意力。
Multi-head
用多组投影并行做注意力,再拼接结果。
Mask
把不允许看的位置分数设为极小,softmax 后接近 0。
Encoder
读取输入并产生上下文表示的部分。
Decoder
参考上下文并逐步产生输出的部分。
FFN
对每个位置单独应用的两层前馈网络。
Residual
把子层输入直接加回输出,给信息留一条捷径。
LayerNorm
对一层内部特征做归一化,帮助稳定训练。
BLEU
机器翻译自动评分,衡量译文与参考译文的 n-gram 重合。
Autoregressive
生成下一个 token 时依赖之前已经生成的 token。
Complexity
输入变大时,计算或内存消耗按什么速度增长。
13 / 来源

资料与证据口径

本网页依据论文原文组织,不把后来的常识倒灌成论文当时已证明的结论。

证据标签网页中“论文指出/实验显示”对应原文陈述或表格;“可理解为/像”属于教学类比;“不能证明”用于限制外推。互动示例的注意力分数是教学数据,不是某个真实模型输出。