谷歌BERT模型发布事件
事件概述
2018年10月,谷歌AI团队发布了预训练语言模型BERT(Bidirectional Encoder Representations from Transformers),它基于Transformer架构,采用双向预训练的方式,在11项自然语言处理任务上取得了当时的最好成绩,彻底改变了自然语言处理领域的研究范式,开启了预训练模型的时代。
发布背景
在BERT之前,自然语言处理领域通常采用”预训练词向量+下游任务微调”的模式,代表性的词向量方法有Word2Vec、GloVe等,但这些方法只能学习到词语级别的表示,无法捕捉句子级别的上下文信息,而且是静态的,无法解决一词多义问题。
虽然2017年Transformer架构已经提出,但当时的预训练模型如ELMo、GPT等都是单向的,只能利用词语左边或右边的上下文信息,无法充分利用双向上下文。
核心创新
BERT的核心创新在于两点:
1. 双向预训练
BERT采用了掩码语言模型(Masked Language Model, MLM)的预训练任务:随机将输入文本中的部分词语掩码掉,让模型根据上下文预测被掩码的词语,这样模型可以同时利用左右两边的上下文信息,学习到更丰富的语义表示。
2. 多任务预训练
除了掩码语言模型任务,BERT还加入了下一句预测(Next Sentence Prediction, NSP)任务:给模型两个句子,让它预测第二个句子是不是第一个句子的下一句,帮助模型理解句子之间的关系,更好地处理需要句子对的任务,如问答、自然语言推理等。
模型结构
谷歌发布了两个版本的BERT模型:
- BERT-base:12层Transformer编码器,12个注意力头,隐藏层维度768,总参数约1.1亿。
- BERT-large:24层Transformer编码器,16个注意力头,隐藏层维度1024,总参数约3.4亿。
性能表现
BERT一经发布,就在11项主流自然语言处理任务上取得了当时的State-of-the-Art成绩,部分任务的提升非常显著:
- 在斯坦福问答数据集(SQuAD v1.1)上,F1值达到93.2%,超过了人类水平(91.2%)。
- 在GLUE基准测试集上,准确率提升了7.6%,达到80.5%。
- 在MultiNLI自然语言推理任务上,准确率提升了4.6%,达到86.7%。
更重要的是,BERT的使用非常简单,下游任务只需要在预训练模型基础上添加少量输出层,进行简单微调即可获得很好的效果,大大降低了NLP任务的技术门槛。
行业影响
- 研究范式革命:BERT彻底改变了自然语言处理的研究范式,从”针对每个任务设计特定模型”转变为”预训练+微调”的通用模式,极大地提高了NLP研究的效率。
- 预训练模型热潮:BERT的成功引发了预训练模型的研发热潮,后续出现了GPT-2、GPT-3、RoBERTa、ALBERT、ERNIE等一大批预训练语言模型,模型参数规模越来越大,性能越来越强。
- 技术落地加速:BERT大幅提升了各种NLP任务的性能,使得很多之前无法落地的NLP应用成为可能,推动了自然语言处理技术的产业化进程。
- 降低技术门槛:预训练+微调的模式大大降低了NLP技术的使用门槛,中小公司不需要从零开始训练模型,只需要微调预训练模型就可以获得很好的效果。
后续发展
BERT发布后,研究人员在其基础上提出了很多改进版本:
- RoBERTa:改进了BERT的预训练方法,去掉了NSP任务,使用更长的训练时间和更大的批次,性能进一步提升。
- ALBERT:通过参数共享和因式分解,大幅减少了模型参数,提高了训练效率。
- DistilBERT:知识蒸馏得到的轻量化BERT模型,参数减少70%,速度提升3倍,性能保留97%。
- ERNIE:百度提出的增强版BERT,加入了实体级、短语级的掩码策略,更适合中文处理。
历史意义
BERT是自然语言处理领域的里程碑式成果,它不仅带来了性能的大幅提升,更重要的是开创了预训练语言模型的时代,为后续大语言模型的发展奠定了技术基础。如果说Transformer架构是大模型的”骨架”,那么BERT开创的预训练范式就是大模型的”灵魂”。