欢迎回来

登录 EAKE AI,继续您的智能之旅

忘记密码?
还没有账号?立即注册

论文解读:BERT — 双向预训练开启NLP新纪元

2026-05-08 · AI 论文

论文标题:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

作者:Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova

发表:NAACL 2019 | Google AI Language

引用量:90,000+

arXiv:1810.04805

一、BERT之前的世界

2018年之前的NLP预训练只有两条路:

  • ELMo:分别从左→右和右→左训练两个LSTM,拼接得到表示——不是真正的双向
  • GPT-1:Transformer Decoder,只能看左侧上下文——单向的

BERT的核心洞察:真正的双向表示比单向表示强大得多。但直接让模型看到左右两侧会"作弊"(预测词时看到了自己),于是BERT设计了巧妙的预训练任务来解决这个问题。

二、两大预训练任务

1 Masked Language Model (MLM)

随机遮蔽15%的输入Token,让模型预测被遮蔽的词:

输入: "The [MASK] sat on the [MASK]"
目标: 预测 [MASK] → "cat", "mat"

具体策略:80%替换为[MASK],10%替换为随机词,10%保持不变。混合策略防止模型只学[MASK]位置。

2 Next Sentence Prediction (NSP)

给定句子A和B,判断B是否是A的下一句:

输入: [CLS] The cat sat on the mat [SEP] It was happy [SEP]
标签: IsNext ✓

输入: [CLS] The cat sat on the mat [SEP] Stock prices fell [SEP]  
标签: NotNext ✗

NSP帮助模型理解句子间关系,对问答、自然语言推理等任务至关重要。

三、模型架构

BERT使用Transformer Encoder(没有Decoder),因为需要双向注意力:

模型层数隐藏维度注意力头数参数量
BERT-Base12768121.1亿
BERT-Large241024163.4亿

四、微调范式

BERT开创了"预训练+微调"范式:

  1. 预训练:在大规模无标注文本上训练MLM+NSP(耗资巨大,一般只有大厂做)
  2. 微调:在下游任务上用标注数据训练,只需在[CLS]上加一层分类头

关键优势:同一个预训练模型可以微调到任何NLP任务,无需重新设计架构。

五、横扫11项NLP任务

任务数据集BERT成绩提升幅度
综合NLUGLUE80.5%+7.7%
自然语言推理MultiNLI86.7%+4.6%
问答v1.1SQuAD 1.193.2 F1+1.5
问答v2.0SQuAD 2.083.1 F1+5.1

BERT在11项任务上全面刷新SOTA,震撼了整个NLP社区。

六、影响与遗产

  • 预训练范式:BERT证明了"预训练+微调"的强大,这一范式延续至今
  • RoBERTa:移除NSP,更大batch size,更多数据,证明BERT还有更大潜力
  • ALBERT:参数共享,降低模型尺寸
  • SpanBERT/ELECTRA:改进预训练任务
  • 现代LLM:GPT-3/ChatGPT虽然用Decoder,但继承了预训练思想

七、原文摘要

We introduce a new language representation model called BERT, which stands for Bidirectional Encoder Representations from Transformers. Unlike recent language representation models, BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly conditioning on both left and right context in all layers. As a result, the pre-trained BERT model can be fine-tuned with just one additional output layer to create state-of-the-art models for a wide range of tasks, such as question answering and language inference, without substantial task-specific architecture modifications.

评论区

发表评论