欢迎光临
我们一直在努力

BERT预训练原理详解:MLM掩码预测 + NSP句子预测

一、前言:BERT到底是怎么训练出来的?

很多初学者只知道 BERT 是双向预训练模型,但完全搞不懂:

  • BERT 的权重是怎么从零训练出来的?

  • MLM 掩码预测到底在做什么?

  • NSP(大家俗称的“聚值预测”)作用是什么?

  • 为什么 BERT 能读懂上下文语义?

一句话总结BERT:

BERT 是基于 双向 Transformer Encoder 的自监督预训练模型,不需要人工标注数据,依靠海量纯文本,通过「完形填空 + 句子关系判断」两个任务自学语义,最终得到通用文本特征提取能力。

二、先区分:BERT 和 GPT 的本质区别

很多人混淆,这里一次性讲清:

  • GPT:单向 Decoder,只能看上文,任务是「预测下一个词」,主打文本生成。

  • BERT:双向 Encoder,能同时看上文+下文,主打 语义理解、特征提取,不做生成。

BERT 的所有能力,全部来自两个自监督预训练任务:

  • MLM 掩码语言模型(完形填空)

  • NSP 下一句预测(句子关系分类)

  • 三、核心一:MLM 掩码预测

    1. 什么是 MLM?

    MLM(Masked Language Model)掩码语言模型,本质就是 让模型做「完形填空」。

    训练时随机把句子中 15% 的 Token 做修改,让模型根据双向上下文,预测原本的词是什么。

    2. 15% Token 的三种处理方式(面试重点)

    选中的15%文本,按比例执行三种操作:

    • 80% 替换为 [MASK]:我喜欢吃【MASK】

    • 10% 随机替换成其他词:我喜欢吃 桌子

    • 10% 保持原词不变:我喜欢吃 苹果

    3. 为什么不全改成 [MASK]?

    如果训练时全部改成 MASK,模型会 只依赖 MASK 标记做题。

    但是!下游微调、真实推理场景中,输入没有任何 MASK,模型会直接崩、泛化极差。

    所以混入:

    • 10% 随机词:防止模型偷懒

    • 10% 原词不动:强迫模型 真正依靠上下文语义判断,而不是靠标记

    4. MLM 学到了什么?

    因为是双向上下文预测,BERT 可以同时利用左右文本:

    • 语法结构

    • 语义逻辑

    • 一词多义

    这也是 BERT 双向语义理解能力优于 GPT 单向模型的核心原因。

    四、核心二:NSP 下一句预测(聚值预测)

    1. 什么是 NSP?

    NSP(Next Sentence Prediction)下一句预测,就是 句子关系二分类任务。

    作用:让模型学会 句子与句子之间的逻辑关系,适配问答、匹配、推理任务。

    2. 样本构造方式

    输入格式固定:

    [CLS] 句子A [SEP] 句子B [SEP]

    训练数据一半正样本、一半负样本:

    • 50% 正样本:句子B 是句子A 的真实下一句

    • 50% 负样本:句子B 从其他文档随机抽取,逻辑不连贯

    3. 怎么预测?

    BERT 输出的 [CLS] 向量 代表整句全局语义,送入二分类层:

    • 标签 1:是连续句子

    • 标签 0:不是连续句子

    这就是大家口语中说的「聚值预测」—— 用句首CLS聚合全局语义做预测。

    4. NSP 的缺陷(重要)

    后续研究发现:NSP 任务收益很低,甚至拖累性能。

    因为随机跨文档句子太简单,模型不需要理解语义,仅凭主题差异就能判断。

    所以 RoBERTa、BERT-wwm 全部删掉了 NSP,只保留 MLM,效果更好。

    五、BERT完整预训练流程

  • 准备海量无标注纯文本语料

  • 构造 MLM 掩码任务 + NSP 句子任务

  • 文本通过 Tokenizer 转 ID,加入 CLS、SEP

  • 送入多层双向 Transformer Encoder 提取特征

  • 所有 Token 输出向量用于 MLM 完形填空

  • CLS 向量用于 NSP 句子关系预测

  • 联合两个 Loss 反向传播,更新 BERT 全部参数

  • 训练完成得到通用预训练权重

  • 关键点:预训练无人工标签,完全自监督学习。

    六、预训练完成后:BERT 怎么用?(下游微调)

    预训练只是让模型“读懂语言”,真正做业务需要微调:

    • 文本分类:CLS向量 + 全连接分类

    • 命名实体识别NER:每个Token向量逐字分类

    • 语义匹配、相似度计算:句子CLS向量比对

    • 问答任务:基于上下文向量预测答案位置

    七、BERT经典变体及改进点(面试重点)

    1. RoBERTa(强力优化版BERT)

    • 移除 NSP 任务,只保留 MLM

    • 动态掩码:每次输入都重新随机mask,数据多样性更强

    • 更大batch、更多数据、更长文本

    综合性能显著优于原生BERT模型

    2. ALBERT(轻量化BERT)

    • Embedding矩阵分解,大幅减少参数量

    • 层参数共享,每层Transformer权重一致

    • 用 SOP 句子顺序预测替代 NSP

    • 缺点:参数小但推理速度提升不明显

    3. BERT-wwm / wwm-ext(中文最强基线)

    • 全词掩码:不再掩码单字,直接掩码整个词语

    • 更贴合中文语义,中文任务效果远超原生BERT

    八、面试核心总结(可直接背诵)

    BERT 是双向 Encoder 预训练模型,依靠两个自监督任务自学语言:

    1、MLM掩码语言模型:随机遮蔽15%token,80%MASK、10%随机替换、10%不变,让模型双向完形填空,学习深层语义;

    2、NSP下一句预测:利用CLS向量判断两句是否连续,学习句子逻辑关系;

    预训练完成后通过少量标注数据微调,适配分类、NER、匹配等下游任务。后续RoBERTa等模型证明NSP收益有限,一般只保留MLM任务。

    九、总结

    1. BERT 的通用语义能力,是通过海量无标注文本与两项自监督任务迭代训练得到,并非模型固有能力。

    2. MLM 负责 字词语义、上下文理解。

    3. NSP 负责 句子关系、段落逻辑。

    4. 目前工业场景极少使用原生BERT,主流应用版本为 RoBERTa、BERT-wwm 等优化变体。

    赞(0)
    未经允许不得转载:171主机测评 » BERT预训练原理详解:MLM掩码预测 + NSP句子预测
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址