2.1Transformer 与 Attention 直觉入门
本课只解决一个主问题:本单元只解决一个主问题:Attention 和 Transformer 到底解决了语言模型里的什么关键问题?
学习目标
学完本单元后,学习者应该能够:
- 用直觉解释 Attention 解决了什么问题。
- 理解 Self-Attention 为什么适合处理语言。
- 解释 Transformer 为什么成为现代 LLM 的核心架构。
- 知道 Attention 不是“像人一样注意”,而是一种信息加权机制。
先给直觉
理解一句话时,一个词的意思经常取决于其他词。
看这句话:
苹果发布了新产品,它的股价上涨了。
这里的“苹果”不是水果,“它”指的是公司。
再看:
我把苹果放进冰箱,因为它太熟了。
这里的“苹果”是水果,“它”也指水果。
同样的词,在不同上下文里含义不同。语言模型要理解句子,就不能孤立地看每个词,而要看词与词之间的关系。
Attention 的直觉就是:处理某个词时,让模型能够参考句子中其他相关位置的信息。
Attention 解决的问题
早期处理序列的模型常常按顺序读文本。它们可以处理上下文,但长距离关系会变难。
比如:
那本我去年在巴黎旧书店买到、后来一直放在书架最上层的书,今天终于被我读完了。
“那本”和“书”隔得很远,但它们有关。
语言里到处都是这种关系:
- 代词指代:他、她、它到底指谁?
- 修饰关系:哪个形容词修饰哪个名词?
- 因果关系:哪个原因导致哪个结果?
- 代码结构:一个变量在哪里定义、在哪里使用?
Attention 让模型在处理每个位置时,直接计算它和其他位置的相关程度。
图:理解「它」时,模型会参考上下文里的其他词,参考强度不一样。这是直觉示意,不是真实权重。
Self-Attention 是什么
Self-Attention 可以理解为:句子内部的每个 Token 都去“看”同一句子里的其他 Token,判断哪些更相关。
注意,这里的“看”是类比。技术上,它是向量之间的计算。
简化流程:
- 每个 Token 被表示成向量。
- 模型为每个 Token 生成 Query、Key、Value 三类向量。
- Query 和其他 Token 的 Key 做相似度计算。
- 得到一组权重,表示应该关注哪些位置。
- 按权重聚合对应的 Value。
可以粗略理解为:
我现在处理这个词。
我问:句子里哪些词对理解它最有帮助?
我根据相关程度,把那些词的信息加权合并进来。
Query、Key、Value 的直觉
这三个词容易让人头大。先用图书馆检索类比:
- Query:我现在想找什么信息。
- Key:每本书贴着的索引标签。
- Value:书里真正的内容。
当 Query 和某个 Key 很匹配时,模型就会更多读取对应的 Value。
类比边界:模型不是在真的查图书馆,也没有人类可读的标签。Query、Key、Value 都是模型内部学出的向量。
Multi-Head Attention
一个句子里有很多种关系。
例如:
小王把报告发给小李,因为他明天要演讲。
“他”可能指小王,也可能指小李,具体要看上下文。句子里还可能有主谓关系、动作关系、因果关系。
Multi-Head Attention 的直觉是:让模型从多个角度同时看关系。
不同 attention head 可能关注不同类型的信息。不要把这句话理解成每个 head 都有固定人类标签,但多头机制确实提供了多种关系表示的空间。
Transformer 是什么
Transformer 是一种基于 Attention 的神经网络架构。
它的关键价值:
- 能高效处理序列中不同位置的关系。
- 适合并行训练。
- 能通过堆叠层数和扩大参数规模提升能力。
- 成为现代 LLM 的基础架构之一。
Transformer 不只有 Attention,还包括:
- 前馈网络
- 残差连接
- 归一化
- 位置编码
- 多层堆叠
但对入门者来说,先抓住重点:Attention 让模型处理上下文关系,Transformer 把这种机制组织成可大规模训练的架构。
为什么 Transformer 适合扩展
现代 LLM 的能力很大程度上来自规模扩展:
- 更多数据
- 更多参数
- 更多计算
- 更长上下文
- 更好的训练方法
Transformer 适合扩展,是因为它能并行处理序列中的很多位置关系。相比严格逐步处理文本的方式,它更适合用大规模硬件训练。
这并不代表 Transformer 永远是最终答案。AI 架构仍在发展。但理解 Transformer,是理解当代 LLM 的必经路口。
案例
看一个消歧例子:
小明把奖杯放进箱子里,因为它太大了。
“它”更可能指奖杯还是箱子?
如果说“太大了”,通常是奖杯太大,所以放进箱子里。
再看:
小明把奖杯放进箱子里,因为它太空了。
“它”更可能指箱子。
模型要判断“它”指什么,需要参考多个词之间的关系。Attention 就是处理这种关系的重要机制。
常见误区
误区 1:Attention 就是人类注意力
不是。它借用了“注意”这个词,但本质是向量之间的权重计算。
误区 2:有 Attention 就等于真正理解
Attention 帮助模型建模关系,但不等于人类理解、意识或常识推理。
误区 3:Transformer 只有 Attention
Attention 很关键,但 Transformer 还包括多种结构组件。
误区 4:Attention 图可以完全解释模型思考
Attention 权重能提供一些线索,但不能简单等同于模型的完整推理过程。
动手练习
找 3 个含有“他、她、它、这个、那个”的句子,判断代词指代。
然后问自己:
- 判断时你参考了句子里的哪些词?
- 如果只看代词本身,能判断吗?
- 如果把某个关键词删掉,指代会不会变模糊?
这个练习帮助你理解:语言理解依赖上下文关系。
检查题(自测)
- Attention 主要解决语言模型中的什么问题?
- Query、Key、Value 可以如何类比?类比的边界是什么?
- 为什么说 Transformer 适合大规模训练?
参考答案
- Attention 解决的是"一个词如何根据上下文理解自己"的问题:语言里一词多义、长距离依赖很常见,模型需要让每个词在表示时参考上下文中的其他词,Attention 通过计算词与词之间的关联来做到这一点。
- 可以类比为"查询(我想找什么)、标签(每个词能提供什么)、内容(找到之后取出什么)"。边界:真实 Attention 是在高维向量空间里做数学计算,不是人脑的注意力,也不是数据库的精确查询,类比只帮助建立直觉。
- 因为 Transformer 的结构高度并行:不需要像 RNN 那样按顺序逐步计算,Attention 可以并行处理所有词,层可以稳定堆叠,算力和数据规模加大时能力能持续提升。
Takeaway
Attention 让模型在处理一个 Token 时参考其他相关 Token,Transformer 把这种机制组织成适合大规模训练的架构。理解它,不是为了背公式,而是为了知道现代 LLM 为什么能处理复杂上下文。