一句话定义
Transformer 是一种完全基于注意力机制来建模序列关系的神经网络架构。它不再像 RNN 那样逐个 token 串行处理,而是让序列中的每个位置同时看到其他位置,因此训练时可以把整段文本并行送进 GPU。
一句话记忆
Transformer = 自注意力 + 前馈网络 + 残差连接 + 位置信息。
为什么需要它
RNN 和 LSTM 必须按时间步依次计算,长距离依赖会随着链路变长而衰减,训练也很难并行。Transformer 把任意两个位置之间的交互压缩成一次注意力计算,既缩短了信息路径,也让训练吞吐量大幅提升。
核心组成
- 多头自注意力:让每个 token 按相关性聚合其他 token 的信息,是 Attention 的堆叠形式。
- 前馈网络 FFN:对每个位置独立做非线性变换,通常包含两层线性层和激活函数。
- 残差连接与归一化:让深层网络更容易训练,也帮助梯度稳定传播。
- 位置编码:注意力本身不区分顺序,需要额外注入位置信息;常见做法包括正弦编码、可学习位置嵌入和 RoPE。
三种常见形态
- Encoder-only:例如 BERT,擅长理解类任务。
- Decoder-only:例如 GPT 系列,按从左到右的方式生成文本,是当前大模型的主流形态。
- Encoder-Decoder:例如 T5,适合翻译、摘要等序列到序列任务。
常见误区
- Transformer 不等于“只有注意力”。在多数模型里,前馈网络仍然占据很大一部分参数量。
- 训练可以并行,不代表推理可以并行。Decoder-only 模型生成时仍然是自回归的,一个 token 接一个 token 地产生。
- 注意力复杂度随序列长度呈平方增长,长上下文会显著增加计算和显存开销;这也是 KV Cache 等推理优化技术存在的原因。