BERT模型入门:人工智能自然语言处理核心指南
2017年问世的Transformer架构,彻底颠覆了自然语言处理的技术格局。此后,BERT与GPT作为两条截然不同的技术路径相继诞生,分别由Google和OpenAI主导研发。本文聚焦BERT,深入解析其核心原理与训练机制。
模型概览
预训练语言模型按任务导向可分为两大阵营:一类侧重语义理解、文本分类与信息抽取,称为理解型模型;另一类专注于文本自动生成,即生成型模型。
两者架构差异显著: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首先进行分词(采用WordPiece分词器,将单词拆为子词单元)。然后在第一句开头插入特殊标记[CLS],该位置的输出向量将聚合整个句对(或单句)的全局信息,常用于分类任务。在第一句末尾和第二句末尾分别插入[SEP]标记,用于分隔句子并指示句边界。完成标记插入后,序列进入嵌入层。每个token的最终输入向量由三个嵌入向量逐元素相加得到。
预训练任务
BERT的预训练阶段包含两个自监督任务:掩码语言模型(MLM)与下一句预测(NSP),两者联合训练。
MLM是双向语言建模任务:随机掩盖输入文本中的部分Token,迫使BERT依据左右双向上下文预测被掩盖的原始词。该任务使模型掌握词义关联、语法结构及上下文语义理解——这是BERT实现双向深度建模的核心。
NSP任务则专门训练句子间关系与语义连贯性。模型接收成对句子,判断第二句是否为第一句的后续真实句子。这让BERT获得句级推理与篇章连贯性理解能力,完美适配问答、分类、句子匹配等下游任务。
详解MLM:预训练时,BERT随机选择句子中15%的Token,用[MASK]替换,隐藏原词。经掩码处理的序列输入多层Transformer编码器,通过层层特征计算与语义交互,每个Token获得融合了自身语义、双向上下文依赖以及与其他Token关联的深度向量。模型基于该向量预测被[MASK]遮挡的原词。通过最小化预测损失,BERT逐渐学会利用双向上下文信息理解词义、语法与语义逻辑——这是其与单向语言模型的核心差异。
再看NSP任务。构造训练样本:正样本来自同一文档中连续的两个句子(语义连贯);负样本则从不同文档中随机抽取两个不相关的句子。预训练时,BERT每次接收句对(Sentence A与Sentence B),判断B是否为A的真实下一句。
具体操作:将句对按前述方式拼接,开头加[CLS],句尾与句间加[SEP]。序列输入BERT后,仅取[CLS]位置的输出向量——该向量聚合了句对全局信息。随后经过全连接层与Softmax,输出二分类概率(IsNext与NotNext)。通过最小化交叉熵损失,BERT学习句间连贯性,提升篇章级语义理解能力。
下游微调
微调阶段,BERT可灵活适配多种下游任务,典型实例如下:
- 句子对分类(如NSP):判断两句话的连贯性。例如:“今天天气不错” + “我们去散步吧” → 是下一句。
- 单句分类(如情感分析):输入单句评论,输出情感极性。例如:“这家餐厅太难吃了” → 负面。
- 问答任务:给定问题与包含答案的上下文,BERT利用两个指针预测答案的起始与结束位置。例如:问题“姚明在哪里出生?”、上下文“姚明出生于上海” → 答案位置对应“上海”。
- 单句标注(序列标注):为每个token分配标签,典型应用如命名实体识别(NER)。例如:“马云在杭州创办了阿里巴巴” → 马云(人名)、杭州(地名)、阿里巴巴(机构名)。










