🌞欢迎来到人工智能的世界
🌈博客主页:卿云阁💌欢迎关注🎉点赞👍收藏⭐️留言📝
📆首发时间:🌹2026年4月22日🌹
✉️希望可以和大家一起完成进阶之路!
🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!
目录
简单介绍
训练过程
两个版本
输入表示
预训练
微调任务
简单介绍
自 2017 年Transformer模型发布以来,自然语言处理领域迎来了颠覆性变革,这一时期诞
生了两款极具代表性的语言模型:BERT 与 GPT。二者分别由谷歌(Google)与OpenAI推出,
也代表了当时两条完全不同的技术路线。
从任务方向来看,预训练语言模型整体可以分为两大类:一类是以语义理解、识别、分类为
核心目标的理解型模型;另一类是以文本自动生成为核心目标的生成型模型。
二者在模型结构上有着本质区别:BERT 采用 Transformer 编码器架构,擅长双向上下文理解;
GPT 采用 Transformer 解码器架构,擅长自回归文本生成,也由此分别走向了语言理解与语言生
成两条完全不同的发展道路。
BERT 系(编码器)→ 专注语言理解,代表 RoBERTa、中文 MacBERT;
GPT 系(解码器)→ 专注语言生成,当前主力 GPT-5.4、最新旗舰 GPT-6;
BERT 相当于做完型填空,训练时会随机遮挡句子中的部分词语,模型可以同时看到被遮挡位置前
面和后面的全部上下文,根据双向信息预测被遮住的词。而GPT 相当于续写句子,模型只能看到
前面已经出现的文字,单向预测下一个词应该是什么,无法看到未来的内容。
也正是这个训练方式的差异,造就了二者完全不同的能力:BERT 擅长双向深度理解语义,
GPT 擅长单向连贯文本生成。
训练过程
BERT 的完整训练流程分为两个核心步骤:
首先是无监督预训练,模型在海量无标注文本上做完型填空学习通用语言知识;
再进行有监督微调,在特定任务标注数据上进一步优化,完成文本分类、语义理解等下游任务。完
成微调之后,模型就可以应用于各类下游自然语言处理任务。
BERT 相当于做完型填空,是一个双向语言模型。模型只有同时正确理解词语的前文与后文,才能
为单词 Python 生成在不同语境下、精准对应的语义嵌入向量。
两个版本
BERT 于2018 年正式发布,官方同期推出了两个版本:基础版(BERT-Base)与大模型版
(BERT-Large)。
二者主要区别在于网络层数、注意力头数与参数量:
BERT-Base(基础版)12 层 Transformer 编码器,12 个注意力头,总参数约 110M,速度快、占
用资源低,适合日常开发、实验与普通下游任务。
BERT-Large(大版本)24 层 Transformer 编码器,16 个注意力头,总参数约 340M,模型更深更
大,语义理解能力更强,但训练和推理速度更慢、算力要求更高。
输入表示
在词嵌入与位置嵌入的基础上,BERT 额外引入了片段嵌入(Segment Embedding)。BERT 大
多以两个句子组成的句对作为输入,片段嵌入的作用,就是用来区分词语属于第一句还是第二句。
假如我们有一段包含两句话的文本,BERT 会先对其进行分词处理(通常采用 WordPiece 分词
器,将单词拆解为更小的子词单元)。随后,会在第一句话的开头插入一个特殊的 [CLS] 标记,其
作用是告诉模型这个位置是整个句对(或单句)的聚合表示,常用于分类任务。在第一句话和第二
句话的结尾,则分别加上一个 [SEP] 标记,用来分隔两个句子,同时也让模型明白每个句子的边
界。经过这样的标记插入后,整个序列会被送入嵌入层。在 BERT 中,每个 token 最终获得的输
入向量由三部分嵌入向量逐元素相加而成:
预训练
BERT 在预训练阶段采用掩码语言模型(MLM,Masked Language Model)与下一句预测
(NSP,Next Sentence Prediction)两个核心自监督预训练任务,联合对模型进行训练。
其中掩码语言模型 MLM属于双向语言建模任务:模型在输入文本中随机对部分 Token 进行掩码替
换,让 BERT 根据上下文左右双向信息预测被掩码的原始词汇,以此让模型学习词语之间的语义
关联、语法逻辑与上下文语义理解能力,也是 BERT 实现双向深度语义建模的核心。
而下一句预测 NSP任务,则专门用于学习句子之间的关系与句间语义逻辑。模型会输入成对句
子,判断第二句是否为第一句在原文中连续的下一句,从而让模型具备句子级推理、句间连贯性理
解能力,完美适配后续问答、分类、句子匹配等下游任务。
首先我们来详细理解掩码语言模型 MLM(Masked Language Model)。在 BERT 预训练过程
中,模型会对输入的原始句子进行处理:随机挑选句子中 15% 的 Token 单词,用特殊标记
[MASK] 进行掩码遮挡,把原本的词汇隐藏起来。处理好的掩码句子序列输入 BERT 多层
Transformer 编码器,经过多层编码器的特征计算与语义交互后,模型会输出序列中每个单词全新
的语义向量表示。这些输出向量不再是单纯的单词本身含义,而是融合了单词自身语义、上下文双
向语义依赖、以及该单词与句子中其他所有单词之间的关联关系的深度特征向量。之后模型会根据
这个深度向量,预测被 [MASK] 遮挡住的原始单词是什么。通过不断最小化预测损失,BERT 就能
学会利用上下文双向信息理解词义、语法和语义逻辑,这也是 BERT 区别于单向语言模型最核心
的优势。
下面我们来看 BERT 的NSP(Next Sentence Prediction,下一句预测)预训练任务。假设我们
构造一个训练样本:第一段话包含两个连续的句子,其中第二句在逻辑和语义上紧承第一句,构成
一个正样本;第二段话同样包含两个句子,但这两句之间没有连贯关系(例如从不同文档中随机抽
取),构成一个负样本。在预训练阶段,BERT 每次会接收一个由两个句子组成的输入对(记为
Sentence A 和 Sentence B),并需要判断 B 是否为 A 的真实后续句子。
具体处理时,我们会将这对句子按之前的方式拼接,并在开头加入 [CLS],句尾和句间加入
[SEP]。然后将整个序列送入 BERT 模型。经过多层 Transformer 编码后,我们只取 [CLS] 位置对
应的输出向量,因为 BERT 设计上让 [CLS] 的最终隐状态聚合了整个句对的全局信息。这个向量
随后被送入一个全连接层,再经过 Softmax 函数,输出一个二分类概率:表示“是下一句”
(IsNext)和“不是下一句”(NotNext)的可能性。通过最小化预测结果与真实标签之间的交叉熵
损失,BERT 就能学习到句子间的连贯性关系,从而增强对篇章级别语义的理解能力。
微调任务
句子对分类(如 NSP):判断两句话是否连贯。例如:“今天天气不错” + “我们去散步吧” → 是下
一句。
单句分类(如情感分析):输入一条评论,输出情感极性。例如:“这家餐厅太难吃了” → 负向。
问答任务:给一个问题和一个包含答案的上下文,让 BERT 用两个指针标出答案的起始和结束位
置。例如:问题“姚明在哪里出生?”、上下文“姚明出生于上海” → 答案起止为“上海”。
单句标注(序列标注):为每个单词打标签,如命名实体识别(NER)。例如:“马云在杭州创办
了阿里巴巴” → 马云(人名)、杭州(地名)、阿里巴巴(机构名)。
[1]参考资料大白话讲明白Bert #BERT #Transformer #知识前沿派对#AI新星计划 #申请加入抖音计算科学顶流班 - 抖音