预训练语言模型 BERT

2 个月前 语言模型 127

BERT(Bidirectional Encoder Representations from Transformers)是由Google于2018年发布的一种预训练语言模型,基于Transformer架构,用于自然语言处理(NLP)任务。它的双向(Bidirectional)上下文理解能力使其在文本理解、问答系统、文本分类等任务中表现卓越。


BERT的核心特点

1. 双向上下文理解

  • 传统语言模型(如GPT)通常是单向的(从左到右或从右到左)。
  • BERT采用Masked Language Model(MLM,掩码语言模型),即在训练过程中随机遮挡部分词语,并让模型根据上下文预测这些被遮挡的词,从而实现双向理解

2. 预训练+微调(Pre-training & Fine-tuning)

  • 预训练(Pre-training):在海量无标注文本数据(如维基百科、BooksCorpus)上进行训练,使BERT学会通用的语言知识。
  • 微调(Fine-tuning):针对具体任务(如情感分析、问答系统、命名实体识别)进行轻量级训练,只需少量数据,即可获得良好效果。

3. 基于Transformer架构

  • BERT使用多层Transformer编码器,通过自注意力(Self-Attention)机制高效建模文本中的远程依赖关系
  • Transformer结构相比RNN和LSTM,更适合并行计算,处理长文本能力更强。

BERT的两大核心任务

  1. Masked Language Model(MLM,掩码语言模型)

    • 在训练时,随机遮挡输入文本中的15%单词,让模型根据上下文预测这些词。
    • 这种方法使BERT学习到更深层次的语言表示能力。
  2. Next Sentence Prediction(NSP,下一句预测)

    • 让模型判断两个句子是否是相邻句:
      • IsNext(相关):句子A和B是原始文本中相连的句子。
      • NotNext(无关):句子B是随机选择的,与A无关。
    • 这一任务有助于提高BERT在问答、阅读理解等任务中的能力。

BERT的不同版本

  • BERT-Base:12层Transformer(L=12)、隐藏层768维(H=768)、12个自注意力头(A=12),总参数110M。
  • BERT-Large:24层Transformer(L=24)、隐藏层1024维(H=1024)、16个自注意力头(A=16),总参数340M。
  • DistilBERT:更小更快的BERT变体,参数量约为BERT的一半,但性能接近。
  • RoBERTa:改进版BERT,去除了NSP任务,并采用更大数据量进行训练,提高了性能。

BERT的应用

BERT可以应用于多种NLP任务,包括:

  • 文本分类(如垃圾邮件检测、情感分析)
  • 命名实体识别(NER)(如人名、地名、组织识别)
  • 阅读理解(QA)(如SQuAD问答)
  • 文本摘要
  • 机器翻译
  • 搜索引擎优化(SEO)(Google已将BERT用于搜索算法)

BERT的影响

  • 推动NLP进入预训练时代:BERT的成功引发了NLP领域的“预训练+微调”范式(如GPT、T5、XLNet等)。
  • 提升搜索引擎性能:Google 在搜索引擎中使用BERT,提高查询理解能力。
  • 加速AI技术发展:BERT的开源推动了自然语言处理技术在学术界和工业界的广泛应用。

总结

BERT是Transformer架构的双向预训练模型,通过MLM和NSP任务学习通用语言知识,在NLP领域取得巨大突破。它的成功奠定了现代大模型预训练+微调的范式,被广泛用于搜索、问答、文本分类等任务

相关资讯