【小目标】
这一节点回答:Transformer 是什么?注意力机制是什么?为什么 Transformer 成了大模型的标准架构?
关键判断:Transformer 之所以厉害,核心是"注意力机制"——让模型能关注到该关注的地方,而不是一视同仁。 这是大模型能力飞跃的关键技术。
【方法论】
一句话结论:注意力机制 = 给每个输入分配不同的"关注度"——重要的多关注,不重要的少关注。 Transformer 就是把这个想法做到极致的架构。
注意力机制的核心思想
你在读这段文字的时候,不是每个字都同等关注
看到"它"的时候,你会回头看前面的"猫"——因为"它"指代的是猫
这就是注意力:根据当前内容,动态决定关注哪里
① 为什么需要注意力?
在 Transformer 之前,处理序列(比如一句话)的主流模型是 RNN/LSTM——它们一个字一个字地处理。
问题:
- 一个字一个字地处理,速度慢,不好并行
- 句子太长的话,前面的信息容易"忘了"(长距离依赖问题)
- 所有输入同等重要,没法"重点关注"
注意力机制解决了这些问题:
- 可以并行处理(速度快)
- 可以直接关注到很远的词(长距离依赖解决了)
- 可以给不同的词分配不同的关注度(更智能)
② 自注意力(Self-Attention)是怎么工作的?
用一句话解释:对于句子里的每个词,都去看句子里的其他所有词,看看哪些词和自己关系最大,然后把它们的信息按重要程度加权汇总。
用一个例子:
"小猫找不到它的妈妈,它很着急。"
当模型处理第二个"它"的时候:
- 会去看"小猫"——权重很高(因为"它"指的是小猫)
- 会去看"妈妈"——有一定权重
- 会看"找不到""着急"——有一定关联
- 其他词权重很低
这样,模型就知道"它"指的是谁了。
③ Q、K、V 是什么?
自注意力里有三个概念——Query(查询)、Key(键)、Value(值):
- Query(Q):当前这个词的"查询向量"——我在找谁?
- Key(K):每个词的"键向量"——我是什么样的?
- Value(V):每个词的"值向量"——我包含什么信息?
计算过程:
- 用 Q 和每个 K 算相似度(点积)——看看我和每个词关系多大
- 把相似度变成权重(Softmax,加起来等于 1)
- 用权重把所有 V 加权求和——得到这个词的注意力输出
这个过程每个词都会做一遍,所以是"自"注意力——句子内部自己跟自己算注意力。
④ 多头注意力(Multi-Head Attention)
- 一个注意力头 = 一种关注方式
- 多头注意力 = 同时用多种方式关注
- 比如:一个头关注语法关系、一个头关注指代关系、一个头关注语义关联……
- 多头比单头厉害,因为可以捕捉多种不同的关系
⑤ Transformer 的整体结构
Transformer 是一个 Encoder-Decoder(编码器-解码器)架构:
编码器(Encoder):负责理解输入——把输入变成"语义向量"
- 一堆编码器层叠起来,每层都有多头注意力 + 前馈网络
解码器(Decoder):负责生成输出——一个词一个词地生成
- 一堆解码器层叠起来,每层有两个注意力(自注意力 + 交叉注意力)
- 交叉注意力:解码器去关注编码器的输出——"看着输入来生成"
位置编码(Positional Encoding):Transformer 本身不处理顺序,所以要手动给每个词加"位置信息"
⑥ 为什么 Transformer 这么厉害?
- 并行计算:不像 RNN 一个一个处理,Transformer 可以一次处理所有词——训练速度快很多
- 长距离依赖:注意力可以直接连接任意两个词,不管隔多远
- 灵活的建模能力:注意力可以学习各种不同的关系(语法、语义、指代……)
- 可扩展性:模型变大、数据变多,性能还能持续提升(Scaling Law)
Transformer 是 2017 年提出的,现在几乎所有大模型都是基于 Transformer 的——它已经成了 AI 时代的"标准引擎"。
💡 小知识:为什么叫"Transformer"? Transformer 的本意是"变换器、变压器"。它之所以叫这个名字,是因为它把一个序列(比如一句话)"变换"成另一个序列(比如翻译后的另一句话)——就像变压器把一种电压变成另一种电压。这个名字也暗示了它"通过注意力机制灵活转换信息"的核心能力。
【知识点】
- Transformer 之所以厉害,核心是注意力机制——让模型能动态关注该关注的地方。
- 自注意力 = 每个词都去看其他所有词,按重要程度加权汇总。
- Q、K、V:查询(我找谁)、键(我是谁)、值(我有什么信息)。
- 多头注意力 = 多种关注方式并行——可以捕捉不同类型的关系。
- Transformer = 编码器 + 解码器:编码器理解输入,解码器生成输出。
- Transformer 的三大优势:并行计算快、长距离依赖、可扩展性强。
- 位置编码:Transformer 本身不处理顺序,要手动加位置信息。
【名词卡】
| 名词 | 一句话解释 |
|---|---|
| Transformer | 2017 年提出的神经网络架构,基于注意力机制,是当前大模型的标准架构 |
| Attention / 注意力机制 | 让模型动态关注重要信息的技术,是 Transformer 的核心 |
| Self-Attention / 自注意力 | 序列内部自己和自己算注意力,每个词关注序列中的其他词 |
| Q / K / V | Query 查询、Key 键、Value 值——自注意力的三个核心向量 |
| Multi-Head Attention / 多头注意力 | 多组注意力并行工作,每组学习不同的关注模式 |
| Encoder / 编码器 | Transformer 的前半部分,负责理解输入内容 |
| Decoder / 解码器 | Transformer 的后半部分,负责生成输出内容 |
| Positional Encoding / 位置编码 | 给输入加上位置信息,因为 Transformer 本身不感知顺序 |
| Scaling Law / 缩放定律 | 大模型的性能随参数、数据、算力增长而可预测地提升 |
| RNN / LSTM | Transformer 之前处理序列的主流模型,逐个处理、速度慢、长距离弱 |
易混对比: 编码器 vs 解码器(一个理解输入、一个生成输出);自注意力 vs 交叉注意力(自己内部关注 vs 解码器关注编码器)
【练一练】
目标: 用一个句子,手动模拟"注意力"是怎么工作的。
实验: 看这句话:"小明喂了小狗,它很开心。"
请回答:
- 当模型处理"它"这个字的时候,你觉得它会重点关注哪些词?为什么?
- 给以下每个词分配一个"注意力权重"(0~1 之间,总和为 1):
- 小明:___
- 喂了:___
- 小狗:___
- 很:___
- 开心:___
- 如果这句话变成"小明喂了小狗,它很生气。"——权重会变吗?怎么变?为什么?
- 如果有两个注意力头(多头注意力),你觉得第二个头可能关注什么不同的关系?
思考题:
- 为什么说"注意力机制让模型更好地理解语言"?
- 如果没有注意力,模型处理"它"这个词的时候会遇到什么困难?
- 你觉得注意力机制和人类的注意力有什么相似和不同?