Appearance
Transformer 架构详解
版本:
v1.1最后更新:
2026-07-06说明:本文默认“transform 架构”指的是
Transformer架构。适用对象:希望从原理、数学直觉、工程实现和现代大模型演进角度系统理解 Transformer 的学习者。
1. Transformer 是什么
Transformer 是一种以 Attention 为核心的神经网络架构,最早由论文 Attention Is All You Need 提出。它最重要的变化是:
- 不再依赖 RNN 的逐步递归来处理序列。
- 不再主要依赖 CNN 的局部卷积来扩大感受野。
- 通过 self-attention 让序列中任意两个位置可以直接交互。
一句话理解:
- Transformer 用注意力机制让每个 token 根据上下文重新理解自己。
今天的大语言模型、文本编码模型、视觉 Transformer、多模态模型,大多都可以看成 Transformer 家族的不同变体。
2. Transformer 要解决什么问题
在 Transformer 之前,序列建模主要依赖 RNN / LSTM / GRU 和 CNN 序列模型。
2.1 RNN 的问题
RNN 按时间步处理序列:
text
x1 -> h1 -> h2 -> h3 -> ... -> hn它的优点是天然适合序列,但缺点也明显:
- 训练时难以并行。
- 长距离依赖要经过很多步传递。
- 梯度容易衰减或不稳定。
- 序列很长时训练效率低。
2.2 CNN 序列模型的问题
CNN 可以并行计算,但它主要通过局部窗口看上下文。
如果想让两个距离很远的 token 互相影响,通常需要:
- 更大的卷积核
- 更多层堆叠
- dilation 等技巧
这能解决一部分问题,但全局关系建模仍然不够直接。
2.3 Transformer 的切入点
Transformer 的思路更直接:
- 每个 token 都可以直接看见其他 token。
- 模型自己学习应该关注哪些 token。
- 训练时可以并行处理整个序列。
所以它的核心价值是:
- 并行训练效率高。
- 长距离依赖路径短。
- 结构统一,容易扩展到大模型。
3. 原始 Transformer 的整体结构
原始论文中的 Transformer 是 Encoder-Decoder 架构,主要用于机器翻译这类序列到序列任务。
整体流程:
text
Source Tokens
-> Source Embedding
-> Positional Encoding
-> Encoder Stack
-> Encoder Memory
Target Tokens
-> Target Embedding
-> Positional Encoding
-> Decoder Stack
-> Linear Projection
-> Softmax
-> Next Token Probability原始论文中的基础配置包括:
| 参数 | 值 |
|---|---|
| Encoder 层数 | 6 |
| Decoder 层数 | 6 |
| d_model | 512 |
| attention heads | 8 |
| d_ff | 2048 |
| dropout | 0.1 |
这些数值不是 Transformer 的硬性要求,而是论文实验中的基准配置。现代大模型会把层数、隐藏维度、head 数、上下文长度和参数量扩展很多倍。
4. Transformer 的数据形状
理解 Transformer 时,最好先掌握张量形状。
假设:
- batch size =
B - sequence length =
T - hidden size =
D
输入 token 经过 embedding 后,通常得到:
text
X: [B, T, D]每一层 Transformer block 都会接收这个形状,并输出同样形状:
text
TransformerBlock(X) -> [B, T, D]这也是 Transformer 易堆叠的原因:每层输入输出接口一致。
5. Token Embedding
模型不能直接处理文字,需要先把文本切成 token,再把 token 映射成向量。
例如:
text
"I love AI"
-> ["I", "love", "AI"]
-> [token_id_1, token_id_2, token_id_3]
-> vectors如果 d_model = 512,那么每个 token 会变成 512 维向量。
text
Token IDs: [B, T]
Embedding: [B, T, D]Embedding 层可以理解成一个查表矩阵:
text
Embedding Table: [vocab_size, D]每个 token id 对应表中的一行向量。
6. 为什么需要位置编码
Self-attention 本身不包含顺序信息。
如果只看 token embedding,模型看到的是一组向量,而不是天然有顺序的句子。
例如:
text
小明 喜欢 小红
小红 喜欢 小明这两句话的 token 类似,但顺序变化会导致含义变化。
所以 Transformer 必须引入位置编码,让模型知道:
- token 在哪里
- token 之间距离多远
- 谁在前,谁在后
7. 原始正弦位置编码
原始 Transformer 使用固定的正弦和余弦位置编码。
公式:
$$ PE(pos, 2i) = \sin\left(\frac{pos}{10000^{2i/d_{model}}}\right) $$
$$ PE(pos, 2i+1) = \cos\left(\frac{pos}{10000^{2i/d_{model}}}\right) $$
其中:
pos是 token 位置。i是维度索引。- 偶数维使用 sin。
- 奇数维使用 cos。
直觉上,不同维度对应不同频率的位置波形。低频维度表达粗粒度位置,高频维度表达细粒度位置。
原始论文选择这种方式,是因为它不需要学习参数,也有机会泛化到训练长度之外的位置。
8. 现代位置编码
现代大模型常见的位置方案已经不只正弦编码。
| 方法 | 核心思路 | 常见用途 |
|---|---|---|
| Learned Position Embedding | 每个位置有可学习向量 | BERT、GPT 早期模型 |
| Relative Position Encoding | 建模相对距离 | 长文本、结构化序列 |
| RoPE | 对 Q/K 做旋转位置编码 | 很多现代 decoder-only LLM |
| ALiBi | 给注意力分数加距离偏置 | 长上下文外推 |
8.1 RoPE 的直觉
RoPE 来自 RoFormer,它不是简单把位置向量加到 token embedding 上,而是把位置信息注入到 Query 和 Key 的旋转变换里。
它的直觉是:
- token 的表示会随着位置发生旋转。
- Query 和 Key 的点积自然包含相对位置信息。
这使它很适合自回归模型和长上下文扩展。
8.2 ALiBi 的直觉
ALiBi 不显式学习位置 embedding,而是在注意力分数中加入和距离相关的线性偏置。
距离越远,偏置越不利于关注。
它的目标是让模型在训练上下文长度之外也能更自然地外推。
9. Self-Attention 的核心问题
Self-attention 要回答一个问题:
- 当前 token 在更新自己的表示时,应该从其他 token 那里拿多少信息?
例如句子:
text
小明把书放进包里,因为它很重。这里的“它”到底指什么?模型需要关注前面的“书”或“包”,并根据上下文判断。
Self-attention 让每个 token 都可以对其他 token 分配权重。
10. Q、K、V 是什么
给定输入:
text
X: [B, T, D]模型通过三个线性层得到:
text
Q = XW_Q
K = XW_K
V = XW_V直觉理解:
| 名称 | 含义 |
|---|---|
| Query | 我现在想找什么信息 |
| Key | 我能被别人以什么方式匹配到 |
| Value | 如果别人关注我,实际拿走什么信息 |
更口语一点:
- Query 像问题。
- Key 像索引标签。
- Value 像真正内容。
注意:Q、K、V 都来自同一个输入 X 时,叫 self-attention。若 Query 来自 decoder,Key/Value 来自 encoder,就叫 cross-attention。
11. Scaled Dot-Product Attention
原始论文中的注意力公式是:
$$ Attention(Q, K, V) = softmax\left(\frac{QK^T}{\sqrt{d_k}}\right)V $$
拆成四步:
11.1 计算匹配分数
$$ QK^T $$
每个 query 和每个 key 做点积,得到注意力分数。
如果忽略 batch 和 head,形状是:
text
Q: [T, d_k]
K: [T, d_k]
QK^T: [T, T][T, T] 就是注意力矩阵。
第 i 行表示第 i 个 token 对所有 token 的关注分数。
11.2 除以 sqrt(d_k)
$$ \frac{QK^T}{\sqrt{d_k}} $$
当维度很大时,点积值容易变大,softmax 后可能过于尖锐,导致训练不稳定。缩放项让分数落在更合适的范围。
11.3 softmax
softmax 把分数变成权重:
text
[0.1, 0.7, 0.2]这些权重表示当前 token 分别从其他 token 拿多少信息。
11.4 加权求和 Value
最后乘以 V:
$$ softmax(score)V $$
得到每个 token 的新表示。
12. Attention 矩阵的含义
注意力矩阵是 Transformer 里最有代表性的中间结构。
text
key_1 key_2 key_3 key_4
query_1 0.1 0.6 0.2 0.1
query_2 0.3 0.2 0.4 0.1
query_3 0.0 0.1 0.8 0.1
query_4 0.2 0.2 0.1 0.5每一行通常归一化为 1。
它表达的是:
- 每个位置在更新自己时,从其他位置读取多少信息。
但要小心:注意力权重不等于完整解释。它能提供一些可视化直觉,但不能简单地把最大权重解释成模型“原因”。
13. Attention Mask
Attention mask 用来控制哪些位置可以被看见。
13.1 Padding Mask
批量训练时,不同样本长度不同,会补 padding。
padding token 不应该参与注意力,所以要 mask 掉。
13.2 Causal Mask
自回归生成时,模型不能看未来 token。
例如预测第 3 个 token 时,只能看第 1、2 个 token。
Causal mask 的形状类似:
text
1 0 0 0
1 1 0 0
1 1 1 0
1 1 1 1其中 1 表示可见,0 表示不可见。
Decoder-only LLM 的生成能力就建立在 causal mask 上。
13.3 自定义 Mask
有些模型还会使用:
- sliding window mask
- block sparse mask
- prefix mask
- retrieval mask
这些 mask 会改变模型能看见的上下文范围,从而影响能力和成本。
14. Multi-Head Attention
单个注意力头只能从一个子空间看关系。多头注意力让模型并行学习多种关系。
公式:
$$ head_i = Attention(QW_i^Q, KW_i^K, VW_i^V) $$
$$ MultiHead(Q,K,V) = Concat(head_1,...,head_h)W^O $$
如果:
D = 512num_heads = 8
常见设置是每个 head 的维度:
text
d_head = 512 / 8 = 6414.1 多头为什么有用
不同 head 可以关注不同关系:
- 近邻词搭配
- 长距离指代
- 句法关系
- 分隔符和格式
- 主题相关 token
- 工具调用参数
14.2 多头不是越多越好
head 数增加会改变计算、显存、并行方式和单头维度。
如果 head 太多,每个 head 维度太小,也可能影响表达能力。
现代模型还会使用:
- MHA:标准多头注意力
- MQA:多 query 共享 K/V
- GQA:分组 query 共享 K/V
MQA 和 GQA 常用于降低推理时 KV cache 的显存占用。
15. Feed-Forward Network
每个 Transformer block 里除了注意力,还有前馈网络。
原始论文中的 FFN 是:
$$ FFN(x) = max(0, xW_1 + b_1)W_2 + b_2 $$
它是逐位置独立应用的。
也就是说:
- 注意力负责 token 之间的信息交换。
- FFN 负责对每个位置的表示做非线性变换。
原始配置中:
text
d_model = 512
d_ff = 2048FFN 通常会先升维,再降维。
现代模型里常见改进包括:
- GELU
- SwiGLU
- GeGLU
- gated FFN
这些改进通常能提升表达能力和训练效果。
16. Residual Connection
Transformer 每个子层都有残差连接:
$$ y = x + Sublayer(x) $$
作用:
- 保留原始信息。
- 改善梯度传播。
- 让深层网络更容易训练。
- 允许模型逐层增量更新表示。
如果没有 residual,深层 Transformer 会更难稳定训练。
17. LayerNorm、Pre-Norm 与 Post-Norm
LayerNorm 来自论文 Layer Normalization,它对一个样本内部的特征维度做归一化,不依赖 batch 统计量。
这很适合序列任务,因为:
- 序列长度可以变化。
- batch size 可能受显存影响。
- 推理时也需要稳定行为。
17.1 Post-Norm
原始 Transformer 更接近:
text
x -> Sublayer -> Add -> LayerNorm17.2 Pre-Norm
现代深层 Transformer 常见:
text
x -> LayerNorm -> Sublayer -> AddPre-Norm 通常更利于深层训练稳定,因为梯度路径更直接。
17.3 RMSNorm
很多现代 LLM 使用 RMSNorm。它比 LayerNorm 更简单,不减均值,只按均方根做缩放,计算更轻。
18. Encoder Block
Encoder 层主要包含:
text
Input
-> Multi-Head Self-Attention
-> Add & Norm
-> Feed-Forward Network
-> Add & Norm
-> OutputEncoder 的 self-attention 通常是双向的:
- 每个 token 可以看见整个输入序列。
因此 encoder 适合理解类任务:
- 分类
- 匹配
- 抽取
- embedding
- reranking
- 语义表示
BERT 就是典型 encoder-only 模型。
19. Decoder Block
原始 Encoder-Decoder Transformer 的 decoder 层包含:
text
Input
-> Masked Self-Attention
-> Add & Norm
-> Cross-Attention
-> Add & Norm
-> Feed-Forward Network
-> Add & Norm
-> Output19.1 Masked Self-Attention
让 decoder 只能看当前位置之前的 token。
19.2 Cross-Attention
Query 来自 decoder,Key/Value 来自 encoder。
它让 decoder 在生成目标序列时读取源序列信息。
19.3 Decoder-Only 的简化
GPT 类模型通常没有 encoder,也没有 encoder-decoder cross-attention。
它们主要是:
text
Token Embedding
-> N 层 Causal Transformer Block
-> LM Head
-> Next Token这种结构特别适合 next-token prediction。
20. Encoder-Only、Decoder-Only、Encoder-Decoder
| 类型 | 代表模型 | 注意力方式 | 适合任务 |
|---|---|---|---|
| Encoder-Only | BERT | 双向 self-attention | 理解、分类、抽取、embedding |
| Decoder-Only | GPT 系列 | causal self-attention | 生成、对话、代码、Agent |
| Encoder-Decoder | 原始 Transformer、T5 | encoder 双向 + decoder causal + cross-attention | 翻译、摘要、改写、seq2seq |
20.1 BERT 为什么适合理解
BERT 使用双向上下文,能同时看左边和右边。
它适合:
- 判断句子关系
- 做分类
- 抽取实体
- 做文本表示
20.2 GPT 为什么适合生成
GPT 类模型使用 causal mask,只预测下一个 token。
训练目标简单统一:
text
给定前文,预测下一个 token这个目标可以扩展到超大规模文本和代码数据。
20.3 T5 为什么适合文本到文本
T5 把各种 NLP 任务统一成 text-to-text 格式。
例如:
- 翻译是 text -> text
- 摘要是 text -> text
- 分类也可以是 text -> label text
这种统一接口让多任务训练更自然。
21. 训练目标
Transformer 是架构,不等于某一种训练目标。
常见训练目标包括:
21.1 Next Token Prediction
Decoder-only LLM 的核心训练目标。
text
P(token_t | token_1, ..., token_{t-1})优点:
- 数据来源广。
- 目标简单。
- 适合生成。
21.2 Masked Language Modeling
BERT 的经典目标。
随机 mask 一些 token,让模型预测被 mask 的内容。
优点:
- 可以利用双向上下文。
- 适合理解任务。
21.3 Seq2Seq Teacher Forcing
Encoder-decoder 模型常用。
训练时 decoder 输入真实目标序列右移后的版本,预测下一个目标 token。
22. 推理:为什么生成仍然逐 token
训练 decoder-only 模型时,可以并行计算所有位置的 loss。
但推理时没有未来 token,只能:
text
输入 prompt
-> 预测 token_1
-> 拼回上下文
-> 预测 token_2
-> 拼回上下文
-> ...这就是为什么生成长文本会慢。
Transformer 的训练并行和推理逐 token,是很多人容易混淆的点。
23. KV Cache
自回归推理时,如果每生成一个 token 都重新计算全部历史 token 的 K/V,会非常浪费。
KV cache 的思路是:
- 历史 token 的 Key 和 Value 缓存下来。
- 生成新 token 时,只计算新 token 的 Q/K/V。
- 新 token 的 Q 去关注历史 K/V 和当前 K/V。
简化流程:
text
Step 1:
tokens: [A, B, C]
cache: K/V for A,B,C
Step 2:
new token: D
compute K/V for D
attention over cached K/V + D
append D to cacheKV cache 能显著降低推理重复计算,但会带来显存占用。
显存大致随这些因素增长:
- batch size
- sequence length
- number of layers
- number of heads
- head dimension
这也是长上下文推理昂贵的重要原因。
24. Attention 的复杂度
标准 full attention 的注意力矩阵大小是:
text
T × T所以计算和显存通常近似为:
$$ O(T^2) $$
当上下文长度从 4k 增加到 8k,注意力矩阵规模不是翻倍,而是约 4 倍。
这解释了为什么长上下文模型很贵,也解释了为什么后来出现很多注意力优化方法。
25. FlashAttention
FlashAttention 论文的目标是让注意力计算更快、更省显存,同时保持精确 attention 结果。
它的核心思想不是改变注意力数学定义,而是改变计算和内存访问方式。
传统 attention 会显式构造较大的注意力矩阵:
text
QK^T -> softmax -> multiply VFlashAttention 使用分块和 IO-aware 计算,减少高带宽内存读写,避免完整 materialize attention matrix。
直觉:
- 数学结果仍是精确 attention。
- 实现方式更贴近 GPU 内存层级。
- 显存更省,速度更快。
这类工程优化是现代 LLM 能跑长上下文和大 batch 的关键之一。
26. 长上下文改进方向
标准 Transformer 面临长上下文压力,所以出现很多改进。
| 方向 | 代表思路 | 目标 |
|---|---|---|
| 稀疏注意力 | 只关注部分 token | 降低复杂度 |
| 滑动窗口 | 只看局部窗口 | 适合长文和流式 |
| 全局 token | 少量 token 看全局 | 保留全局汇聚能力 |
| RoPE scaling | 扩展位置编码范围 | 支持更长上下文 |
| FlashAttention | 优化内存访问 | 加速精确 attention |
| KV cache 优化 | MQA / GQA / cache 压缩 | 降低推理显存 |
| 检索增强 | 不把所有知识塞进上下文 | 用外部检索补充知识 |
要注意:
- 长上下文不是无限记忆。
- 上下文能放进去,不代表模型一定能稳定使用。
- RAG、摘要、索引和工具调用仍然很重要。
27. Scaling Laws 与大模型
Transformer 的另一个关键特点是可扩展。
Kaplan 等人的 scaling laws 研究发现,模型性能与参数量、数据量、计算量之间存在相对规律的缩放关系。Chinchilla 论文进一步强调,在给定计算预算下,模型参数量和训练 token 数需要更平衡,不能只盲目扩大参数。
这对大模型工程的启发是:
- 架构重要,但数据、计算、训练配比同样重要。
- 大模型能力不是只靠多堆层数。
- 数据质量和训练 token 规模会强烈影响最终效果。
Transformer 的统一结构让这种扩展更容易发生。
28. Transformer 为什么适合 LLM
大语言模型通常使用 decoder-only Transformer,因为它具备这些特点:
- next-token prediction 训练目标简单。
- 能利用海量文本和代码。
- 训练时可并行。
- 推理时可自回归生成。
- 架构容易扩展参数量。
- 注意力能建模上下文依赖。
- 可以通过指令微调、RLHF、工具调用等方式扩展能力。
但也要看到:
- Transformer 本身不是“智能”的全部。
- 数据、训练目标、对齐方法、推理策略、工具系统都很关键。
29. Transformer 在视觉和多模态中的扩展
Vision Transformer 把图像切成 patch,把每个 patch 当成 token。
text
Image
-> Patches
-> Patch Embedding
-> Position Embedding
-> Transformer Encoder
-> Classification / Representation论文 An Image is Worth 16x16 Words 证明了 Transformer 可以直接应用到图像 patch 序列上,并在大规模数据下取得很强效果。
多模态模型会进一步把:
- 文本 token
- 图像 patch
- 音频片段
- 视频帧
- 工具结果
映射到统一或可交互的表示空间里。
这也是现代多模态模型的基础之一。
30. Transformer 的常见现代改造
| 模块 | 原始 Transformer | 现代常见变化 |
|---|---|---|
| 位置编码 | sinusoidal | RoPE、ALiBi、learned position |
| Norm | LayerNorm post-norm | Pre-norm、RMSNorm |
| FFN | ReLU FFN | GELU、SwiGLU、gated FFN |
| Attention | MHA | MQA、GQA、FlashAttention |
| 架构 | Encoder-Decoder | Decoder-only LLM |
| 容量扩展 | Dense FFN | MoE |
| 上下文 | full attention | sliding window、sparse、long context |
这些改造大多不是推翻 Transformer,而是在同一骨架上优化训练稳定性、效率、上下文长度和推理成本。
31. MoE 与 Transformer
MoE 是 Mixture of Experts。
它常见做法是在 FFN 部分放多个 expert,由 router 为每个 token 选择少数 expert。
直觉:
text
Token Representation
-> Router
-> Expert 3 + Expert 7
-> CombineMoE 的目标:
- 增加总参数量。
- 每个 token 只激活部分参数。
- 在相近计算成本下提升模型容量。
代价:
- 训练更复杂。
- 负载均衡更难。
- 通信成本更高。
- 推理部署更复杂。
32. 工程实现时最容易错的地方
32.1 mask 方向写反
Causal mask 方向错了,模型可能偷看未来 token,训练 loss 看起来很好,但推理崩掉。
32.2 shape 对不上
多头注意力经常要 reshape:
text
[B, T, D] -> [B, num_heads, T, d_head]如果维度转置错了,模型还能跑,但语义完全不对。
32.3 忘记 scaling
不除以 sqrt(d_k),训练可能不稳定。
32.4 padding 没 mask
padding token 参与注意力,会污染表示。
32.5 KV cache 与 position 对不上
推理时如果位置编码和 cache index 不一致,长文本生成会异常。
32.6 训练和推理配置不一致
例如训练时用一种 mask,推理时用另一种;训练上下文短,推理强行拉长,效果可能不稳定。
33. 如何阅读 Transformer 论文
建议按这个顺序读 Attention Is All You Need:
- 先看摘要和引言,理解为什么去掉 recurrence。
- 看模型架构图,建立 encoder-decoder 全局结构。
- 看 scaled dot-product attention 公式。
- 看 multi-head attention。
- 看 positional encoding。
- 看训练配置和机器翻译实验。
- 回头把公式和张量形状对应起来。
不要一开始就纠结所有符号。先抓住三件事:
- 输入输出是什么。
- 每层怎么变换。
- attention 为什么能让 token 交互。
34. Transformer 与 RAG、Embedding、Agent 的关系
Transformer 是底层架构,RAG、Embedding、Agent 是应用形态或系统方法。
| 概念 | 和 Transformer 的关系 |
|---|---|
| Embedding | 常由 Transformer 编码模型生成文本表示 |
| RAG | 检索后把证据交给 Transformer LLM 生成答案 |
| Fine-tuning | 在 Transformer 模型上继续训练或对齐 |
| Evals | 评测 Transformer 应用链路的效果 |
| Agent | 用 Transformer LLM 做规划、工具调用和对话 |
| 多模态 | 把不同模态转成 token 或 embedding 后交给 Transformer |
理解 Transformer,不是为了手写一个大模型,而是为了知道这些系统能力从哪里来、瓶颈在哪里。
35. 常见误区
35.1 Attention 等于解释性
注意力权重能提供线索,但不能直接等同于模型决策原因。
35.2 Transformer 天然理解顺序
不对。它需要位置编码或位置机制。
35.3 上下文越长越好
长上下文会增加成本,也可能带来注意力稀释。能放进去不等于能用好。
35.4 Decoder-only 只能生成,不能理解
不准确。Decoder-only 模型也能做理解任务,只是训练和使用方式偏生成式。
35.5 Encoder 模型已经过时
也不准确。Embedding、reranker、分类、抽取等场景仍然大量使用 encoder 或 encoder-like 模型。
36. 面试式总结
如果要用几句话解释 Transformer,可以这样说:
- Transformer 是以 self-attention 为核心的序列建模架构。
- 它让每个 token 通过 Q/K/V 注意力机制直接和其他 token 交互。
- 原始 Transformer 是 encoder-decoder 结构,每层由 attention、FFN、残差连接和归一化组成。
- Encoder 适合理解,decoder 适合自回归生成,encoder-decoder 适合 seq2seq。
- 它的优势是并行训练、长距离依赖建模和可扩展性。
- 它的主要瓶颈是标准 attention 的
O(T^2)成本和长上下文推理显存。
37. 学习路线
建议按这个顺序学:
- 先读 Attention Is All You Need。
- 理解 Q/K/V、attention matrix、mask、multi-head。
- 理解 encoder-only、decoder-only、encoder-decoder 差异。
- 再读 BERT 和 GPT 类模型资料。
- 再补 RoPE、ALiBi、FlashAttention、KV cache。
- 最后把 Transformer 和 RAG、Embedding、fine-tuning、Agent 联系起来。
38. 推荐搭配阅读
39. 参考资料
以下资料在 2026-07-06 检查时可访问:
经典论文
- Attention Is All You Need: https://arxiv.org/abs/1706.03762
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding: https://arxiv.org/abs/1810.04805
- Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer: https://arxiv.org/abs/1910.10683
- An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale: https://arxiv.org/abs/2010.11929
现代改进
- RoFormer: Enhanced Transformer with Rotary Position Embedding: https://arxiv.org/abs/2104.09864
- Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation: https://arxiv.org/abs/2108.12409
- FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness: https://arxiv.org/abs/2205.14135
- Training Compute-Optimal Large Language Models: https://arxiv.org/abs/2203.15556
学习材料
- The Annotated Transformer: https://nlp.seas.harvard.edu/annotated-transformer/
- Hugging Face Transformers Documentation: https://huggingface.co/docs/transformers/index
40. 一句话总结
Transformer 的核心不是某个单独公式,而是一套把 token 表示、位置机制、自注意力、前馈网络、残差归一化和可扩展训练组合起来的通用架构。现代 LLM 的生成能力、Embedding 的语义表示能力、多模态模型的跨模态交互能力,都可以在这套架构里找到根。