1. 引言
从现在的大趋势来看,使用某种模型预训练一个语言模型看起来是一种比较靠谱的方法。从之前 AI2 的 ELMo,到 OpenAI 的 fine-tune transformer,再到 Google 的 BERT、GPT,全都是对预训练的语言模型的应用。
本文将主要介绍 BERT 和 GPT 这两种常见语言模型及其应用场景,较少涉及具体原理的讲解(自身水平不足)。
2. BERT
2.1 简介
BERT 在2018年出现,被认为是 NLP 的 ImageNet 时刻,可以最好地表示单词和句子,增强对自然语言的理解,进而最好地捕捉基本语义和关系,有效增强了很多下游 NLP 任务的性能。BERT 可以理解为一个非常大的已经训练好的语言模型,涵盖了尽可能多的知识,能够作为很多任务的前置处理模块,类似预处理模块。
BERT 开发的两个步骤:第 1 步,你可以下载预训练好的模型(这个模型是在无标注的数据上训练的,可免费下载)。然后在第 2 步只需要关心模型微调即可。
BERT 模型都有大量的 Encoder 层,BASE 版本由 12 层 Encoder,Large 版本有 20 层 Encoder。同时,这些 模型也有更大的前馈神经网络(分别有 768 个和 1024 个隐藏层单元