Transformer 基础:从自注意力到大语言模型与 Agent
梳理 Transformer 的三种架构、Token 与位置编码、Self-Attention 和多头注意力,并说明它如何支撑大语言模型,以及与 Agent 编排层的边界。
目录
问题
- 模型都无到有的过程
两个重要组成:
- 编码器(Encoder)
- 每个 Token 可以同时看到前后文
- 擅长理解文本
- 常用于文本分类、实体识别、Embedding
- 解码器(Decoder) 现在主流大模型都是基于transformer架构,本质上就是:根据前面所有的token,预测下一个token的概率分布。模型能够写代码、调用工具、进行对话,都是在这个基础能力上涌现出来的。
假设输入:
中国的首都是
模型计算下一个 Token 的概率:
北京:0.91
上海:0.03
南京:0.02
其他:0.04
选择“北京”后,把它追加到上下文:
中国的首都是北京
然后继续预测下一个 Token。如此循环,直到:
- 生成结束 Token
- 达到最大长度
- 被系统停止
三种常见架构
Encoder-only
代表模型:BERT。 特点:
- 每个 Token 可以同时看到前后文
- 擅长理解文本
- 常用于文本分类、实体识别、Embedding
输入文本 → Encoder → 文本表示
Decoder-only
代表模型:GPT、Llama、Qwen 等。 特点:
- 只能看到当前位置之前的 Token
- 根据已有内容预测下一个 Token
- 当前大语言模型最常见的架构
输入 Token → Decoder → 预测下一个 Token
Encoder-Decoder
代表模型:Transformer、T5、M6 等。 特点:
- Encoder 负责理解输入
- Decoder 根据 Encoder 的结果生成输出
- 常用于翻译、摘要等任务
输入 → Encoder → 中间表示 → Decoder → 输出
流程:
- 用分词工具,将句子拆分成最小的语义单位token
- 每个token被编码为一个512维的词向量
- 给每个词向量加一个位置编码,告诉模型这个token在句子中的位置
Self-Attention(自注意力机制)
核心思想
- 自己的理解:让每个词和其他词的关联关系,能用计算机的方式做出标记
- gpt的改正:Self-Attention 的核心思想,是让每个 Token 根据当前上下文,计算自己应该关注其他 Token 的程度,然后按 Attention 权重聚合相关信息,从而得到包含上下文语义的新表示。
每个token会生成三个向量:
- Query(查询向量):我正在寻找什么
- Key(键向量):我包含什么信息
- Value(值向量):如果你关注我,我可以提供什么 简称:Q、K、V
简单理解:先计算当前 Token 应该关注谁,再按关注程度汇总其他 Token 的信息。
Multi-Head Attention(多头注意力机制)
一个 Token 与其他 Token 可能存在多种关系。
如:小明昨天在商店买了一个苹果。 不同注意力头可能分别关注:
谁买的:小明
什么时候买的:昨天
在哪里买的:商店
买了什么:苹果
自己的理解
我对 Transformer 的理解主要分为三个层面。
首先,Transformer 是目前大语言模型的核心网络架构。它相比传统 RNN,不需要严格按照顺序逐个处理 Token,训练时可以并 行计算,并且更擅长 建模长距离的上下文关系。
其次,它的核心是 Self-Attention。输入文本会先经过 Tokenization 进行分词将句子拆分为最小的语义单位token 和 Embedding 转化为向量,并加入位置信息。然后每个 Token 生成 Query、Key、Value,通过 Q 和 K 计算当前 Token 应该关注上下文中的哪些内容,再对对应的 Value 加权求和。Multi-Head Attention 则允许模型从不同角度学习语义、语法和上下文关系。Attention 之后还会经过前馈网络,并配合残差连接和 Layer Normalization,这些模块会堆叠很多层。
在大语言模型中,GPT、DeepSeek 这类模型主要使用 Decoder-only Transformer,并通过 Causal Mask 保证生成当前 Token 时只能看到前面的内容。模型本质上是在根据已有上下文不断预测下一个 Token。
放到 Agent 开发中,Transformer 是 LLM 内部负责理解和生成的核心;工具调用、状态管理、记忆和循环执行则属于模型外部的 Agent 编排层。模型只负责生成 tool call,真正执行工具的是 Agent 框架。
- Q、K、V 是什么? Q 表示当前 Token 想寻找什么,K 表示其他 Token 可以用什么特征被匹配,V 是匹配成功后真正获取的信息。 视频中的解释,Q(当前次想要关注什么),K(能为其他词提供什么,类似于标签或者索引),V(该词实际包含的信息内容)
- 为什么需要位置编码? Attention 本身不天然理解词序,需要额外的位置信息区分“我打你”和“你打我”。
- Transformer 有什么缺点? 标准 Attention 的时间和显存开销通常随序列长度呈平方增长,因此长上下文成本较高。
- Transformer 和 RAG、Agent 是什么关系? Transformer 是模型内部结构;RAG 给模型补充外部知识;Agent 给模型增加工具、记忆和执行循环。
Transformer → 模型内部结构
LLM → 基于 Transformer 训练出的语言模型
Agent → LLM + 工具 + 记忆 + 执行循环(LLM + Herness)