NLP高频面试题(七)——GPT和Bert的mask有什么区别?

发布于:2025-03-22 ⋅ 阅读:(143) ⋅ 点赞:(0)

GPT 和 BERT 的 Mask 机制对比:核心区别与优化策略

在NLP领域,GPT 和 BERT 是最具代表性的预训练语言模型之一。它们都在训练过程中使用了 Mask 机制来引导模型学习语言表示,但具体实现方式和目标却有所不同。本文将深入探讨 GPT 和 BERT 的 Mask 方法的核心区别,并分析其优化策略。

1. BERT 的 Mask 机制:基于 MLM(Masked Language Model)

BERT(Bidirectional Encoder Representations from Transformers)采用 (Masked Language Model) 进行训练,即在输入文本中随机 Mask 掉部分 token,让模型在上下文中预测这些被 Mask 掉的 token。

BERT 的 Mask 方式具有以下特点:

  • Token 级别的 Mask:BERT 会随机选择一定比例的 token 并用 [MASK] 进行替换,例如:

    “I love [MASK] dogs.”
    这里的 my 可能会被 Mask 掉,模型需要结合上下文来预测原始词。

  • 基于子词(Subword)级别的 Mask:BERT 采用 BPE(Byte-Pair Encoding) 或 WordPiece 进行分词,一个单词可能被拆分成多个子词(subword)。
    例如:

    “running” → [“run”, “##ning”]
    如果只 Mask 掉 “##ning”,模型很容易猜测出原单词是 “running”。

  • Mask 预测的优化

    • Span Mask(片段 Mask):后续研究发现,单独 Mask 子词会让任务变得过于简单,因此提出了 Span Mask,即将整个单词或一段短语整体 Mask 掉,从而增加任务的难度。
    • 命名实体 Mask(适用于中文):中文的分词方式不同于英文,百度等团队在优化 BERT 训练时提出 Named Entity Masking(命名实体 Mask),专门对人名、地名等实体进行 Mask,使模型更好地学习实体识别能力。

2. GPT 的 Mask 机制:基于 CLM(Causal Language Model)

与 BERT 不同,GPT(Generative Pre-trained Transformer)采用的是 自回归语言模型(Causal Language Model, CLM),其训练目标是通过前面的词预测下一个词,而不是填补 Mask 掉的部分。因此,GPT 并不使用 [MASK],而是通过 自回归(Autoregressive) 方式进行训练,即:

“I love my” → 预测 “dog”

GPT 训练时,模型只能看到当前词及其之前的词,而不能看到未来的词,因此它的 Mask 机制表现为单向(从左到右)遮蔽

  • 自回归 Mask(Causal Mask):在 Transformer 计算注意力时,GPT 采用一个 上三角 Mask,即屏蔽掉当前 token 之后的所有 token,只能依赖前面的词信息进行预测。
  • 无显式 Mask Token:GPT 没有 [MASK],而是通过连续生成下一个词的方式进行学习,并应用于文本生成任务,如 OpenAI 的 ChatGPT。

这种 Mask 方式的主要优点是适用于 文本生成任务,如对话生成、自动写作等,但缺点是缺乏双向信息,可能导致对上下文的理解不如 BERT 深入。

3. GPT vs. BERT 的 Mask 机制对比

BERT(MLM) GPT(CLM)
Mask 方式 随机 Mask 句子中的 token 通过左到右的自回归预测下一个词
训练目标 预测被 Mask 掉的 token 预测下一个 token
注意力机制 双向注意力(可以看到左右两侧的上下文) 单向注意力(只能看到前面的 token)
适用任务 适用于 NLP 理解任务,如文本分类、命名实体识别、阅读理解等 适用于文本生成任务,如对话系统、自动写作等

网站公告

今日签到

点亮在社区的每一天
去签到