BERT 的 MLM 与 GPT 的 CLM:根本区别

一、任务定义对比

BERT — 掩码语言模型(Masked Language Model, MLM)

输入: "The man went to the [MASK] to buy a cup of coffee"
目标: 预测 [MASK] → "store"

核心机制:随机遮盖输入中 15% 的 token,模型需要利用被遮盖词的左右两侧上下文来预测它。

GPT — 因果语言建模(Causal Language Modeling, CLM)

输入: "The man went to the store to buy a cup of"
目标: 预测下一个词 → "coffee"

核心机制:自回归地从前到后逐词预测,每个位置只能看到左侧(历史)上下文,不能看到右侧(未来)信息。


二、根本区别的五个维度

1. 信息可见方向 — 最本质的区别

维度 BERT (MLM) GPT (CLM)
上下文方向 双向(左 + 右) 单向(仅左)
预测目标时 能看到目标词两侧的所有词 只能看到目标词之前的词

这是两者最根本的分歧,直接源于注意力掩码的设计:

BERT 的注意力矩阵(全双向):          GPT 的注意力矩阵(因果/下三角):
     w1   w2   w3   w4                    w1   w2   w3   w4
w1 [  ✓    ✓    ✓    ✓  ]            w1 [  ✓    ✗    ✗    ✗  ]
w2 [  ✓    ✓    ✓    ✓  ]            w2 [  ✓    ✓    ✗    ✗  ]
w3 [  ✓    ✓    ✓    ✓  ]            w3 [  ✓    ✓    ✓    ✗  ]
w4 [  ✓    ✓    ✓    ✓  ]            w4 [  ✓    ✓    ✓    ✓  ]

✓ = 可以 attend    ✗ = 被 mask 遮蔽

BERT 中每个 token 可以关注所有位置的 token;GPT 中每个 token 只能关注自身及之前的位置。

2. 训练目标与损失函数

BERT (MLM)
LMLM=−∑i∈MASKlog⁡P(wi∣w∖i)\mathcal{L}_{\text{MLM}} = -\sum_{i \in \text{MASK}} \log P(w_i \mid w_{\setminus i})LMLM=iMASKlogP(wiwi)

  • w∖iw_{\setminus i}wi 表示除被遮盖词外的所有词(双向上下文)
  • 本质是完形填空(Cloze task)

GPT (CLM)
LCLM=−∑t=1Tlog⁡P(wt∣w1,w2,...,wt−1)\mathcal{L}_{\text{CLM}} = -\sum_{t=1}^{T} \log P(w_t \mid w_1, w_2, ..., w_{t-1})LCLM=t=1TlogP(wtw1,w2,...,wt1)

  • 每个位置只依赖历史序列
  • 本质是自回归生成(Autoregressive generation)

3. 架构设计差异

设计选择 BERT GPT
架构类型 Encoder-Only(Transformer 编码器) Decoder-Only(Transformer 解码器)
注意力类型 双向自注意力 因果自注意力(Causal Self-Attention)
位置编码 可学习的绝对位置编码 可学习/旋转位置编码
特殊预训练任务 MLM + NSP(下一句预测) 纯 CLM

架构差异的根源在于:BERT 的编码器天然支持双向注意力(没有解码器中的因果掩码),而 GPT 的解码器天然带有因果掩码以防止"看到未来"。

4. 擅长的任务类型

         ┌──────────────────────────────────────────────┐
         │              自然语言理解 (NLU)               │
         │  分类、NER、问答、情感分析、语义相似度...      │
         │         ← BERT 的强项(双向上下文)            │
         ├──────────────────────────────────────────────┤
         │              自然语言生成 (NLG)               │
         │  文本续写、摘要、翻译、对话、代码生成...       │
         │         ← GPT 的强项(自回归生成)             │
         └──────────────────────────────────────────────┘
任务类型 BERT (MLM) GPT (CLM)
文本分类 ✅ 强 ⚠️ 可用但非最优
命名实体识别 ✅ 强 ⚠️ 可用但非最优
阅读理解(抽取式) ✅ 强 ⚠️ 可用但非最优
文本生成 ❌ 不擅长 ✅ 强
开放式对话 ❌ 不擅长 ✅ 强
零样本/少样本 ❌ 不支持 ✅ 强(GPT-3+)

根本原因:BERT 的双向注意力在训练时能看到"未来"词,但推理生成时无法自回归地逐词产出;GPT 的因果注意力天然支持从左到右的生成过程。

5. 训练效率与利用率

维度 BERT (MLM) GPT (CLM)
每条样本的预测位置 仅被 mask 的 ~15% token 所有 token(每个位置都预测下一个)
训练信号密度 较低(大部分 token 不参与预测) 较高(每个 token 都产生梯度)
[MASK] 标记的预训练-微调差异 存在(微调时无 [MASK]) 不存在(无特殊标记)

BERT 的 MLM 存在预训练-微调不一致问题:预训练时输入含 [MASK] 伪标记,但下游微调任务中不存在这些标记。BERT 通过混合策略缓解(80% 替换为 [MASK],10% 替换为随机词,10% 保持原词),但问题仍部分存在。GPT 的 CLM 则没有此问题。


三、一句话总结本质区别

BERT 的 MLM 是"看着上下文猜空格"(双向完形填空),适合理解;GPT 的 CLM 是"看着前文猜下一个词"(单向自回归生成),适合生成。

这一根本区别决定了两者的发展路线:

BERT 路线(理解优先):
  BERT → RoBERTa → ALBERT → DeBERTa → 编码器模型持续在 NLU 基准上刷新

GPT 路线(生成优先):
  GPT-1 → GPT-2 → GPT-3 → GPT-4 → 大规模自回归模型走向通用智能

值得注意的是,后来的统一架构(如 T5)通过 Encoder-Decoder 设计同时融合了双向理解(编码器端)和自回归生成(解码器端),用统一的 Text-to-Text 框架弥合了这两条路线的分歧。

更多推荐