LLMStart|持续课程 · 不追玄学
模块 2 · 2.1
进阶级55 分钟

2.1Transformer 与 Attention 直觉入门

本课只解决一个主问题:本单元只解决一个主问题:

Attention 和 Transformer 到底解决了语言模型里的什么关键问题?

学习目标

学完本单元后,学习者应该能够:

  • 用直觉解释 Attention 解决了什么问题。
  • 理解 Self-Attention 为什么适合处理语言。
  • 解释 Transformer 为什么成为现代 LLM 的核心架构。
  • 知道 Attention 不是“像人一样注意”,而是一种信息加权机制。

先给直觉

理解一句话时,一个词的意思经常取决于其他词。

看这句话:

苹果发布了新产品,它的股价上涨了。

这里的“苹果”不是水果,“它”指的是公司。

再看:

我把苹果放进冰箱,因为它太熟了。

这里的“苹果”是水果,“它”也指水果。

同样的词,在不同上下文里含义不同。语言模型要理解句子,就不能孤立地看每个词,而要看词与词之间的关系。

Attention 的直觉就是:处理某个词时,让模型能够参考句子中其他相关位置的信息。

Attention 解决的问题

早期处理序列的模型常常按顺序读文本。它们可以处理上下文,但长距离关系会变难。

比如:

那本我去年在巴黎旧书店买到、后来一直放在书架最上层的书,今天终于被我读完了。

“那本”和“书”隔得很远,但它们有关。

语言里到处都是这种关系:

  • 代词指代:他、她、它到底指谁?
  • 修饰关系:哪个形容词修饰哪个名词?
  • 因果关系:哪个原因导致哪个结果?
  • 代码结构:一个变量在哪里定义、在哪里使用?

Attention 让模型在处理每个位置时,直接计算它和其他位置的相关程度。

Attention 直觉图:一个词参考上下文其他词,连线粗细代表注意力强弱

图:理解「它」时,模型会参考上下文里的其他词,参考强度不一样。这是直觉示意,不是真实权重。

Self-Attention 是什么

Self-Attention 可以理解为:句子内部的每个 Token 都去“看”同一句子里的其他 Token,判断哪些更相关。

注意,这里的“看”是类比。技术上,它是向量之间的计算。

简化流程:

  1. 每个 Token 被表示成向量。
  2. 模型为每个 Token 生成 Query、Key、Value 三类向量。
  3. Query 和其他 Token 的 Key 做相似度计算。
  4. 得到一组权重,表示应该关注哪些位置。
  5. 按权重聚合对应的 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 个含有“他、她、它、这个、那个”的句子,判断代词指代。

然后问自己:

  • 判断时你参考了句子里的哪些词?
  • 如果只看代词本身,能判断吗?
  • 如果把某个关键词删掉,指代会不会变模糊?

这个练习帮助你理解:语言理解依赖上下文关系。

检查题(自测)
  1. Attention 主要解决语言模型中的什么问题?
  2. Query、Key、Value 可以如何类比?类比的边界是什么?
  3. 为什么说 Transformer 适合大规模训练?
参考答案
  1. Attention 解决的是"一个词如何根据上下文理解自己"的问题:语言里一词多义、长距离依赖很常见,模型需要让每个词在表示时参考上下文中的其他词,Attention 通过计算词与词之间的关联来做到这一点。
  2. 可以类比为"查询(我想找什么)、标签(每个词能提供什么)、内容(找到之后取出什么)"。边界:真实 Attention 是在高维向量空间里做数学计算,不是人脑的注意力,也不是数据库的精确查询,类比只帮助建立直觉。
  3. 因为 Transformer 的结构高度并行:不需要像 RNN 那样按顺序逐步计算,Attention 可以并行处理所有词,层可以稳定堆叠,算力和数据规模加大时能力能持续提升。

Takeaway

Attention 让模型在处理一个 Token 时参考其他相关 Token,Transformer 把这种机制组织成适合大规模训练的架构。理解它,不是为了背公式,而是为了知道现代 LLM 为什么能处理复杂上下文。