Ch09 Transformer

Transformer 架构

概述

Transformer 是由 Vaswani 等人在 2017 年论文 “Attention Is All You Need” 中提出的神经网络架构。它完全基于注意力机制(Attention Mechanism),摒弃了传统的循环(RNN)和卷积(CNN)结构。Transformer 的提出彻底改变了 NLP 领域,并迅速扩展到 CV、语音、多模态等几乎所有 AI 领域。2026 年,Transformer 已成为 AI 的主导架构,所有主流 LLM(GPT、Claude、Gemini、LLaMA)均基于 Transformer。

为什么 Transformer 是革命性的

局限RNN/LSTMCNNTransformer
长距离依赖差(梯度消失)需要多层堆叠好(直接全局注意力)
并行计算不可以(串行时间步)可以(卷积并行)可以(注意力并行)
训练速度慢中等快(GPU 友好)
序列建模天然适合需要特殊处理需要位置编码
可扩展性差好极好(Scaling Law)

核心架构

整体结构

Transformer 采用 Encoder-Decoder 结构:

Input -> [Input Embedding + Positional Encoding]
              |
              v
         [Encoder x N]
         |  - Multi-Head Self-Attention
         |  - Add & Norm
         |  - Feed Forward Network
         |  - Add & Norm
              |
              v
         [Decoder x N]
         |  - Masked Multi-Head Self-Attention
         |  - Add & Norm
         |  - Cross-Attention (Encoder-Decoder)
         |  - Add & Norm
         |  - Feed Forward Network
         |  - Add & Norm
              |
              v
         [Linear + Softmax] -> Output

三大注意力机制

注意力类型位置功能Query 来自Key/Value 来自
Self-AttentionEncoder每个 token 关注所有 token(包括自己)当前层输入当前层输入
Masked Self-AttentionDecoder每个 token 只能关注自身及之前的 token当前层输入当前层输入
Cross-AttentionDecoderDecoder 关注 Encoder 的输出Decoder 当前层Encoder 输出

核心组件详解

1. 缩放点积注意力 (Scaled Dot-Product Attention)

  • (Query): 查询向量,表示”我在找什么”
  • (Key): 键向量,表示”我能提供什么”
  • (Value): 值向量,表示”我的实际内容”
  • : 缩放因子,防止点积过大导致 softmax 梯度消失

2. 多头注意力 (Multi-Head Attention)

将 Q、K、V 分别投影到 个子空间,并行计算注意力,最后拼接:

3. 前馈网络 (Feed-Forward Network)

或 SwiGLU 变体(LLaMA 使用):

Transformer 的三大变体

变体使用 Encoder使用 Decoder代表模型典型任务
Encoder-Only是否BERT, RoBERTa, DeBERTa文本理解、分类、NER
Decoder-Only否是(因果自注意力)GPT, LLaMA, Claude, Gemini文本生成、对话
Encoder-Decoder是是T5, BART, 原始 Transformer翻译、摘要

关键设计细节

组件作用常见选择
位置编码注入序列位置信息RoPE (LLaMA), Learned (GPT), ALiBi (BLOOM)
激活函数非线性变换GELU (BERT/GPT), SwiGLU (LLaMA)
归一化稳定训练LayerNorm (BERT), RMSNorm (LLaMA)
归一化位置归一化放在哪里Post-Norm (原始), Pre-Norm (现代)
残差连接避免梯度消失所有 Transformer 都使用
Dropout正则化训练时使用,推理时关闭

计算复杂度

对于长度为 、维度为 的序列:

组件复杂度说明
Self-Attention平方复杂度是主要瓶颈
FFN 通常较大
总复杂度长序列时注意力主导

2026 年改进方向

  1. 高效注意力:FlashAttention、Ring Attention 实现 O(n) 内存的注意力计算
  2. 长上下文:通过位置编码扩展和稀疏注意力支持 1M+ tokens
  3. MoE (Mixture of Experts):稀疏激活,参数规模扩大但计算量可控
  4. 替代架构:Mamba/SSM 等线性复杂度架构在某些场景下挑战 Transformer

相关笔记

来源

关联19

知识图谱

局部图谱 · 点节点跳转