概念定义

BERT(Bidirectional Encoder Representations from Transformers)是Google于2018年推出的基于Transformer编码器的预训练语言模型,通过双向上下文理解彻底改变了自然语言处理任务的范式。

详细解释

BERT采用Transformer的编码器架构,通过掩码语言模型(MLM)和下一句预测(NSP)任务进行预训练,能够同时理解词语的左右上下文。这种双向理解能力使其在各种下游任务中表现卓越。 BERT的创新在于其预训练策略:随机掩盖输入中15%的词,让模型预测被掩盖的词;同时判断两个句子是否连续。这种方法让模型学习到深层的语言表示。原始BERT有Base(1.1亿参数)和Large(3.4亿参数)两个版本。 后续发展包括:RoBERTa(2019)优化了训练策略,使用10倍数据量;ALBERT(2019)通过参数共享减小模型大小;DeBERTa(2020)引入解耦注意力机制,在SuperGLUE上首次超越人类表现。最新的ModernBERT(2025)将上下文长度扩展到8192个token,速度是DeBERTa的2-4倍。

工作原理

BERT架构组件

BERT采用多层Transformer编码器架构,主要包含以下组件:
组件功能说明
Token嵌入词汇表示将输入文本转换为向量表示
位置嵌入位置信息为序列中每个位置添加位置信息
片段嵌入句子区分区分不同句子片段
编码器层特征提取12层(Base)/24层(Large)的编码器
双向注意力上下文理解同时关注左右上下文信息

预训练任务

掩码语言模型 (MLM)

  • 📝 目标:预测被掩盖的词汇
  • 🎯 机制:随机掩盖15%的token
    • 80%替换为[MASK]标记
    • 10%替换为随机词汇
    • 10%保持原词不变
  • 📊 示例
    输入: 我 爱 [MASK] 语言
    预测: 我 爱 自然 语言
    

下一句预测 (NSP)

  • 📝 目标:判断两个句子是否连续
  • 🎯 机制:50%正确配对,50%随机配对
  • 📊 示例
    句子A: 今天天气很好
    句子B: 我们去公园玩吧
    预测: IsNext (正确) / NotNext (错误)
    

BERT家族演进

模型发布年份主要创新性能提升
BERT2018双向预训练开创性突破
RoBERTa2019移除NSP,10倍数据多项任务SOTA
ALBERT2019参数共享参数减少18倍
DeBERTa2020解耦注意力SuperGLUE超人类
ModernBERT20258K上下文速度提升2-4倍

关键性能突破

🏆 里程碑成就
  • DeBERTa-v3:SuperGLUE 90.3分,首次超越人类(89.8)
  • ModernBERT:速度提升2-4倍,内存占用减少80%
  • 训练规模:2万亿token训练,支持代码和科学文献理解

实际应用

  • 问答系统:基于上下文的精确答案抽取,如阅读理解任务
  • 文本分类:情感分析、意图识别、垃圾邮件检测
  • 命名实体识别:识别人名、地名、组织机构等实体
  • 关系抽取:从文本中提取实体间的语义关系
  • 文本相似度:判断两段文本的语义相似程度
  • 搜索引擎:改进查询理解和文档相关性排序

相关概念

延伸阅读