Attention Is All You Need:Transformer 原理
Transformer 的关键贡献不是“发明注意力”,而是把序列中任意位置的信息交互从递归状态和局部卷积里释放出来,用 self-attention 作为主干来实现全局、动态、可并行的上下文混合。它把 token 表示、位置信息、Q/K/V 匹配、multi-head 分解、feed-forward 加工、残差连接、归一化和 masking 组合成可以稳定堆叠的计算单元。
Attention Is All You Need:Transformer 的真正贡献
本篇为经典论文精读(历史回顾/经典打底定位),机制正文以原论文为锚点;最新进展见文末「SOTA 检查」。
Source Anchors
- Original paper: https://arxiv.org/abs/1706.03762 (2017-06)
- NeurIPS proceedings page: https://papers.nips.cc/paper/7181-attention-is-all-you-need (访问日期: 2026-07-01)
核心导读
Transformer 的关键贡献不是“发明注意力”,而是把序列中任意位置的信息交互从递归状态和局部卷积里释放出来,用 self-attention 作为主干来实现全局、动态、可并行的上下文混合。它把 token 表示、位置信息、Q/K/V 匹配、multi-head 分解、feed-forward 加工、残差连接、归一化和 masking 组合成可以稳定堆叠的计算单元。
这篇论文的系统价值在于确立了现代大模型的基本架构语言:上下文不是事先写死的窗口,而是由模型在每一层、每个位置重新计算的信息路由。后来的 BERT、GPT、T5、ViT、多模态模型、RAG 和 Agent 系统形态不同,但都继承了这种围绕 token、上下文混合和层级堆叠扩展能力的路线。
1. 这篇论文在解决什么问题
Attention Is All You Need 不是“发明了注意力”这么简单。注意力机制在神经机器翻译里已经出现过,通常作为 encoder-decoder 之间的辅助组件。论文真正激进的地方是:把 recurrence 和 convolution 都拿掉,让 attention 成为序列建模的主干。
在它之前,主流序列模型有两个路线。
第一类是 RNN、LSTM、GRU。它们按时间步读取 token,天然适合表达顺序,但第 t 个位置必须等待前面状态传过来。这个设计带来三件事:训练并行性差,长距离依赖路径长,隐藏状态容易成为信息瓶颈。
第二类是 CNN。卷积可以并行,但每层只看局部窗口。要让远距离 token 相互影响,就要堆很多层或扩大卷积窗口。它缓解了 RNN 的顺序瓶颈,却没有从根上解决“远处 token 之间如何直接交互”的问题。
论文提出的问题可以这样概括:
能不能让序列中任意两个位置直接交换信息,同时保持高度并行、可训练、可扩展?
Transformer 的回答是:每个 token 不再等待一个递归状态,也不只看固定窗口,而是用 self-attention 在整个序列里动态选择相关位置。
2. 核心贡献
这篇论文证明了一个 encoder-decoder 模型可以完全依靠 attention 和 feed-forward layers 完成机器翻译,并在当时的 WMT 2014 English-German、English-French 翻译任务上取得很强结果,同时显著改善训练并行性。
它的长期价值不是某个单点技巧,而是打开了后来 BERT、GPT、T5、ViT、多模态模型和现代 LLM 的共同架构底座:大规模 token 表示、上下文内信息混合、并行训练、层级堆叠。
3. Transformer block 到底在做什么
一个 Transformer block 可以拆成两类操作:
- token 之间交换信息:multi-head self-attention。
- 每个 token 自己加工表示:position-wise feed-forward network。
再加上 residual connection、layer normalization、masking、positional encoding,模型就能稳定堆叠很多层。
3.1 Token 表示:先知道“是什么”,再知道“在哪里”
模型不直接读取自然语言字符串,而是读取 token ID。每个 token ID 先变成 embedding,也就是一个连续向量。Embedding 表示 token 的语义、语法和上下文潜力。
但 attention 本身不带顺序感。如果只看词集合,“银行拒绝客户”和“客户拒绝银行”包含相同 token,却含义相反。因此论文加入 positional encoding,把位置信息注入 token 表示。
原论文使用正弦余弦位置编码。后来模型出现了 learned position embedding、RoPE、ALiBi 等变体,但目的相同:让模型在内容之外感知顺序和相对位置。
3.2 Q/K/V:attention 的最小机械结构
Self-attention 的输入是每个 token 的向量表示。模型会用三个线性变换,把同一个 token 表示投影成三个向量:
- Query:当前位置想找什么信息。
- Key:当前位置具有什么可被匹配的特征。
- Value:当前位置真正贡献给别人的内容。
对某个 token 来说,它的 Query 会和所有 token 的 Key 做匹配。匹配分数越高,说明它越应该从那个位置读取 Value。
核心公式是:
Attention(Q, K, V) = softmax(QK^T / sqrt(d_k))V
这里有四步:
QK^T计算每个 token 对其他 token 的相关性分数。- 除以
sqrt(d_k)稳定分数尺度,避免维度变大后 softmax 过度尖锐。 softmax把原始分数变成总和为 1 的权重。- 权重乘以
V,得到加权后的上下文表示。
这不是“找一个最相关词”,而是从多个位置按比例取信息。也正因为如此,attention 能同时处理指代、修饰、实体关系、跨句依赖和上下文补全。
3.3 Multi-head:不是一个视角读全文
单个 attention head 要在一个空间里同时学习语法、指代、实体、局部搭配、长距离依赖,表达能力有限。Multi-head attention 把表示分成多个子空间,并行做多组 Q/K/V。
一个 head 可能更关注局部搭配,另一个 head 可能更关注指代关系,还有的 head 可能关注句法边界或实体属性。论文没有要求这些 head 显式分工,但这种结构给了模型同时学习多类关系的容量。
最后,各个 head 的结果会拼接起来,再经过线性变换融合。
3.4 Feed-forward network:attention 负责混合,FFN 负责加工
Attention 把不同位置的信息混在一起,但混合后的表示还需要非线性加工。Transformer block 里的 feed-forward network 对每个位置独立应用同一组参数。
可以把一层 block 理解为:
- 先问:这个 token 应该从上下文哪些地方取信息?
- 再问:取到信息后,这个位置的新表示应该如何变换?
前者由 attention 处理,后者由 FFN 处理。
3.5 Residual 与 layer norm:让深层堆叠可训练
Residual connection 把模块输入直接加到输出上,让模型可以在深层中保留原信息,也让梯度传播更稳定。
Layer normalization 稳定每层激活分布。原论文使用 Add & Norm 结构。现代大模型常见 pre-norm、post-norm 等变体,但目标仍是让很多层堆起来后还能训练。
3.6 Masking:生成时不能偷看未来
Transformer 原论文是 encoder-decoder 架构。Encoder 可以看完整源句;decoder 在生成目标句时,只能看已经生成的前文,不能看到未来 token。
这依赖 causal mask。它让第 t 个位置只能关注 t 之前的位置。后来的 GPT-style decoder-only 模型也依赖这个机制做 next-token prediction。
4. 原论文结构:encoder-decoder 不是后来的 GPT
原论文面向机器翻译,所以结构是 encoder-decoder:
- Encoder 读取源语言句子,输出上下文表示。
- Decoder 基于已生成目标 token,并通过 cross-attention 读取 encoder 输出,生成下一步目标 token。
Encoder block 主要包含 self-attention 和 FFN。Decoder block 多了两点:masked self-attention,以及对 encoder 输出的 cross-attention。
后来模型走出了不同分支:
- BERT 更接近 encoder-only,用双向上下文做表示学习。
- GPT 更接近 decoder-only,用 causal mask 做自回归生成。
- T5 保留 encoder-decoder,把各种任务统一成 text-to-text。
所以不要把原论文直接等同于 GPT。GPT 继承了 Transformer 的 block 思想,但架构目标从机器翻译变成了大规模语言建模。
5. 为什么它有效
5.1 信息路径更短
在 RNN 里,远距离 token 的信息要沿时间步传递。路径越长,越容易稀释。
在 self-attention 里,任意两个位置可以在一层内直接建立联系。对语言任务来说,这极大降低了长距离依赖的建模难度。
5.2 训练更并行
RNN 的时间步依赖限制了并行训练。Transformer 的 self-attention 可以同时处理序列中所有位置,因此更适合 GPU/TPU 上的大规模矩阵计算。
这点后来变成 LLM 时代的根基:能不能扩大数据、参数和算力,首先取决于架构能不能吃下并行计算。
5.3 表示更灵活
CNN 的连接模式相对固定,RNN 的信息流按时间前进。Attention 的连接权重由输入动态决定。
同一句话中,不同 token 可以根据语境选择不同关注对象。这个“输入依赖的动态连接图”是 Transformer 强大的关键。
5.4 模型结构简单而可堆叠
Transformer block 的重复性很强:attention、FFN、residual、norm。结构越规则,越容易工程优化、分布式训练、硬件适配和系统化扩展。
后续 LLM 能从几亿参数扩到数十亿、数千亿参数,不只是因为数据和算力增加,也因为这个架构足够规则。
6. 论文证据链
| 问题 | 论文做法 | 证据类型 | 结论 |
|---|---|---|---|
| RNN/CNN 是否必须作为序列建模主干 | 用 attention-only encoder-decoder 替代 recurrence/convolution | WMT 2014 机器翻译实验 | Attention-only 架构可以达到或超过当时强基线 |
| 并行性是否改善 | 输入位置可同时计算 self-attention | 架构复杂度与训练成本比较 | 训练效率相对 RNN 更适合大规模并行 |
| 长距离依赖是否更容易 | 任意 token 一层内可相互关注 | 路径长度分析 | token 间依赖路径显著缩短 |
| 多头是否有价值 | 多个 attention head 并行学习不同投影空间 | Ablation 与结构设计 | 单一 attention 视角不如多头结构灵活 |
| 顺序信息如何保留 | 加入 positional encoding | 与无位置信息的结构差异 | Attention 需要额外位置表示才能处理序列顺序 |
论文报告中,Transformer 在 WMT 2014 English-German 上达到 28.4 BLEU,在 English-French 上达到 41.8 BLEU。更重要的是,这些结果说明它不是一个只在理论上优雅的结构,而是可以在当时核心 NLP 任务上替代主流序列模型。
7. 它没有解决什么
Transformer 是模型架构突破,不是完整 AI 系统方案。
它没有解决事实性。模型生成高概率文本,不等于文本真实。参数里可能压缩了事实,也可能生成过期、混淆或编造的内容。
它没有解决 alignment。模型学会预测序列,不等于理解用户意图、组织政策、风险偏好或合规边界。
它没有解决外部知识更新。企业政策、价格、客户记录、交易状态不会自动进入模型参数。
它没有解决长上下文成本。标准 self-attention 的计算和内存成本随序列长度平方增长,长文档、长期记忆和大规模检索仍需要系统设计。
它没有解决工具执行。Transformer 生成 token,不天然知道如何安全调用 core banking、CRM、工单、风控或审批系统。
它没有解决评估与审计。BLEU 可以评估翻译相似度,但不能覆盖企业 AI 的正确性、权限、引用、拒答、成本、风险和业务影响。
因此,从 Transformer 到可上线企业 AI,中间至少要补上 RAG、工具权限、eval、观测、审计、人审、成本控制和安全治理。
8. 今天还应该怎么读这篇论文
今天读这篇论文,不是为了背“Q/K/V 是什么”,而是为了建立三个底层判断。
第一,LLM 的能力来自上下文内信息混合。Prompt、RAG、长上下文、tool trace、conversation memory,本质上都是在组织模型可以共同 attention 的信息。
第二,模型不是数据库。Attention 能在给定上下文中建立关系,但不能保证外部世界事实正确。事实、权限、版本和来源必须由系统补上。
第三,LLM 产品的很多边界都能追溯到 Transformer 的机制。上下文窗口影响可处理信息量;attention 成本影响延迟和价格;causal mask 影响生成方式;KV cache 影响推理性能;位置编码影响长上下文泛化。
9. 对现代 LLM 系统的延伸
9.1 Decoder-only LLM
GPT-style 模型通常使用 decoder-only Transformer。它用 causal mask 预测下一个 token,把语言建模目标扩展到海量文本、代码和多模态数据上。
当参数、数据和算力扩大后,同一个 next-token objective 能支持摘要、翻译、问答、代码、推理、对话和工具调用等能力。但这些能力仍然是概率生成能力,不是确定性业务流程。
9.2 KV cache
推理时,模型每生成一个新 token 都要参考历史上下文。KV cache 保存历史 token 的 key/value,避免每一步都重新计算全部上下文。
这解释了为什么生成越长越贵,也解释了为什么推理优化、上下文压缩和模型路由会成为企业架构问题。
9.3 RAG
RAG 把外部资料检索到上下文里,让 Transformer 在用户问题、系统指令、证据片段之间做信息混合。
但 RAG 的本质不是“塞更多文本”,而是选择哪些文本有资格进入 attention:正确来源、正确版本、正确权限、正确粒度、正确顺序。
9.4 Agent
Agent 把模型生成从“回答文本”扩展成“规划、调用工具、观察结果、继续行动”。Transformer 负责理解上下文和生成下一步,但工具权限、状态机、幂等、审批和回滚必须由系统控制。
在金融零售里,查询交易可以是只读工具;提交 SAR、冻结账户、修改授信额度是高风险动作,不能只靠模型自信执行。
10. 一个金融零售例子:AML 调查 Copilot
假设一个 AML 调查员打开告警,系统要帮助总结客户交易、识别可疑模式、引用 typology,并给出下一步调查建议。
Transformer 能做的,是把交易摘要、客户资料、历史 case、政策片段和调查员问题放在上下文里,生成可读的分析草稿。
但可靠系统不能止步于此。它还需要:
- 检索层:只召回当前调查员有权查看的 typology、政策、历史案例。
- 数据层:交易金额、时间、对手方、账户关系来自确定性系统,不从模型参数猜。
- 引用层:每个关键判断绑定来源、版本和字段。
- 工具层:查询交易、补充客户资料、创建任务等动作分级授权。
- 评估层:检查摘要是否遗漏关键交易、是否歪曲来源、是否越权引用。
- 审计层:记录 prompt、检索、模型版本、工具 trace、人工采纳或驳回。
这说明 Transformer 是语言与上下文整合引擎,不是 AML 决策系统本身。
11. 常见误解
误解一:attention 权重就是解释性。 纠正:attention 权重可以提供线索,但不能直接等同于因果解释或合规解释。
误解二:Transformer 让模型懂事实。 纠正:它让模型更好地建模序列和上下文,事实性需要检索、工具、验证和来源。
误解三:上下文越长越好。 纠正:长上下文会增加成本、延迟和噪声。企业系统需要检索、排序、压缩和拒答。
误解四:更大模型可以替代架构。 纠正:更大模型可能更强,但不会自动解决权限、版本、审计、成本、流程和责任边界。
误解五:Transformer 原论文就是 GPT 论文。 纠正:原论文是机器翻译 encoder-decoder 架构。GPT 是后续 decoder-only 分支。
12. 读完后应该能回答
- 为什么 RNN 的顺序状态传递会限制并行训练?
- 为什么 self-attention 能缩短长距离依赖路径?
- Q、K、V 分别在 attention 里承担什么作用?
- 为什么
sqrt(d_k)scaling 会影响训练稳定性? - Multi-head attention 为什么比单一 attention 更灵活?
- Positional encoding 为什么是必要的?
- Encoder-decoder Transformer 和 decoder-only GPT 的差异是什么?
- Transformer 为什么没有自动解决幻觉、权限、外部知识和审计?
- 在企业 RAG 或 Agent 系统里,哪些问题是模型解决的,哪些必须由架构解决?
13. 后续阅读
- BERT: https://arxiv.org/abs/1810.04805 (2018-10)
- GPT-3: https://arxiv.org/abs/2005.14165 (2020-05)
- T5: https://arxiv.org/abs/1910.10683 (2019-10)
- Retrieval-Augmented Generation: https://arxiv.org/abs/2005.11401 (2020-05)
- FlashAttention: https://arxiv.org/abs/2205.14135 (2022-05)
- RoFormer / RoPE: https://arxiv.org/abs/2104.09864 (2021-04)
SOTA 检查 (2026-07-01)
- Transformer 主干截至 2026-07 仍未被替代:主流前沿模型(如 DeepSeek-V3.2、Kimi K2 系列)依然是 attention + FFN + residual + norm 的 Transformer 堆叠,本篇讲的 block 结构、Q/K/V 机制、causal mask 全部仍是现役基础。演进发生在 attention 的"效率层",而不是推翻架构本身。
- 原论文的标准 multi-head attention (MHA) 在生产 LLM 中已被 KV 缓存高效变体取代:路线为 MHA → MQA/GQA → MLA(Multi-head Latent Attention,低秩压缩 KV 缓存)。MLA 由 DeepSeek-V2/V3(V3 报告 2024-12)确立,Kimi K2(1.04T MoE,技术报告 arXiv 2507.20534,2025-07)同样采用 MLA。机制细节见库内笔记
docs/llm/day5-mqa-multi-query-attention.md、docs/llm/day6-gqa-grouped-query-attention.md、docs/llm/day7-mla-deepseek-v3.md。 - O(n²) 注意力成本(本篇第 7 节指出的未解决问题)正被"原生稀疏注意力"实质缓解:DeepSeek-V3.2-Exp(2025-09-29)首发 DeepSeek Sparse Attention (DSA),正式版 DeepSeek-V3.2(2025-12-01,MIT 许可,160K 上下文)将长上下文复杂度降到近线性 O(kL),并支撑了 API 降价 50%+。稀疏注意力已从"免训练补丁"转为预训练原生架构路线。
- 位置编码已换代:原论文的正弦余弦编码在现役模型中基本被 RoPE(arXiv 2104.09864,2021-04)及其长上下文外推变体(YaRN/LongRoPE 等)取代;本篇 3.1 节"attention 需要额外位置信息"的结论不变,但具体方案应以 RoPE 系为准,见
docs/llm/day9-rope-rotary-position-embedding.md、docs/llm/day11-yarn-ntk-aware-rope.md。 - Attention+SSM 混合架构(Jamba、Zamba2、Bamba 等,2024-2025)是补充而非替代:2025 年公开基准的共识是混合/线性架构在长序列推理和内存受限场景占优,但纯 attention 架构在 in-context learning 与 associative recall 类任务上仍占主导——"Attention is all you need"的核心论断在能力维度上依然成立。
- 本篇不随版本过时的框架性结论:Q/K/V 匹配-读取分解、"attention 混合信息 / FFN 加工表示"的分工、residual+norm 支撑深层堆叠、并行性决定可扩展性、以及第 7-10 节"Transformer 不解决事实性/权限/审计,须由 RAG/工具/评估/审计架构补上"的系统边界判断——这些是读本篇的长期收益,与具体模型版本无关。