BERT

BERT(Bidirectional Encoder Representations from Transformers)是由Google于2018年提出的预训练语言模型。与GPT的自回归方式不同,BERT采用掩码语言模型(Masked Language Model, MLM) 作为预训练目标,实现了深层的双向上下文建模。

掩码语言模型

BERT的预文本任务是在输入文本中随机遮挡(mask)部分词,然后让模型根据被遮挡词的上下文(左右两侧)来预测被遮挡的词:

具体来说,对于每个被选中的Token:

  • 80%的概率替换为 [MASK] 特殊标记
  • 10%的概率替换为随机词
  • 10%的概率保持不变

这种策略迫使模型充分利用上下文信息,并缓解了预训练与微调阶段的不一致问题。

下一句预测(NSP)

除了MLM外,BERT还引入了下一句预测任务作为辅助预训练目标。模型需要判断两个句子在原文中是否连续相邻,这帮助BERT理解句子间的关系,提升了在问答、推理等任务上的表现。

模型架构

BERT基于Transformer的编码器(Encoder) 部分,使用双向自注意力机制。主要版本包括:

  • BERT-Base:12层编码器,768维隐藏层,110M参数
  • BERT-Large:24层编码器,1024维隐藏层,340M参数

BERT vs GPT

BERT采用双向注意力机制,能够同时利用左右两侧的上下文信息,在文本理解类任务(如文本分类、命名实体识别、抽取式问答)中表现优异。与GPT专注于文本生成不同,BERT更适合需要对输入进行深层次理解的下游任务。

微调应用

使用BERT执行下游任务时,需要在预训练模型的基础上添加额外的输出层,并用有标注数据进行微调。整个过程结合了预训练和微调,可以被视为一种半监督方法。

链接到