核心要点
MLM:随机选 15% token 做掩码,让模型用双向上下文预测被掩词
15% 内按 80% 替换为 [MASK]、10% 换随机词、10% 保持不变,缓解预训练有 [MASK] 与微调无 [MASK] 的不一致
CBOW 用固定小窗口上下文预测中心词,结构浅、产出静态词向量
BERT 用整句双向深层 Transformer,输出随上下文变化的动态表示
标准回答
MLM 的掩码机制
BERT 的预训练核心是掩码语言模型(Masked Language Model)。它先在输入序列里随机选出 15% 的 token 作为预测目标,再让模型基于整句的双向上下文还原这些被选中的词。
为什么是 80/10/10
被选中的这 15% token 并非全部替换成 [MASK],而是细分为三种处理:80% 替换为特殊符号 [MASK]、10% 替换为词表中的随机词、10% 保持原词不变。这样设计是因为下游微调和推理时输入里根本不会出现 [MASK],若训练只见 [MASK] 会造成预训练与微调的分布不一致;混入随机词和原词则迫使模型对每个位置都建模真实表示,而不是只在见到 [MASK] 时才努力。
与 CBOW 的区别
CBOW(Continuous Bag-of-Words)来自 Word2Vec,它用目标词周围一个固定的小窗口(如前后各 2 个词)作为上下文,简单求和或平均后预测中心词。它结构很浅、词袋无序,且每个词训练完只得到一个静态向量,无法区分多义词在不同句子中的含义。
BERT 则不同:它以整句为上下文、用多层双向 Transformer 做深层编码,同一个词在不同句子里会得到不同的动态表示;并且配合上述掩码策略与自注意力,能捕捉长距离依赖。一句话概括:CBOW 是浅层、固定窗口、静态向量的预测;BERT 是深层、全句双向、动态表示加掩码策略的预测。
常见误区
⚠️ 常见踩坑
误以为 15% 全部替换成 [MASK](实为 80/10/10);把 CBOW 的固定窗口上下文与 BERT 的全句双向上下文混为一谈;忽视 CBOW 产出静态向量而 BERT 产出上下文相关的动态表示这一根本差异。
追问
追问 1:掩码比例为什么大致取 15%,过高或过低会怎样?
15% 是在“监督信号量”与“可用上下文”之间的折中。掩得太少,每步只预测极少 token,训练信号稀疏、收敛慢;掩得太多,剩余可见上下文不足,模型缺乏足够线索还原被掩词,任务过难且破坏句子语义。15% 经验上能在两者间取得较好平衡。
追问 2:MLM 相比传统单向语言模型的优势是什么?
传统语言模型(如从左到右预测下一个词)只能利用单侧上下文,无法同时看到目标词的左右两边。MLM 通过遮盖再还原的方式,让每个位置都能融合左右双向信息,从而学到更丰富的深层双向表示,对分类、NER、阅读理解等理解类任务更有利。
追问 3:CBOW 和 Skip-gram 各自适合什么场景?
CBOW 用上下文预测中心词,训练快、对高频词表现稳,适合语料大、追求效率的场景;Skip-gram 用中心词预测上下文,对低频词和小语料表现更好,但训练更慢。两者都产出静态向量,与 BERT 的上下文动态表示有本质区别。
🔗 相似问题
同一考点的不同问法,面试官可能换着问,一起刷更稳
没找到想看的面试题?把你想看的告诉我们 →
延伸学习
按主题分类的相关资源,便于系统复习