5 Ablation Studies
在本节中,我们将对BERT的多个方面进行消融实验,以更好地了解它们的相对重要性。其他消融研究可在附录C中找到。
5.1 Effect of Pre-training Tasks
通过使用与BERT-BASE完全相同的预训练数据,微调方案和超参数来评估两个预训练目标,我们证明了BERT的深度双向的重要性:
**No NSP:**使用“带掩码的LM”(MLM)训练但没有“下一句预测”(NSP)任务的双向模型。
**LTR & No NSP:**使用标准的从左到右(LTR)LM(而不是MLM)训练的仅左上下文模型。 微调时还应用了仅左约束,因为删除它会引入预训练/微调不匹配,从而降低后续性能。此外,该模型无需NSP任务即可进行预训练。 这可以直接与OpenAI GPT相提并论,但是要使用我们更大的训练数据集,输入表示和微调方案。
我们首先研究NSP任务带来的影响。 在表5中,我们发现删除NSP会严重损害QNLI,MNLI和SQuAD 1.1的性能。接下来,我们通过比较“No NSP”与“ LTR & No NSP”来评估训练双向表示的影响。在所有任务上,LTR模型的表现都比MLM模型差,在MRPC和SQuAD上有性能下降很大。
对于SQuAD,直观上很清楚,因为令牌级别的隐藏状态没有右侧上下文,所以LTR模型在令牌预测时的性能会很差。为了真实地尝试增强LTR系统,我们在顶部添加了一个随机初始化的BiLSTM。这确实可以显着改善SQuAD的结果,但仍然远比预训练的双向模型差。 BiLSTM对GLUE任务的性能有损害。
我们意识到,可以像ELMo一样,也有可能训练单独的LTR和RTL模型并将每个令牌表示为两个模块的串联。但是:(a)这是单个双向模型的成本两倍; (b)对于QA这样的任务,这是不直观的,因为RTL模型将无法确定问题的答案; (c)严格来说,它不如深度双向模型强大,因为它可以在每一层使用左右上下文。
5.2 Effect of Model Size
在本节中,我们探索模型大小对微调任务准确性的影响。 我们训练了许多具有不同层数,隐藏单元和注意头的BERT模型,而其他方面则使用了与之前所述相同的超参数和训练过程。
表6所示为选定的GLUE任务的结果。在此表中,我们报告了5次随机微调重新启动后的开发集平均准确性。我们可以看到,即使对于只有3,600个带标签的训练示例的MRPC,它与所有预训练任务也大不相同,较大的模型可以使得所有四个数据集的准确性都得到绝对改善。也许令人惊讶的是,我们能够在相对于现有文献而言已经足够大的模型的基础上实现如此重大的改进。例如,在Vaswani等人(2017)探索的最大的Transformer是(L = 6,H = 1024,A = 16)编码器参数为100M。而我们在文献中发现的最大的Transformer是(L = 64,H = 512,A = 2)编码器参数为235M (Al-Rfou等人,2018)。 相比之下,BERT-BASE包含110M参数,而BERT-LARGE包含340M参数。
众所周知,增加模型的大小将可以持续改进诸如机器翻译和语言建模之类的大规模任务,如表6所示,对持久训练数据的LM困惑度证明了这一点。但是,我们认为,这是第一个令人信服地证明,如果模型已经过充分的预训练,则将模型缩放到极限模型尺寸还可以在非常小的规模任务上带来很大的改进。Peters等(2018b)对于将预训练的Bi-LM尺寸从两层增加到四层对下游任务的影响提出了不同的结果,Melamud等(2016)提到过,将隐藏维度的大小从200增加到600有帮助,但进一步增加到1000并没有带来进一步的改善。这两个先前的工作都使用了基于特征的方法-我们假设当直接在下游任务上对模型进行微调并且仅使用很少数量的随机初始化的附加参数时,特定于任务的模型可以从中受益,即使下游任务数据非常小,也可以使用更大,更具表达力的预训练表示形式。
表6:Ablation over BERT model size #L =层数; #H =隐藏层数量; #A =注意头数量。 “ LM(ppl)”是保留的训练数据的掩码LM困惑度。
5.3 Feature-based Approach with BERT
到目前为止,所有提出的BERT结果都使用了微调方法,其中在预训练模型中添加了一个简单的分类层,并在下游任务上共同对所有参数进行了微调。但是,基于特征的方法从预先训练的模型中提取固定特征,具有某些优势。首先,并非所有任务都可以很容易的由Transformer 编码器体系结构表示,因此需要添加特定于任务的模型体系结构。其次,预先计算一次训练数据的高成本表征,然后在此表征的基础上使用较便宜的模型运行许多实验,这对计算具有很大的好处。在本节中,我们通过将BERT应用于CoNLL-2003命名实体识别(NER)任务(Tjong Kim Sang和De Meulder,2003年)来比较这两种方法。在BERT的输入中,我们使用了一个大小写保留的WordPiece模型,并且包含了数据提供的最大文档上下文。按照标准惯例,我们将其作为标记任务进行模拟,但在输出中不使用CRF层。我们使用第一个子令牌的表征作为NER标签集上令牌级别分类器的输入。
为了消除微调方法,我们通过从一个或多个层中提取激活值而不对BERT的任何参数进行微调来应用基于特征的方法。 这些上下文嵌入被用作分类层之前随机初始化的两层768维BiLSTM的输入。
结果列在表7中。BERT-LARGE与最先进的方法相比具有竞争优势。 最佳性能的方法将来自预训练Transformer的前四个隐藏层的令牌表示连接起来,这仅比微调整个模型低0.3 F1。 这表明BERT对于微调和基于特征的方法都是有效的。
表7:CoNLL-2003命名实体识别结果。 使用开发集选择超参数。 使用这些超参数,列出了5次随机重启后开发集和测试集得分的平均值。
6 Conclusion
由于使用语言模型进行了迁移学习,最近的经验改进表明,丰富的,无监督的预训练是许多语言理解系统不可或缺的一部分。 尤其是,这些结果使得即使是资源匮乏的任务也可以从深层的单向架构中受益。 我们的主要贡献是将这些发现进一步推广到深层次的双向体系结构中,从而使相同的预训练模型能够成功解决各种各样的NLP任务。