1. 核心思想:自注意力机制(Self-Attention)
Transformer 的核心创新是完全摒弃 RNN/CNN,仅使用注意力机制处理序列。自注意力允许序列中的每个位置直接"关注"其他所有位置,计算关联权重。
其中:Q = 查询矩阵, K = 键矩阵, V = 值矩阵, dk = 键维度
缩放因子 √dk 防止点积值过大,导致 softmax 梯度消失。当 dk=64 时,√dk≈8,将点积值缩放到合理区间。
与 RNN 的 O(n) 顺序依赖不同,自注意力的所有位置可并行计算,这是 Transformer 训练速度远超 RNN 的根本原因。代价是 O(n²) 的计算复杂度和内存消耗。
2. 多头注意力(Multi-Head Attention)
单头注意力只能学习一种关联模式。Transformer 将注意力拆分为多个"头",每个头关注不同的语义关系:
headi = Attention(QWiQ, KWiK, VWiV)
原始 Transformer 使用 h=8 个头,dmodel=512,每个头 dk=dv=64。研究发现不同头确实学习了不同模式:有的关注语法结构,有的关注指代关系,有的关注位置邻近性。
| 模型 | dmodel | 头数 h | 层数 N | 参数量 |
|---|---|---|---|---|
| Transformer Base | 512 | 8 | 6 | 65M |
| Transformer Big | 1024 | 16 | 6 | 213M |
| GPT-3 | 12288 | 96 | 96 | 175B |
| Llama 3.1 405B | 16384 | 128 | 126 | 405B |
3. 编码器—解码器架构
原始 Transformer 采用编码器—解码器结构,后来演化出三大架构范式:
Encoder-Only(BERT)
使用双向注意力,每个 token 可关注所有其他 token。擅长理解任务(分类、NER、问答抽取)。代表:BERT、RoBERTa、ELECTRA。
Decoder-Only(GPT)
使用因果掩码注意力(causal mask),每个 token 只能关注之前的 token。擅长生成任务。代表:GPT 系列、Llama、Claude。
Encoder-Decoder(T5)
编码器双向编码输入,解码器自回归生成输出。两部分通过交叉注意力连接。代表:T5、BART、mBART。
趋势:Decoder-Only 架构在 GPT-3 之后成为绝对主流。OpenAI 的实践证明,足够大的 Decoder-Only 模型可以同时胜任理解和生成任务。
4. 位置编码(Positional Encoding)
自注意力是"位置无关"的——打乱输入顺序不影响输出。Transformer 必须额外注入位置信息:
PE(pos, 2i) = sin(pos / 100002i/d)
PE(pos, 2i+1) = cos(pos / 100002i/d)
| 方案 | 说明 | 代表模型 |
|---|---|---|
| 正弦/余弦 | 固定函数,天然支持外推 | 原始 Transformer |
| 可学习绝对位置 | 可训练 embedding 向量 | GPT-1/2, BERT |
| RoPE(旋转位置编码) | 通过旋转矩阵编码相对位置 | Llama, GPT-NeoX, Claude |
| ALiBi | 线性偏置代替位置嵌入 | BLOOM, MPT |
RoPE 已成为当前主流选择——它在注意力计算中自然编码了相对位置关系,且通过 NTK-aware 缩放可扩展到训练长度的 4-8 倍。
5. 关键训练技巧与优化
残差连接 + 层归一化:每个子层(注意力 / FFN)的输出 = LayerNorm(x + Sublayer(x))。残差连接缓解深层退化,层归一化稳定训练。
Pre-LN vs Post-LN:原始 Transformer 使用 Post-LN(先残差后归一化),GPT-2+ 使用 Pre-LN(先归一化后子层),训练更稳定。现代模型多采用 RMSNorm(均方根归一化),计算更高效。
FFN(前馈网络):每层包含两层全连接 FFN(x) = max(0, xW₁+b₁)W₂+b₂。FFN 隐藏层通常 4× dmodel。现代模型常用 SwiGLU 激活 + 8/3× 扩展比。
Flash Attention(Tri Dao, 2022):通过分块计算和重计算策略,将注意力内存从 O(n²) 降至 O(n),速度提升 2-4 倍。已成为所有现代 LLM 训练的标配。
MoE(混合专家):将 FFN 拆分为多个"专家"网络,每个 token 仅由 Top-K 个专家处理。GPT-4(传闻 8×220B MoE)、Mixtral 8×7B 均采用此架构,以较低推理成本获得更大模型容量。
6. 从 Transformer 到大模型:规模定律
Kaplan et al.(OpenAI, 2020)发现 Scaling Laws:模型性能(loss)与参数量 N、数据量 D、计算量 C 呈幂律关系:
L(D) ∝ D-0.095
L(C) ∝ C-0.050
这意味着只要持续增加模型规模和训练数据,性能就会可预测地提升——这一发现直接推动了 GPT-3/4、PaLM、Llama 等超大规模模型的开发。
Chinchilla 修正(Hoffmann et al., 2022):最优训练应保持参数量与训练 token 数近似 1:20 比例。70B 模型最优训练需 1.4T tokens。这一发现改变了"做大模型"的策略——从堆参数转向参数×数据的平衡优化。