预训练语言模型

1.1 Encoder-only PLM

Encoder-only 架构是 Transformer 的重要分支,专注于自然语言理解(NLU)任务,核心代表是 BERT 及其优化模型(RoBERTa、ALBERT)。其特点是:

  • 仅使用 Encoder 层:堆叠多层 Transformer Encoder,捕捉文本双向语义。

  • 预训练任务:通过掩码语言模型(MLM)学习上下文依赖。

  • 应用场景:文本分类、实体识别、语义匹配等 NLU 任务。


1.1.1 BERT
核心思想
  1. 架构基础

    • 堆叠 Transformer Encoder 层(Base: 12层, 768维;Large: 24层, 1024维)。

    • 输入处理:Tokenizer 分词 → Embedding 层(含可训练位置编码)→ Encoder 层。

  2. 预训练任务创新

    • MLM(掩码语言模型)

      • 随机遮蔽 15% 的输入 Token(80% 替换为 [MASK],10% 随机替换,10% 保留原词),迫使模型学习双向上下文语义。

      • 解决了传统语言模型(LM)的单向性缺陷。

    • NSP(下一句预测)

      • 判断两个句子是否连续,提升句级语义理解能力(如问答匹配任务)。

  3. 训练数据

    • 使用 BooksCorpus + 英文维基百科(共 3.3B Token),在 16/64 块 TPU 上训练 4 天。

下游任务适配
  • 微调范式:预训练模型 + 任务特定分类头(如 [CLS] 标签用于句级分类)。

  • 通用性:在 11 项 NLU 任务上刷新 SOTA,确立“预训练+微调”为 NLP 新范式。


1.1.2 RoBERTa
对 BERT 的优化
  1. 取消 NSP 任务

    • 实验证明 NSP 损害模型性能,仅保留 MLM 任务。

  2. 动态掩码策略

    • 训练时动态生成掩码(非静态预处理),提升数据多样性。

  3. 扩大训练规模

    • 数据量:160GB 语料(CC-NEWS + OpenWebText + Stories),十倍于 BERT。

    • 训练配置

      • Batch Size 增至 8K(BERT 为 256)

      • 序列长度全程 512(BERT 混合 128/512)

      • 词表扩大至 50K(BERT 为 30K)

    • 计算资源:1024 块 V100 GPU 训练 1 天。

结论
  • 更大规模数据 + 更长训练步长 → 显著提升模型性能。

  • 动态掩码 + 大 Batch Size → 优化训练效率。


1.1.3 ALBERT
轻量化设计
  1. 参数分解(Embedding 层)

    • 将词嵌入矩阵分解为 V×E + E×HE << H),减少参数量(如 E=128 时参数量降至 1/3)。

  2. 跨层参数共享

    • 所有 Encoder 层共享同一组参数,大幅压缩模型体积(ALBERT-xlarge: 59M 参数 vs BERT-large: 340M)。

  3. 代价

    • 参数共享导致训练/推理速度降低,限制实际应用。

预训练任务改进
  • SOP(句子顺序预测)

    • 替换 NSP,判断两个句子顺序是否调换(正例:A→B;负例:B→A)。

    • 实验证明 SOP 比 NSP 更有效提升句间关系理解。


总结:Encoder-only 模型的核心

模型 核心创新 训练优化 局限性
BERT MLM + NSP 双任务 首推预训练-微调范式 位置编码不可扩展;MLM 与微调不一致
RoBERTa 动态掩码;取消 NSP 数据量 ×10;Batch Size ×30 算力需求极高
ALBERT 参数分解 + 跨层共享;SOP 任务 参数量压缩 80% + 隐藏层拓宽 推理速度下降

你可能感兴趣的:(语言模型,人工智能,自然语言处理)