本教程将带您系统掌握 BERT 预训练语言模型,从词向量技术的演进历史入手,逐步深入剖析 BERT 的核心架构、预训练机制与微调应用,助力您快速攻克这一 NLP 领域的里程碑式模型。
1 预训练的演化史
NLP 中的词嵌入(Word Embedding)预训练技术经历了从静态到动态、从简单到强大的演变路径:静态词向量(word2vec)→ 动态预训练词向量(ELMO、GPT)→ BERT。BERT 的横空出世直接刷新了 NLP 领域 11 项基础任务的最佳成绩,成为算法工程师最青睐的模型之一。
1.1 one-hot 编码
One-hot 编码又称独热编码,是一种离散的向量表示方式。它存在诸多局限,例如无法衡量相似数据之间的相似关系。之前的文章已有详细介绍:
【NLP 修炼系列之词向量(一)】详解 one-hot 编码 & 实战
1.2 word2vec 词向量
Word2vec 是一种静态词向量表示,最突出的问题在于不能表示一词多义。因为静态词向量为每个词只分配一个固定向量。之前的文章进行了详细解读:
【NLP 修炼系列之词向量(二)】详解 Word2Vec 原理篇
1.3 ELMO 预训练模型
为了解决 word2vec 的一词多义问题,2018 年 NAACL 发表了 ELMO(Deep contextualized word representations)。
ELMO 模型结构:
ELMO 的核心思想:采用两层 BiLSTM 模型学习文本的深层语义表示,最终为每个单词输出三个向量。针对下游任务,可以使用加权方式表征文本,在一定程度上缓解了一词多义问题。
1.4 GPT 预训练模型
GPT 全称“Generative Pre-Training Transformer”,是一种生成式预训练模型,源于论文Deep contextualized word representations。
GPT 模型结构图:
GPT 的核心思想:采用两阶段训练——第一阶段利用语言模型进行无监督预训练,第二阶段通过微调(Fine-tuning)来解决下游监督任务。

图(左)文章中使用的 Transformer 架构与训练目标。图(右)针对不同微调任务的输入转换示意。
GPT 与 ELMO 的主要区别:GPT 的特征抽取器并非 RNN,而是Transformer,特征抽取能力更强;GPT 采用自回归模型(单向 Transformer),仅依据上文信息生成词嵌入,属于生成式模型。
1.5 BERT 预训练模型
BERT 与 ELMO、GPT 关系紧密,三者既有共性又有差异。先展示模型结构,后续将详细介绍 BERT。

各模型关系总结:
- One-hot 编码是离散向量表示,无法衡量相似关系。
- Word2vec 是静态词向量,无法解决一词多义。
- ELMO、BERT、GPT 均属于动态词向量表示。ELMO 使用 LSTM 作为特征提取器,具备双向上下文语义表示能力。
- GPT 使用 Transformer 作为特征提取器,但仅单向利用上文。若 GPT 改为双向提取上下文,则演变为 BERT 结构。
- BERT 集大成者:动态词向量语义表示 + 强大的 Transformer 特征提取器 + 从左到右和从右到左的双向上下文语义表示。

