系列第一篇。这个系列会从 2017 年的 Transformer 开始,一路读到今天,每天一篇经典模型架构的论文或技术报告。
我是一名刚入行大模型算法、主攻 AI 安全的工程师,所以每篇结尾我都会留一块「护栏视角」,聊聊这篇论文和 AI 安全的关系。
写得通俗一点,但该有的重点一个不少。
先说结论:Transformer 做对了一件事
2017 年 Google 发了一篇论文叫 Attention Is All You Need(注意力就是你所需要的一切)。
这个名字很狂,但它是真话:它把「注意力机制」从配角变成了主角,其他组件全部降级成辅助。此后的 GPT、BERT、Llama、DeepSeek……全都是这篇论文的子孙后代。
作为系列的第一篇,我想先不聊公式,而是回答一个问题:
在 Transformer 出现之前,处理「序列」(也就是有先后顺序的数据,比如一句话、一段声音、一帧帧视频)用的是 RNN。RNN 到底哪里不行,逼得大家非要发明一个新东西?
搞清楚「它解决了什么问题」,比背下来它的结构重要一万倍。
背景:RNN 的困境——一句话要一个字一个字地读
RNN(循环神经网络)处理一句话的方式,很像一个只长了一只眼睛、而且没有记忆本的人读书:

图 1:RNN 串行读取示意——每一步的输出都依赖上一步(tldraw 绘制)
注意那个箭头:每一步的输出,都依赖上一步的结果。第 3 步想理解「猫」,必须先等第 2 步算完;第 2 步又得等第 1 步。
这带来两个致命问题:
问题 1:慢。 句子有 100 个词,就得串行算 100 步。GPU 再强也只能干瞪眼,因为没法并行——这就像你雇了 100 个工人,却让他们排成一列传砖头。
问题 2:健忘。 信息要从第 1 步一路「传」到第 100 步,中间每传一手就磨损一点。这就是著名的长距离依赖问题:句子开头提到的人名,到句尾早就被冲淡了。你读一段 200 字的推理小说,作者在第 3 句埋的线索,你读到第 50 句还记得;RNN 不记得。
我自己的体会:RNN 不是「笨」,是人的直觉害了它。我们人类读句子确实是一个字一个字读的,所以最早做序列建模的人就照着这个直觉造了 RNN。但机器的优势从来不是「像人」,而是「可以同时看所有东西」。
核心:Self-Attention 在干嘛?——一次性看全,再决定谁重要
Transformer 的答案简单粗暴:不要一个字一个字读了,把整句话一次性全部摊开,然后让每个词自己去找「谁对我重要」。
这就是自注意力(Self-Attention)。
用一个具体例子:翻译「我 爱 猫」
假设输入只有三个词:我、爱、猫。Transformer 会做三件事:
第一步:每个词都变成一串数字(向量)。
我 → [0.1, 0.8, ...],爱 → [0.5, 0.2, ...],猫 → [0.9, 0.4, ...]。数字具体是什么不重要,你只要知道:意思相近的词,向量距离近。这一步叫 Embedding,相当于给每个词发了一张「身份证」。
第二步:每个词对整句话做一次「注意力投票」。 每个词都要回答一个问题:「这句话里,谁和我关系最大?」
我看了看:我和我自己关系 0.3,爱和我关系 0.6,猫和我关系 0.1 → 归一化成权重[0.3, 0.6, 0.1](和为 1)爱看了看:我0.4,爱自己 0.2,猫0.4猫看了看:我0.1,爱0.5,猫自己 0.4
这就得到一张 3×3 的注意力矩阵,每一行代表「这个词怎么看整句话」:
| 我 | 爱 | 猫 | |
|---|---|---|---|
| 我 | 0.3 | 0.6 | 0.1 |
| 爱 | 0.4 | 0.2 | 0.4 |
| 猫 | 0.1 | 0.5 | 0.4 |
第三步:用这张表把每个词的信息重新混合一遍。
我 的新表示 = 0.3×我 + 0.6×爱 + 0.1×猫。也就是说,我 的最终表示里,混进了 60% 的 爱 的信息——因为在这个句子里,「我」和「爱」关系最紧密。
这一步做完,每个词都变成了「结合了上下文语境」的新向量。这就是自注意力的全部核心:加权求和。就这么简单。
为什么它天然不怕长距离?
因为 猫 想联系句首的 我,一步就到,不需要像 RNN 那样传 100 手。距离不是问题,注意力权重说了算。
那 Query / Key / Value 又是什么?
这是所有讲 Transformer 的文章最容易把人劝退的地方。我的理解是这样的——想象你去图书馆借书:

图 2:QKV 图书馆比喻——Query 找书、Key 是标签、Value 是内容(AI 生成插画)
- Query(查询) = 你想找什么:「我要找讲猫的书」
- Key(书脊标签) = 每本书的标签:「这本讲猫」「这本讲狗」
- Value(书的内容) = 书真正的内容
注意力做的事情就是:拿你的 Query 去和所有书的 Key 比对相似度,相似度高的书,多读一点它的 Value。
公式长这样,但别怕,你已经懂了它的意思:
|
|
√d 是除一个缩放因子,防止分数太大把 softmax 推成 0/1 两极分化(就是「防止一个人垄断投票」)。softmax 就是把一堆分数归一化成「和为 1 的权重」。
论文原图把这个流程画得很清楚(左半部分就是上面的公式,右半部分是并行版):

图 3:Scaled Dot-Product Attention(左)与 Multi-Head Attention(右)(图源:Vaswani et al., 2017, Figure 2)

