AI 通关攻略 · 第 1 关 | Attention 机制:LLM 最强大的能力从哪里来
故事从 2017 年说起
2017 年,Google 发表了一篇论文叫《Attention Is All You Need》,提出了 Transformer 架构。这是现代所有大语言模型(LLM)的技术基石。
在那之前,AI 处理文字靠的是 RNN(循环神经网络),但 RNN 有个致命问题:信息越远越容易丢失。Transformer 用"注意力机制"彻底解决了这个问题。
1. 核心概念:Attention(注意力机制)
什么是注意力?
Attention 的核心思想是:让模型在处理每个词时,能"看到"整句话中所有其他词的相关程度,然后重点关注最相关的那些词。
类比:当你读到"猫在沙发上睡觉"这句话时,你理解"猫"和"睡觉"是紧密相关的,但"沙发"和"睡觉"也有一定关联,而"在"字的影响相对较小。Attention 就是在模拟这种人类阅读时的注意力分配。
Query、Key、Value(QKV)
Attention 的内部运作依赖三个向量,这是最容易让人困惑的部分:
| 角色 | 比喻 |
|---|---|
| Query(查询) | 你当前正在处理的词发出的"提问"——"我需要找什么信息?" |
| Key(键) | 句子中每个词的"索引标签"——"我包含什么信息?" |
| Value(值) | 每个词包含的"实际内容" |
Attention 的计算过程:
- 用 Query 和每个 Key 做点积,得到相关性分数
- 通过 Softmax 归一化(转换成概率)
- 用归一化后的分数对所有 Value 加权求和,得到最终输出
简单理解:Query 是"搜索词",Key 是"文档标题",Value 是"文档正文"。搜索引擎用搜索词匹配标题,找到最相关的文档,把正文内容返回给你。
Self-Attention(自注意力)
Self-Attention 指的是:用同一个句子自己和自己做注意力计算,而不是跨句子。LLM 之所以能理解上下文语义,靠的就是 Self-Attention。
2. Transformer 的整体结构
Transformer 由两大部分组成:Encoder(编码器) 和 Decoder(解码器)。
2.1 Encoder(编码器)
负责理解输入文本,把文字转换成机器能理解的表示(向量)。
每个 Encoder 层包含两个子模块:
- Multi-Head Self-Attention(多头注意力):从多个角度同时捕捉词与词之间的关系
- Feed Forward Neural Network(前馈神经网络):对每个位置的表示做非线性变换
"多头"是什么意思? 就像一道数学题让多个学生同时做,每个人思路不同,最后汇总结果更好。多头注意力让模型从多个子空间理解语义。
2.2 Decoder(解码器)
负责根据 Encoder 的理解,逐词生成输出文本。
Decoder 比 Encoder 多了一个机制:
- Masked Self-Attention(掩码注意力):生成第 N 个词时,只能"看到"前 N-1 个词,不能偷看后面的答案(否则就是作弊)
2.3 经典模型对比
| 模型 | 结构 | 代表 |
|---|---|---|
| Encoder only | 只用编码器 | BERT(Google) |
| Decoder only | 只用解码器 | GPT 系列(OpenAI) |
| Encoder-Decoder | 两者都用 | T5(Google)、BART |
LLM 时代的主流是 Decoder-only 架构(如 GPT、Llama、Claude),原因是:它更擅长生成式任务,且工程实现上更高效。
3. Token 位置与位置编码
Self-Attention 本身不包含词序信息——"狗咬猫"和"猫咬狗"对模型来说如果没有位置信息,是一样的。
位置编码(Positional Encoding) 的作用就是:给每个词的位置打上一个独特的"标记",让模型知道谁在前谁在后。
Transformer 使用正弦/余弦函数来生成位置编码,这是经过精心数学设计的,使得任意相对位置都能通过线性变换计算出来。
4. GPT 用的是哪种结构?
GPT(Generative Pre-trained Transformer)采用的是 Decoder-only 结构:
- 输入一段文本,用多层 Masked Self-Attention + 前馈网络处理
- 逐词预测下一个 token
这就是"下一个 token 预测(Next Token Prediction)"——LLM 本质上就是在做这件事:给定前 N 个 token,预测第 N+1 个 token,循环往复生成整段文字。
5. 为什么 Transformer 能 Scale(扩展)?
Transformer 之所以能训练出 GPT-4、Claude 这样的超大模型,有几个关键原因:
- 并行计算:Self-Attention 的计算可以高度并行化,不像 RNN 必须顺序处理,大幅缩短训练时间
- 可扩展性:层数(depth)、注意力头数(heads)、隐藏层维度(hidden size)都可以独立扩展
- 长距离依赖:Attention 让任意两个词之间可以直接建立联系,解决了 RNN 的根本局限
6. 总结
Transformer = Self-Attention(注意力)+ 位置编码 + 前馈网络
LLM(GPT系列)= Decoder-only Transformer + 下一个token预测 + 海量数据 + 超大算力
理解 Transformer,就理解了大语言模型 80% 的技术原理。后面学习 RAG、微调、Agent 等概念时,都需要回到这个基础。