【一起来学AI大模型】LLM核心预训练:MLM
摘要:掩码语言建模(MLM)是BERT等模型的核心预训练技术,通过随机掩盖15%的文本token(80%用[MASK],10%随机替换,10%保留原词),训练模型利用双向上下文预测被掩盖内容。MLM的创新在于允许模型同时观察左右上下文,学习深层语义关系,实现自监督学习。其优势包括高效的双向表征能力、自监督训练方式,以及为下游任务提供优质基础模型。尽管存在预训练与微调不一致等问题,MLM仍是现代NL
详细探讨大型语言模型(LLM)核心预训练任务之一:掩码语言建模(Masked Language Modeling, MLM)。这是驱动像 BERT 及其众多变体(如 RoBERTa, ALBERT, DistilBERT)取得突破性成功的关键技术。
核心思想: 人为地“破坏”输入文本(随机掩盖一些单词/子词),然后训练模型根据双向上下文来预测被掩盖的原始内容。
MLM 的工作原理与步骤
-
输入文本准备:
-
取一个句子或一段文本,例如:
“The quick brown fox jumps over the lazy dog.”
-
-
随机掩码 (Masking):
-
随机选择: 随机选择输入序列中一定比例(通常为 15%)的 token(单词或子词)进行“掩盖”。
-
掩盖策略 (三种主要方式,随机应用):
-
替换为
[MASK]标记 (80% 概率): 这是最直接的方式,明确告诉模型这里有东西被掩盖了,需要预测。例如:“The quick brown [MASK] jumps over the lazy dog.” -
替换为随机 token (10% 概率): 用词汇表中的另一个随机 token 替换选中的 token。这迫使模型不仅要理解上下文以识别错误,还要预测正确的词。例如:
“The quick brown *apple* jumps over the lazy dog.”(假设apple是随机选中的) -
保持原 token 不变 (10% 概率): 虽然 token 被“选中”,但实际上没有被改变。这有助于模型在微调阶段更好地处理那些没有
[MASK]标记的真实数据,并让模型倾向于“相信”看到的词是正确的。例如:“The quick brown fox jumps over the lazy dog.”(选中的fox没变,但模型在训练时会被要求预测它)。
-
-
目的: 引入噪声和不确定性,防止模型简单地记住输入或走捷径。10% 的随机替换和 10% 的保留原词是为了减少预训练(大量
[MASK])和微调(无[MASK])之间的差异。
-
-
模型输入:
-
将经过掩码处理后的句子,加上必要的特殊标记(如
[CLS]用于分类,[SEP]用于分隔句子),输入到 Transformer 编码器(通常是多层堆叠的)中。 -
输入表示 = 词嵌入 + 位置编码 + (可选的)段落嵌入等。
-
-
双向上下文编码:
-
Transformer 编码器利用 Self-Attention 机制,处理掩码后的序列。
-
关键点: Self-Attention 允许序列中的每个 token(包括
[MASK])同时关注序列中的所有其他 token(左边和右边)。这是 MLM 与传统的自回归语言模型(如 GPT 使用的 CLM)最核心的区别。模型能看到被掩盖位置两侧的全部上下文信息! -
编码器输出每个输入位置(包括被掩盖位置)的上下文相关向量表示。
-
-
预测被掩码的 token:
-
对于每个被掩盖的位置
i(即输入是[MASK]、随机 token 或未改变原 token 的位置):-
取出编码器在该位置输出的上下文向量表示
h_i。 -
将
h_i通过一个(通常是线性的)输出层,映射到整个词汇表大小的向量上。 -
对这个向量应用
softmax函数,得到词汇表中每个 token 作为该位置原始 token 的预测概率分布。
-
-
公式简化表示:
P(word_i | context_all) = softmax(W * h_i + b)
-
-
损失计算与优化:
-
损失函数: 对于所有被掩盖的位置(无论它们是被替换为
[MASK]、随机 token 还是保留了原 token),计算模型预测的概率分布与真实的原始 token 之间的交叉熵损失 (Cross-Entropy Loss)。 -
优化: 通过反向传播算法计算损失函数关于模型所有参数(Transformer 权重、嵌入层、输出层权重等)的梯度,并使用优化器(如 AdamW)更新参数,以最小化预测损失。目标就是让模型更准确地根据上下文猜出被掩盖的词。
-
MLM 的核心优势与意义
-
利用双向上下文 (Bidirectional Context): 这是 MLM 最革命性的贡献。传统的从左到右或从右到左的语言模型只能利用单向上下文(预测下一个词只看左边词,预测上一个词只看右边词)。MLM 让模型在预测每个被掩盖的词时,都能同时看到它左边和右边所有的词,从而学习到更丰富、更深刻的词语义和句法关系。这对于理解歧义、指代、长距离依赖等至关重要。
-
深度上下文词表示: 通过预测被掩盖词的任务,模型被迫学习为输入序列中的每个 token 生成一个高质量的、融合了全局上下文信息的向量表示 (
h_i)。这些表示捕捉了词语在特定语境下的含义(一词多义),是下游任务(如分类、问答、NER)的强大基础特征。 -
自监督学习 (Self-Supervised Learning): MLM 不需要人工标注的数据!它直接从海量无标签文本中生成训练样本(掩盖词本身就是“标签”)。这使得利用互联网规模的文本数据进行预训练成为可能。
-
训练高效: 相比于自回归模型逐个预测 token,MLM 在一次前向传播中可以预测所有被掩盖的 token,计算上更高效(尽管掩盖比例限制了同时预测的数量)。
-
为下游任务奠定基础: 在 MLM 任务上预训练得到的模型(如 BERT),其学到的通用语言知识和上下文表示能力,可以通过简单的微调(Fine-tuning)或提示(Prompting)快速迁移到各种各样的 NLP 任务上,并取得显著性能提升。
MLM 的挑战与变体
-
预训练-微调不一致性: 预训练时大量看到
[MASK]标记,而下游任务微调和推理时输入是真实的、没有[MASK]的文本。上文提到的 10% 随机替换和 10% 保留原词的策略就是为了缓解这个问题,但不能完全消除。像 ELECTRA 这样的模型提出了替代方案(Replaced Token Detection)。 -
预测独立性: MLM 假设被掩盖的 token 是相互独立的(模型独立预测每个掩盖位置)。但在现实中,被掩盖的词之间可能存在依赖关系(例如,连续两个词被掩盖)。一些改进尝试建模这种依赖。
-
掩盖策略优化: 掩盖比例(15%)、选择哪些词掩盖(均匀随机 vs 基于重要性)、掩盖连续片段(Whole Word Masking, WWM)或实体等策略都经过了研究并证明有效(如 RoBERTa 采用动态掩码和 WWM)。
-
效率提升: MLM 只计算被掩盖位置的损失。像 BERT 这样只使用编码器的模型,其 MLM 预训练通常比 GPT 这类解码器模型的 CLM 预训练更快收敛。
MLM 与 CLM 的对比
| 特性 | 掩码语言建模 (MLM - BERT 风格) | 因果语言建模 (CLM - GPT 风格) |
|---|---|---|
| 上下文方向 | 双向 (可同时看左右) | 单向 (只能看左侧/历史) |
| 模型架构 | (仅)编码器 | (仅)解码器 |
| 训练目标 | 预测输入序列中被随机掩盖/替换的词 | 预测序列中的下一个词 (自回归) |
| 核心优势 | 深度上下文理解,一词多义表示能力强 | 天然适合文本生成任务 |
| 典型代表 | BERT, RoBERTa | GPT 系列, LLaMA |
| 预训练效率 | 相对较高 (一次预测多个掩盖词) | 相对较低 (需逐个预测) |
| 微调任务 | 更擅长理解类任务 (分类、抽取、问答) | 更擅长生成类任务 |
总结
MLM 是一种强大的、自监督的预训练目标,它通过随机掩盖输入文本的部分内容,并强制模型利用双向上下文信息来预测被掩盖的原始词。这种方法的核心价值在于:
-
解锁双向上下文理解能力: 使模型能够同时考虑词语左右两侧的信息,学习到更深层次、更准确的语义表示。
-
生成高质量的上下文词向量: 这些向量是各种 NLP 任务的强大基础。
-
实现大规模自监督学习: 利用海量无标签文本数据训练强大的通用语言模型。
-
推动预训练-微调范式: 成为 BERT 及类似模型取得巨大成功的关键,奠定了现代 NLP 的基础。
尽管后续出现了更高效的预训练任务(如 ELECTRA 的 RTD),MLM 作为一项开创性的技术,其核心思想——利用双向上下文进行深度语言表示学习——仍然是 LLM 预训练领域的重要基石。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)