图 4:QKV 计算流程(tldraw 绘制)
一个经常被忽略但很重要的细节:Q、K、V 并不是词向量本身,而是各自经过一个不同的线性变换得到的。为什么要分开变换?因为「我想找什么」和「我能提供什么」是两码事——在「猫」这个词上,
我想找的信息和猫能提供的信息,当然不该用同一副面孔。
Multi-Head:不要一个视角,要八个
单一注意力只有一种「关系观」。但句子里的关系是多种多样的:语法关系、指代关系、情感关系……
Multi-Head Attention(多头注意力)就是把注意力同时做 8 份(论文里是 8 个头),每份用不同的 Q/K/V 变换,相当于 8 个不同角度的「读书人」同时读这句话,最后把 8 份结果拼起来。论文里的结构是这样(右边就是 Multi-Head 的拼装方式):

图 5:Multi-Head Attention 结构(图源:Vaswani et al., 2017, Figure 2 右)

图 6:多头注意力——8 个分工不同的头(tldraw 绘制)
后来 Anthropic 等团队做可解释性研究时发现,这些「头」真的各司其职:有的头专门盯指代(it 指谁),有的头专门盯句法。多头注意力 = 模型的多个"分工器官",这个视角后面讲 AI 安全时还会用到。
位置编码:不按顺序读了,怎么知道先后?
RNN 按顺序读,天然自带「顺序感」。Transformer 一次性全读,顺序信息就丢了——猫爱我 和 我爱猫 摊开后长得一模一样,这不行。
解法:在词向量上叠加一个「位置信号」,让每个位置的向量长得不一样。

图 7:位置编码——词向量 + 位置向量 = 带顺序信息的向量(tldraw 绘制)
位置向量用正弦/余弦函数生成(论文里的做法),也可以学出来。它相当于给每个词发了一张「第几号座位」的票——向量相加之后,模型既知道词义,又知道顺序。
看一眼论文里的完整架构
把上面几个零件拼起来,就是论文原版的 Transformer(下图)。左边是 Encoder:N 层堆叠,每层 = 多头注意力 + 前馈网络;右边是 Decoder:结构类似,但多了 Masked 多头注意力——它只能看已经生成的词(不然翻译的时候偷看答案)。

图 8:Transformer 完整架构(图源:Vaswani et al., 2017, Figure 1)
不过注意:论文版是 Encoder-Decoder(翻译场景),今天的大模型基本都是 Decoder-only(只留右半边,且没有 Masked 之前的那层交叉注意力)。 下一篇读 BERT/GPT 时会讲到这条分岔路。你只需要知道:今天所有大模型的骨架,都能在这张图里找到原型。
为什么它赢了?三个字:可扩展
Transformer 不是第一个用注意力的(2014 年就有 attention 了),但它是第一个把注意力用到极致、彻底去掉循环的。赢在三点:
- 可并行:整句话一次性算完,GPU 吃满,训练速度快了几个数量级。
- 长距离能力:一步直达任意远的词,长文本不再「传话传丢」。
- 可扩展(scaling):这是最关键的。结构简单 + 并行,意味着可以无限堆层、堆参数。后来的 GPT 系列证明了:模型越大、数据越多,能力越强——这是 RNN 时代做不到的。
一句话总结这段历史:RNN 输在「只能顺着读」,Transformer 赢在「一次全读 + 自己决定谁重要」。 这不是一个量级的改进,是赛道换了。
护栏视角:为什么做 AI 安全的人,必须先懂注意力?
你可能会想:我是做安全、做护栏的,架构细节跟我有什么关系?关系非常大,说三点:
第一,护栏的本质是「理解模型在想什么」。 无论是提示注入防御、内容审核还是红队测试,说到底都是在猜模型的行为逻辑。而模型的行为逻辑,很大程度就写在这些注意力权重里。Anthropic 的可解释性团队(比如研究 Superposition、Circuit 的系列工作)就是在逐个解剖注意力头,试图回答「模型为什么会这样想」。你连它的思考器官长什么样都不知道,怎么给它装护栏?
第二,很多安全攻击,攻击的就是注意力机制本身。 提示注入的本质,是攻击者想办法让模型把注意力从「用户的指令」挪到「隐藏的恶意指令」上——在注意力层面,这就是一场「抢权重」的战争。理解注意力,你才能理解攻击为什么有效、防御该怎么设计。
第三,注意力图是可解释性的第一入口。 对刚入门的算法工程师,注意力热力图是最容易上手的模型可视化工具:输入一句话,画出词与词之间的注意力权重,你立刻能看到模型「在看什么」。这是做 AI 安全研究性价比最高的起点之一。
本篇重点回顾
| 概念 | 一句话版本 |
|---|---|
| RNN 的痛点 | 串行 + 健忘,长文本记不住开头 |
| Self-Attention | 一次看全句,加权求和,一步直达任意词 |
| Q/K/V | Query 找书、Key 是标签、Value 是内容 |
| 多头 | 8 个分工不同的视角同时看 |
| 位置编码 | 用「座位号向量」补回顺序信息 |
| 为什么赢 | 并行 → 可扩展 → 堆出大模型 |
下篇预告:Transformer 之后,模型开始分岔——一路走向 BERT(理解型),一路走向 GPT(生成型)。下一篇我们读 BERT,看看「双向」到底是什么意思,以及它为什么统治了 NLP 两年。
参考资料
- Vaswani et al., Attention Is All You Need, 2017 — arxiv.org/abs/1706.03762
- Jay Alammar, The Illustrated Transformer — 公认最好的可视化入门,强烈推荐(有中文翻译)
- Anthropic, Towards Monosemanticity 等可解释性系列 — 理解注意力头如何工作
- 3Blue1Brown 的《注意力与 Transformer》视频 — 直觉讲得极好