预训练任务中,Causal Language Modeling (CLM) 和 Masked Language Modeling (MLM) 有什么本质区别?
Causal Language Modeling (CLM) 和 Masked Language Modeling (MLM) 是自然语言处理(NLP)预训练中两种最主流的自监督学习范式。
它们分别代表了 GPT系列(CLM)和 BERT系列(MLM)。两者最本质的区别在于信息的流动方向(可见性)以及由此决定的概率计算方式。
以下是它们在五个维度的本质区别深度解析:
1. 核心机制与注意力可见性 (Attention Visibility)
这是两者最根本的区别,决定了模型的架构设计。
CLM (因果语言建模 / 自回归 Autoregressive):
- 机制: 单向(Unidirectional)。模型在预测第 个词时,只能看到 之前的信息( 到 ),绝对不能看到 及其之后的信息。
- 实现: 在 Transformer 的 Self-Attention 层中使用 Causal Mask(一个上三角为负无穷的矩阵),强制屏蔽掉“未来”的词。
- 直觉: 就像人类按顺序写文章,写当下这个字时,还不知道下一个字是什么。
MLM (掩码语言建模 / 自编码 Autoencoding):
- 机制: 双向(Bidirectional)。模型在预测被掩盖(Mask)的词时,可以同时看到该词左边和右边的上下文。
- 实现: Attention 矩阵是全可见的,没有屏蔽。但是输入序列中约 15% 的 token 被替换成了
[MASK]符号。 - 直觉: 就像做英语试卷的“完形填空”,你可以根据前后文来推断中间缺少的词。
2. 训练目标 (Training Objective)
从数学公式上看,两者的优化目标不同:
CLM: 旨在建模整个序列的联合概率。它将序列概率分解为条件概率的乘积。
- 目标: 最大化给定上文预测下一个词的似然度。
MLM: 旨在根据未被掩盖的上下文重建被掩盖的词。假设被掩盖的词集合为 ,未掩盖的为 。
- 目标: 最大化给定上下文(双向)预测 Mask 词的似然度。注意:这里假设了 Mask 词之间是相互独立的(这是 MLM 的一个理论缺陷,即忽视了被 Mask 词之间的依赖关系)。
3. 适用场景 (Downstream Applications)
由于机制的不同,它们擅长的下游任务截然不同:
CLM (生成式):
- 强项: 文本生成 (NLG)。因为它的训练方式完全模拟了生成的过(一个接一个预测)。
- 应用: 创意写作、代码生成、对话系统、逻辑推理(Chain-of-Thought)。
- 代表: GPT-3, GPT-4, Llama, Claude.
MLM (理解式):
- 强项: 文本理解 (NLU)。因为双向视野能更好地捕捉词与词之间的深层句法和语义关系,生成的 Embedding 质量通常更高。
- 应用: 文本分类、情感分析、命名实体识别 (NER)、问答系统 (提取式)。
- 代表: BERT, RoBERTa, DeBERTa.
4. 训练信号效率 (Sample Efficiency)
CLM: 信号稠密。
- 对于长度为 的序列,模型会进行 次预测(预测 用 ,预测 用 ...)。每一个 token 都是训练目标,数据利用率高。
MLM: 信号稀疏。
- 通常只有 15% 的 token 被 Mask 掉。这意味着在一个 batch 中,模型只能从这 15% 的 token 中获得 loss 信号,其余 85% 的 token 只是作为上下文输入(不计算 loss)。因此,MLM 通常需要更多的训练步数才能收敛。
5. 现代大模型的发展趋势
这就解释了为什么现在的 LLM(大语言模型)几乎全都是 CLM 架构:
虽然 MLM 在“理解”上有天然优势,但 CLM 是通用的。
- 随着模型规模(参数量)和数据量的指数级增加,CLM 模型通过“预测下一个词”学会了极强的上下文理解能力,弥补了单向注意力的劣势。
- 反之,MLM 很难直接用于生成任务(虽然可以通过 Gibbs 采样等方式强行生成,但效率极低且效果差)。
- 因此,为了追求一个模型解决所有任务(Unified Model),工业界最终选择了 Decoder-only 的 CLM 路线。
总结对比表
| 特性 | CLM (如 GPT) | MLM (如 BERT) |
|---|---|---|
| 全称 | Causal Language Modeling | Masked Language Modeling |
| 别名 | 自回归 (Autoregressive) | 自编码 (Autoencoding) |
| 方向性 | 单向 (Left-to-Right) | 双向 (Bidirectional) |
| 可见性 | 只能看过去 | 可看过去和未来 |
| 核心任务 | 预测下一个词 | 完形填空 |
| 优势 | 文本生成 | 文本理解/特征提取 |
| 训练信号 | 100% tokens 参与计算 Loss | ~15% tokens 参与计算 Loss |
右滑查看面试常问