要解决的问题
许多语言模型只按一个方向读取文本,因此一个词的表示只能利用它前面的词。而理解类任务,例如判断一句话的含义,或回答关于一段文字的问题,往往需要同时参考位置两侧的词。BERT 的目标,就是构建同时利用双向语境的表示。[1]
在 BERT 之前,许多自然语言处理系统都是围绕具体任务单独搭建的,每换一个任务就要重新设计和训练。预训练加微调的做法,把通用语言能力的学习与任务适配分开,使同一个基础模型可以服务于多个场景。
方法
BERT 只使用 Transformer 的编码器(encoder)部分,因此输入中的每个词都能关注到其他所有词。参数(parameter)是神经网络内部可调整的数值,通常参数越多,模型容量越大。BERT 发布了两种规模:BERT-Base 为 1.1 亿参数,BERT-Large 为 3.4 亿参数。[1]
BERT 的预训练包含两个任务。第一是掩码语言建模(masked language modelling),即遮住一些词,让模型根据两侧的上下文去预测它们。第二是下一句预测(next-sentence prediction),即让模型判断两个句子是否前后相接。[1]
论文由 Google AI Language 团队的 Jacob Devlin、Ming-Wei Chang、Kenton Lee 和 Kristina Toutanova 撰写,于 2018 年 10 月 11 日提交到 arXiv,之后发表于 NAACL 2019,并获得最佳长论文奖。[1]
可以把掩码语言建模想象成一道填空题。模型看到的句子中有一些词被遮住,它必须根据两侧的词来还原。由于正确答案取决于前后两个方向的语境,模型被迫去构建能够捕捉含义的表示,而不是只猜一个最可能的下一个词。[1]
结果
BERT 在 11 项自然语言处理(natural language processing)任务上取得了新的最好成绩,其中 GLUE 基准的得分提高到 80.5%。GLUE 是一组用于比较模型语言理解能力的任务。Google 公开了代码和预训练模型,并于 2019 年开始在 Google 搜索中使用 BERT。[1]
这些结果还说明了共享起点的价值。标注数据有限的团队,不必从零设计并训练一个大型语言模型,而可以取一个预训练模型,针对自己的任务加以调整,并在多种应用中复用同一个基础。这种实用性,是这一方法得以广泛传播的重要原因。[1]
为什么重要
BERT 成为自然语言处理研究中常用的基础组件。研究者不必从零训练,而可以下载同一个公开的预训练模型再进行微调。不过,由于它只有编码器,它不容易通过提示来使用,也难以生成高质量的文本。[2]
20181
-
2018 年 10 月,谷歌研究者在 arXiv 发布 BERT 论文。BERT 在每一层都同时利用左右两侧的语境,只需增加一个输出层,就能适配问答等任务。
注释与来源
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understandinghttps://arxiv.org/abs/1810.04805
- BERT (language model)https://en.wikipedia.org/wiki/BERT_(language_model)
引用本页: BERT:用于语言理解的深度双向 Transformer 预训练. TellWorld, https://www.tellworld.net/zh/papers/bert. 更新于 2026-11-08