Skip to content

三大架构对比

学完 BERT 与 GPT,这一页把三种范式放到一起正面对比,帮你建立「遇到一个任务,该选哪种架构」的决策直觉。这也是把前面所有机制串成一张总图的收束页。

1. 一图看懂三种范式

   Encoder-only (BERT)      Encoder-Decoder (T5)       Decoder-only (GPT)
   ┌───────────┐            ┌──────┐   ┌──────┐        ┌──────┐
   │ 双向自注意  │            │Encoder│──►│Decoder│       │ 因果自注│×N
   │   力 ×N    │            │  ×N  │CKA│  ×N   │        │ 意 +FFN│
   └─────┬─────┘            └──────┘   └──┬───┘        └───┬──┘
         ▼                                ▼                ▼
   每个位置的理解表示              直接生成目标序列        预测下一词, 循环续写
   → 分类/抽取/检索                → 翻译/摘要            → 生成/对话/代码
  • Encoder-only:双向可见,擅长「读懂并输出表示/标签」,不擅长生文。
  • Encoder-Decoder(Seq2Seq):读入一段、生成另一段,天然适合「转换型」任务。
  • Decoder-only:单向续写,一个「预测下一词」打天下,是当今大模型主流。

2. 核心维度对比表

维度Encoder-only (BERT)Encoder-Decoder (T5/原始)Decoder-only (GPT)
注意力方向双向编码双向 + 解码单向单向(因果)
交叉注意力
典型预训练目标MLM 完形填空Span 损坏 / 翻译Next Token 续写
输出表示 / 分类完整目标序列逐词自回归
天生擅长理解序列转换生成
能否直接续写长文
代表模型BERT/RoBERTaT5/BART/翻译模型GPT/LLaMA/Qwen

3. 自注意力可见性对比(最关键的一张图)

        词1  词2  词3  词4
Encoder(双向)              ← 全都能互相看(除 padding)
   词1 [ ✓   ✓   ✓   ✓ ]
   词2 [ ✓   ✓   ✓   ✓ ]   任意方向可见 → 上下文最丰富
   词3 [ ✓   ✓   ✓   ✓ ]
   词4 [ ✓   ✓   ✓   ✓ ]

Decoder(因果)
   词1 [ ✓   ✗   ✗   ✗ ]   ← 下三角: 只能看过去, 为"预测下一词"服务
   词2 [ ✓   ✓   ✗   ✗ ]
   词3 [ ✓   ✓   ✓   ✗ ]
   词4 [ ✓   ✓   ✓   ✓ ]

一句话记住差异:BERT 能看整句所以懂词义,GPT 只能看左边所以会续写。

4. 任务 → 架构 速查

你的任务首选范式理由
文本分类 / 情感分析Encoder-only要的是高质量句表示
命名实体识别 / 抽取Encoder-only每个词的双向表示
语义检索 / 相似度Encoder-only(句向量)需要可比较的表示向量
机器翻译 / 摘要Encoder-Decoder明确的「输入→输出」转换
开放生成 / 对话 / 写作Decoder-only续写能力天然契合
代码补全 / AgentDecoder-only大规模续写涌现出推理/工具能力

5. 为什么 Decoder-only 如今成了主流

1) 目标统一: 一个"预测下一词"就能自监督吃下全网文本, 无需标注
2) 规模友好: 结构简单、易并行堆叠, 完美契合 Scaling Law
3) 能力涌现: 足够大后, 理解/推理/多任务都被"续写"隐式覆盖
4) 交互天然: 对话、代码、Agent 本质都是"给前文, 续后文"

需要注意:Decoder-only 也能做「理解」类任务(靠 prompt 让它输出标签),而 Encoder-only 做生成则很别扭——这是不对称的,也是大模型普遍走向 Decoder-only 的深层原因。

6. 参数规模与常见配置对照

模型范式层数d_model头数上下文参数
BERT-baseEnc1276812512110M
GPT-2 smallDec12768121024124M
T5-baseE-D12+1276812512220M
LLaMA-7BDec324096324k7B

你会发现 BERT-base 和 GPT-2 small 层数/宽度几乎一样——它们的差别不在规模,而在「注意力能不能看右边」这一处设计,却走向了理解与生成两条路。

小结

  • 三种范式 = 对「完整 Transformer」做不同的加减:留头(Enc)、留尾(Dec)、全留(E-D)
  • 决定性差异是注意力可见方向:双向懂词义、单向会续写。
  • 选型口诀:要表示用 Encoder,要转换用 E-D,要生成/对话用 Decoder
  • Decoder-only 因目标统一、易扩展、能力涌现、交互天然而成为当代主流。

下一步

原理与架构都通了,进入工程侧:如何用 HuggingFace Transformers 库把模型跑起来 → 分词器