跳到主要内容

掩码语言建模(MLM)

要解决的问题

纯左到右 CLM 在单遍编码时无法利用右侧上下文,对分类、匹配、抽取类表征不利。掩码语言建模(Masked LM)随机遮盖部分 token 并预测原值,训练双向表征,奠定 BERT 及大量 Encoder 预训练基础。

核心概念

随机选取约 15% 位置做 mask,BERT 策略:

  • 80% 替换为 [MASK]
  • 10% 随机 token
  • 10% 保持不变

损失仅在被 mask 位置计算:

LMLM=tMlogpθ(xtxM)\mathcal{L}_{\text{MLM}} = -\sum_{t \in \mathcal{M}} \log p_\theta(x_t \mid x_{\setminus \mathcal{M}})

其中 xMx_{\setminus \mathcal{M}} 为带 mask 的完整输入,模型双向可见(非因果掩码)。

变体说明
Whole Word Masking掩掉整词(WordPiece 对齐)
SpanBERT掩连续 span
ELECTRA替换 token 判别(非 MLM 但相关)

方法/算法

训练流程:

  1. 输入序列 → 随机选 mask 集合 M\mathcal{M}
  2. Encoder 输出每个位置 hidden hth_t
  3. 仅在 tMt \in \mathcal{M} 接 MLM head(共享 embedding 权重常见);
  4. softmax over 词表预测原 token。

NSP(下一句预测) 曾随 BERT 使用,后续 RoBERTa 等证明可去掉。Decoder-only 时代 MLM 多用于 嵌入模型(BGE、E5)而非主生成 LLM。

工程实践

  • 推理:MLM 本身不直接生成;生成需额外头或改用 Encoder-Decoder。
  • 动态 mask:每 epoch 不同 mask 提升数据效率。
  • 与 CLM 对比:同样 1B 参数,MLM 在 MNLI 等可能更强,CLM 在开放生成更强(规模定律下差距缩小,待验证)。
  • 工具transformers BertForMaskedLM

代表工作

局限与注意点

  • [MASK] 预训练-微调不一致:微调无 MASK token,依赖自适应能力。
  • 生成需解码器:纯 Encoder MLM 不适合长文本自回归生成。
  • 长序列成本:双向注意力 O(T2)O(T^2),与 FlashAttention 仍贵于推理侧 KV 复用场景。
  • 主 LLM 范式:工业界万亿模型以 CLM 为主,MLM 见 3.3.5 多任务 混合。

延伸说明

15% 为 BERT 默认;提高 mask 比例会增难度但可能损生成迁移(待验证)。

实践检查清单

  • WWWM
  • ELECTRA
  • 双向

小结

本节核心:WWWM 与全链路 ELECTRA 协同;上线前用检查清单做回归。

MLM 与 CLM 能力迁移(个人理解,待验证)

能力MLM 预训练CLM 预训练
抽取式 QA常更强需规模弥补
长文生成
嵌入检索需专门 contrastive

工业界生成 LLM 以 CLM 为主;MLM 仍广泛用于 embedding 与双塔检索。

相关章节