为什么BERT有效【综述】

论文标题:A Primer in BERTology: What We Know About How BERT Works

论文地址:https://arxiv.org/pdf/2002.12327.pdf

摘要

  • BERT学习了什么类型的信息
  • 是如何表示的
  • 对其训练目标和体系结构的常见修改
  • 过度参数化问题和压缩方法
  • 未来研究的方向

1 导言

  • Transformer提供增强的并行化和更好的远程依赖项建模,极大动摇了NLP。基于Transformer的最好的模型是BERT,在很多benchmarks中取得了很好的结果,但是不知道其中的原因。
    • 这些模型的大小限制了我们进行预训练和消融研究的能力
  • 文章对目前为止研究到的内容进行了总结,并强调了没有解决的点
    • 首先考虑它的语言学方面,即关于Bert学习的语言和世界知识类型的现有证据,以及这些知识可以存储在模型中的位置和方式。
    • 然后,转向模型的技术方面,并概述当前的建议,以改进BERT的架构、预训练和微调。
    • 最后,讨论了过度参数化的问题,压缩BERT的方法,以及作为模型分析技术的新的修剪(pruning)领域。

2 BERT体系结构概述

  • BERT根本上是Transformer的堆叠
  • BERT的传统工作流程分为两部分
    • pre-training:MLM(Mased Language Model),NSP(Next Sentence Predict)
    • fine-tuning:通常在最终编码层之上添加一个或多个全连接的层
  • 输入表示的计算如下:输入中的每个词首先被标记化为词条,然后将三个嵌入层(标记、位置和片段)组合以获得固定长度的向量。特殊标记[CLS]用于分类预测,[SEP]分隔输入段。
  • Google1和HuggingFace提供了许多Bert的变体,包括原始的“base”和“Large”版本。它们的头数、层数和隐藏状态大小各不相同。

3 BERT有什么知识

  • 分析在BERT权重中包含的知识的方法
    • MLM的填空探测(fill-in-the-gap probes)
    • 自我注意权重分析
    • 使用不同的BERT表示作为输入的探测分类器

3.1 句法知识

  • Liu等人:BERT表示是层次化的,而不是线性的--->除了词序信息之外,还有类似于句法树结构的东西
    • Ten和Liu等:ERT嵌入编码有关 词性、句法块 角色 的信息,token嵌入本身似乎捕获了足够的语法信息来恢复语法树
    • 虽然探测分类器不能恢复句法树中远亲节点的标签,但Warstadt和Bowman(2020)报告了在四分之三的探测任务中存在层级结构的证据
  • 至于句法是如何表示的,似乎句法结构并没有直接编码在自我注意权重中。
    • Htut等人(2019年)无法从BERT头中提取完整的解析树,即使根有黄金注释(the gold annotations for the root)。
    • Jawahar等人(2019年)简要说明了直接从自我注意权重中提取的依赖树,但未提供定量评估
  • 然而,句法信息可以从Bert的token表示中恢复。
    • Hewitt和Manning(2019年)能够学习从Bert的token嵌入中成功恢复PennTreebank数据中的句法依赖关系的转换矩阵(另见Manning等人,2020)。
    • Jawahar等人(2019年)使用张量积分解网络(Tensor Product Decomposition Networks)对[CLS]记号的变换进行了实验(McCoy等人,2019a),结论是依存关系树是5种分解方案中最匹配的(尽管报告的MSE差异非常小)
    • Miaschi和Dell'Orletta(2020年)进行了一系列语法探测实验,将连接的token表示作为输入。
  • 所有这些方法都会寻找gold-standard linguistic structures的证据,并为探索添加一些额外的知识。最近,Wu等人(2020年)提出了一种无参数方法,该方法基于测量MLM任务序列中一个单词对预测另一个单词的影响。他们得出结论,BERT“自然地”学习一些句法信息,尽管它与语言注释资源不太相似
    • 在MLM预测中,共享句法子树的词之间的影响较大
  • MLM的填空探测表明BERT在进行完形填空任务时,考虑了subject-predict agreement(主谓一致?)
    • 即使是一些错误的句子或在主语和动词之间出现干扰词
    • 关于负性词的研究表明,相较scope violations,BERT更容易发现负性词(ever)和允许它们使用的词(whether)
  • 上述研究表明,BERT不能“理解”负性词,对格式错误的输入(malformed input)也不敏感
    • 当词序乱序,截断句子,删除的主题和对象时,BERT的预测也不会改变
    • 这表明BERT的句法知识是不准确的,它也不需要用到这些知识
      • 带有 监督解析 的 中间微调步骤 对下游任务性能没有太大影响

3.2 语义知识

  • 从MLM探查研究中得到的证据表明,BERT对语义角色有一定的了解
    • 对于语义上与正确角色相关的语义角色,BERT甚至对不正确的填充词表现出一些偏好,与之相反的是那些无关的(例如,“给厨师小费”比“给知更鸟小费”好,但比“给服务员小费”更糟)(e.g. "to tip a chef" is better than "to tip a robin", but worse than "to tip a waiter")
  • Tenney: BERT编码有关实体类型、关系、语义角色和原型角色的信息。这可被probing classifiers发现
  • BERT在数字的表示上表现不够。
    • 加法和数字解码任务表明,BERT不能很好地表示浮点数,也不能从训练数据中进行泛化
    • 。问题的一部分是Bert的wordpiece tokenization,因为许多相似的值可以被分成本质上不同的词块
  • 开箱即用的BERT对命名实体替换的脆弱性令人惊讶
    • 在共指任务中替换名称会改变85%的预测(Balasubramanian等人,2020年)。这表明,该模型实际上并没有形成命名实体的通用概念,尽管它在NER探测任务上的F1分数很高(Tenney等人,2019a)。
    • Broscheit(2019年)发现,对维基百科实体链接的微调向BERT传授了额外的实体知识,这将表明它在维基百科的预训练期间没有吸收所有相关的实体信息。

3.3 世界知识

  • BERT的一项直接探索性研究报告说,BERT在语用推理和基于角色的事件知识方面举步维艰(Etttinger,2019年)。BERT也不善于处理物体的抽象属性,以及可能被假定而不是提及的 视觉和感知属性(Da和Kasai,2019年)
  • Bert的MLM组件很容易通过填充空白来适应知识诱导(例如,“猫喜欢追逐[__]”)。
    • Petroni等人(2019年)表明,对于某些关系类型,依赖知识库的Vanilla Bert具有竞争力(图2)
    • andRoberts等人(2020年)使用T5模型对开放域QA显示了同样的竞争性(Raffel等人,2019年)。
    • Davison等人(2019年)认为,它能更好地概括看不见的数据。
    • 为了检索BERT的知识,我们需要好的模板句子,并且正在进行自动提取和扩充的工作(Bouraoui等人,2019年;Jiang等人,2019b)。
  • 然而,BERT不能基于其世界知识进行推理。
    • 福布斯等人(2019年)表明,BERT可以“猜测”许多物体的启示和属性,但不能推理属性和启示之间的关系。例如,它“知道”人们可以走进房子,房子很大,但不能推断房子比人大。
    • 周等人(2020)和理查森·萨巴瓦尔(2019)还表明,随着必要推理步骤的增多,表现会下降。
    • BERT的一些世界知识来自于学习刻板印象(Poerner等人,2019),例如,一个名字听起来像意大利语的人被预测为意大利人,即使这个名字不正确。

3.4 限制

  • 语言模式没有被我们的探测分类器观察到这一事实并不能保证它不在那里,对模式的观察也不能告诉我们它是如何被使用的
  • 还有一个问题是允许探针的复杂程度(Liu等人,2019a)。如果一个更复杂的探测器恢复了更多的信息,我们在多大程度上仍然依赖于原始模型
  • 此外,不同的探测方法可能导致互补甚至矛盾的结论,这使得单一测试(如在大多数研究中)不够充分(Warstadt et al.,2019)。一个给定的方法也可能倾向于一个模型而不是另一个,例如。GRoBERTa用一种树提取方法跟踪BERT,但用另一种方法领先(Htut等人,2019年)。语言形式的选择也很重要
  • 有鉴于此,另一种选择是专注于确定BERT在推理时实际上依赖的是什么。这一方向目前既在体系结构块级别(将在第6.3小节中详细讨论),也在模型权重中编码的信息级别进行。健忘症探测(Elazar等人,2020)的目标是专门从模型中删除某些信息,并看看它如何改变性能,例如,发现语言建模确实依赖于词性信息。
  • 另一个方向是信息理论探索。Pimentel等人(2020年)将探测操作化为评估学习到的表征和给定语言属性之间的互信息,这强调了重点不应放在表征中包含的信息量上,而应放在从表征中提取信息的容易程度上。Voita和Titov(2020)将从给定表示中提取信息所需的工作量量化为传达探头尺寸(probe size)和完成任务所需数据量所需的最小描述长度

4 语言知识本地化

4.1 BERT嵌入

  • 在对BERT的研究中,“嵌入”一词是指变压器层(通常是最后一层)的输出。
  • 传统静态嵌入和BERT式嵌入都可以从互信息最大化的角度来看待,但后者是语境化contextualized)的。
  • 提炼出的语境化嵌入更好地编码词汇语义信息(即,它们在传统的单词级任务(如单词相似性)中更好)。
  • Ethayarajh(2019) 测量每个层中相同单词的嵌入的相似程度,报告后面的层生成更多上下文特定的表示
  • 他们还发现,BERT嵌入在向量空间中占据了一个狭窄的圆锥体,并且这种效应从早期到后期都会增加。也就是说,如果嵌入方向一致(各向同性),两个随机词的平均余弦相似性将比预期的高得多。
    • 由于各向同性被证明有利于静态单词嵌入(Mu和Viswanath,2018),这可能是一个富有成效的BERT探索方向
  • BERT的语境化嵌入形成了与词义相对应的不同簇,使BERT成功完成词义消歧任务。然而,Mickus等人(2019年)指出,同一单词的表示取决于它出现的句子的位置,可能是由于NSP的目标。从语言学的角度来看,这是不可取的,可能是未来工作的一个有希望的途径。
  • 生成用于分类的句子或文本表示的标准方法是使用[CLS]标记,但也在讨论替代方法,包括标记表示的串联(Tanaka et al.,2020)、标准化平均值(Tanaka et al.,2020)和层激活(Ma et al.,2019)。参见Toshniwal等人(2020年),了解任务和句子编码器中几种方法的系统比较。

4.2 自注意力头

  • 几项研究提出了注意力头类型的分类。Raganato和Tiedemann(2018)讨论了注意token本身、上一个/下一个token和句子结尾。Clark等人(2019年)区分关注前一个/下一个token、[CLS]、[SEP]、标点符号和序列中的“广泛关注”。Kovaleva等人(2019年)提出了图3所示的5种模式。

4.2.1 具有语言功能的头

  • 有些BERT似乎专门研究某些类型的句法关系
    • Htut(2019年)和Clark等人(2019年)报告说,有一些BERT头部对某些句法位置的单词的关注远远超过随机基线。这些研究使用的数据集和方法不同,但他们都发现,在Obj角色中,头对单词的关注程度高于位置基线。Nsubj、advmod和amod的证据在这两项研究中各不相同。
    • 这一总体结论也得到了Voita等人(2019b)对机器翻译语境中基础Transformer的研究的支持。
    • Hoover等人(2019年)假设,即使像dobj这样的复杂依存关系也是由中心语组合而不是单个中心语编码的,但这项工作仅限于定性分析。
    • Zhao和Bethard(2020)专门研究了语编码否定范围的头。
  • BothClark等人(2019)和htut等人(2019)得出结论,没有一个头部具有完整的句法树信息,符合句法部分知识的证据(参见第3.1小节)。然而,Clark等人(2019)确定了一个可以直接用作分类器的BERT头,与基于规则的系统一样执行共引用解决方案,这本身似乎需要相当多的句法知识
  • Lin等人(2019年)提出的证据表明,注意权重是主谓一致和反身性回指的弱指标,Bert的自我注意权重不是作为应该相关的标记之间的强指针(strong pointers),而是接近于统一的注意基线,但对与心理语言学数据不同类型的干扰有一定的敏感度。这与埃廷格(2019年)的结论一致。
  • 据我们所知,Bert头部中的形态信息尚未被解决,但在Base Transformer中,随着Correia等人(2019年)的稀疏注意变体,一些注意头部似乎合并了BPE序列化的单词。在语义关系方面,有报道称自我注意中心词编码核心 框架-语义关系(Kovaleva等人,2019年),以及词典关系和常识关系(崔等人,2020年)。
  • 自我注意作为一种可解释机制的总体受欢迎程度是因为这样一种观点,即“注意力权重有一个明确的含义:当计算当前单词的下一个表征时,某个特定单词将被赋予多少权重”(Clark等人,2019年)。这一观点目前正在辩论(Jain和Wallace,2019年;Serrano和Smith,2019年;Wiegreffe和Pinter,2019年;Brunner等人,2020年),在关注 之后是非线性转换的多层模型中,单个头部的模式并不能提供全貌。此外,虽然目前的许多论文都伴随着注意力可视化,而且可视化工具也越来越多(Vig,2019年;胡佛等人,2019年),但可视化通常仅限于定性分析(通常是精挑细选的例子)(Belinkov和Glass,2019年),不应被解释为确凿的证据

4.2.2 特殊token的注意力

  • Kovaleva等人(2019年)表明,大多数自注意头不会直接编码任何重要的语言信息,至少在GLUE上进行微调时是这样(Wang等人,2018年),因为只有不到50%的大脑表现出“异质”模式。该模型的大部分产生了垂直模式(注意[CLS]、[SEP]和标点符号),这与Clark等人(2019年)的观察结果一致。这种冗余很可能与过度参数化问题有关(参见第6节)。
  • 最近,Kobayashi等人(2020)表明,注意力加权输入向量的规范化(norms)可以更直观地解释自我关注,减少对特殊token的关注。然而,即使注意力权重是标准化的,大多数做“举重(heavy lifting)”的头部甚至可能是可解释的(Prasanna等,2020)。
  • 在许多关于注意的研究中,一种方法选择是专注于词间注意,而简单地排除特殊标记(例如Lin等人(2019)和Htut等人(2019))。然而,如果对特殊符号的注意在推理时确实很重要,那么纯粹从词间注意模式中得出结论似乎是不合理的。
  • 特殊标记的功能还没有被很好地理解。[CLS]通常被视为聚合的句子级表示(尽管所有的标记表示也包含至少一些句子级信息,如4.1小节中所讨论的);在这种情况下,我们可能看不到例如词间注意力中的完整句法树,因为部分信息实际上被打包在[CLS]中。
  • Clark等人(2019)尝试使用基本BERT对维基百科段落进行编码,以特别考虑对特殊token的关注,并指出早期层的头部更多地关注[CLS],中间关注[SEP],最后层关注周期(periods)和逗号。他们假设它的功能可能是“no-op(如果其模式不适用于当前情况,则会忽略头部的信号)”之一。因此,例如,[SEP]从第5层开始受到越来越多的关注,但其对预测的重要性下降。然而,在微调后,取决于任务,[SEP]和[CLS]得到了很多关注(Kovaleva等,2019)。有趣的是,BERT也非常关注标点符号,Clark等人(2019)通过周期和逗号几乎与特殊token一样频繁的事实来解释,因此模型可能会学会依赖它们出于同样的原因

4.3 BERT层

  • BERT的第一层接收令牌、段和位置嵌入的组合作为输入
  • 较低的层具有关于线性词序的最多信息。Lin等人(2019年)报告说,在Bert-base中,第四层的线性词序知识减少了。这伴随着对层次化句子结构知识的增加,如预测标记索引、主要助动词和句子主语的探测任务所检测到的那样
  • 句法信息在BERT的中间层最为突出。Hewitt(2019)从中间Bert层重构句法树深度最成功(base-Bert为6-9,Bert-Large为4-19)。Goldberg(2019年)报告了第8-9层的最佳主谓一致,Jawahar等人(2019年)在句法探测任务上的表现似乎也在模型中间达到峰值。BERT中间层的句法信息的突出与Liu等人(2019a)的观察有关,即Transformers的中间层总体上表现最好,跨任务的可转移性最强
  • BERT语法块有相互矛盾的证据(evidence)。
    • Tenney等人(2019a)得出结论:“基本句法信息出现在网络的早期,而高级语义特征出现在高层”,在典型的NLP管道中绘制了这个顺序和组件顺序之间的相似之处-从位置标记到依赖性解析到语义角色标记。
    • Jawahar等人(2019)还报告说,较低层对块化更有用,而中间层对解析更有用。
    • 同时,Liu等人(2019a)的探测实验发现相反的结果:在BERT base和BERT large中,POS标记和分块在中间层表现最好。然而,所有三项研究都使用不同的探测任务套件。
  • BERT的最后几层是任务最具体的(task-specific)
    • 在预培训中,这意味着MLM任务的特殊性,这解释了为什么中间层更具可转移性(Liu等人,2019a)。在微调方面,它解释了为什么最后一层变化最大(也有可能是梯度回传时逐渐减小?)(Kovaleva等人,2019年),以及为什么将微调BERT较低层的权重恢复到原始值不会显著损害模型性能(Hao等人,2019年)。
  • Tenney等人(2019a)认为,虽然句法信息出现在模型的早期并且可以本地化,但语义分布在整个模型中,这就解释了为什么某些非平凡(non-trivial)的例子起初得到不正确的解决,但在后面的层次上得到了正确的解决。这是可以预料的:语义渗透到所有语言中,语言学家争论无意义的结构是否可以存在(Goldberg,2006,p.166-182)。但这提出了一个问题,即在BERT中堆叠更多的Transformer层在语义知识传播方面实际上实现了什么,以及这是否有益。Tenney等人比较了BERT base和BERT large,发现累积的整体模式得分收益是相同的,在更大的模型中只有更多的分布
  • 注意,Tenney等人(2019a)的实验关注句子层面的语义关系;Cui等人(2020年)报告称,概念网语义关系的编码在早期层中最差,并向顶部增加。Jawahar等人(2019年)将“表层特征在下层,句法特征在中层,语义特征在高层”,但他们的结论令人惊讶,因为他们研究中只有一项语义任务实际上在最后一层中居于首位,另外三个在中间达到峰值,然后在最后一层显著降低。

5 训练BERT

5.1 模型架构选择

  • Wang:注意力头的数量不如层数重要(significant),中间层最容易被转移,隐藏表示大小越大,效果越好,但增益因设置而异。
  • 头部和层数的变化 似乎执行不同的功能
    • 最接近分类器的层最task-specific越底层越task-invariant,如果这样,更深层次的模型有更大的能力来编码非任务特定的信息
    • 在另一方面,许多头似乎很自然地学会了同样的模式(Kovaleva等人,2019年)。这就解释了为什么修剪它们不会产生太大的影响。由此产生的问题是,我们可以在多大程度上有意鼓励不同的自我注意模式:理论上,这意味着增加模型中相同数量权重的信息量。Raganato等人(2020年)表明,对于基于Transformer的机器翻译,我们可以简单地预先设置我们已经知道模型将学习的模式,而不是从头开始学习。
  • Vanilla BERT在自我注意和前馈层方面是对称和平衡的,但它可能不需要是。对于基础Transformer,Press等人(2020年)报告了底部更多的自我关注子层和顶部更多的前馈子层带来的好处。

5.2  训练方法的改进   Improvements to the training regime

  • Liu等人(2019b)论证了大批量培训的好处:通过8k的示例,语言模型的困惑和下游任务的性能都得到了改善。You等人(2019年)报告说,批量大小为32k时,BERT的训练时间可以显著缩短,而性能不会下降。Zhou等人(2019)观察到,经过训练的[CLS]标记的标准化稳定了训练,并略微提高了文本分类任务的性能。
  • Gong等人(2019)注意到,由于高层和下层的自我注意模式相似,模型训练可以以递归方式进行,首先训练较浅的版本,然后将训练参数复制到较深的层。这种“热启动”可以在不牺牲性能的情况下使训练速度提高25%

5.3 预训练BERT

  • 最原初的两个目标是MLM和NSP,替代训练目标:
    • MASK的方法
      • Raffel等人(2019年)对损失率和损坏跨度长度进行了系统的实验。
      • Liu等人(2019b)提出了用于一个epoch内训练示例的不同掩码,而Baevski等人(2019年)对序列中的每个token进行了掩码,而不是随机选择。
      • Clinchant等人(2019年)用[UNK]标记替换掩码标记,以帮助模型学习可能对翻译有用的未知数的表示。Song(2020)通过限制屏蔽和未屏蔽token,并让模型查看丢失了多少token,最大限度地增加了模型可用的信息量
    • Mask什么
      • 掩码可以应用于完整的单词,而不是word-pieces (Devlin等人,2019年;崔等人,2019年)。
      • 同样,我们可以mask跨度而不是单个token(Joshi等人,2020年),预测丢失了多少个token(Lewis等人,2019年)。mask短语和命名实体(Sun等人,2019b)改进了结构化知识的表示。
    • 在哪mask
      • Lample和Conneau(2019)使用任意文本流而不是句子对,并对频繁输出进行子采样,类似于Mikolov等人(2013)。
      • Bao等人(2020)使用特殊的伪掩码token将标准的自动编码MLM与部分自回归LM目标相结合。
    • Mask的替代方案
      • Raffel等人(2019年)用替换和删除跨度的实验,Lewis等人(2019年)探索删除、填充、句子排列和文档旋转
      • Sun等人(2019c)预测token是否大写,以及它是否出现在同一文档的其他片段中。
      • Yang等人(2019年)训练输入序列中的词序的不同排列,最大化原始词序的概率(参见。N元语法词序重建任务(Wang等人,2019a))
      • Clark等人(2020)检测由生成器网络代替而不是掩蔽token
    • NSP的替代方案,去除NSP并不会损害或略微提高性能
      • Wang等人(2019a)和Cheng等人(2019年)用预测下一句和前一句的任务取代了NSP。
      • Lan等人(2020a)用从正例中交换句子而不是来自不同文档的句子来替换否定NSP示例。
      • Ernie 2.0包括句子重新排序和句子距离预测。
      • Bai等人(2020)将NSP和token位置嵌入替换为段落、句子和令牌索引的组合嵌入。
      • Li和Choi(2020)对多方对话(以及话语和整个对话层面的MLM)进行了语序预测任务的实验。
    • 其他任务
      • Sun等人(2019c)提出同时学习7个任务,包括语篇关系分类和预测片段是否与IR相关。
      • Guu等人(2020)在语言模型预训练中包括一个潜在知识检索器。
      • Wang等人(2020c)将MLM与知识库完成目标相结合。
      • Glass等人(2020)用跨度预测任务(如在提取问答中)取代MLM,其中模型预计不是根据其自身的权重提供答案,而是从包含主题的不同段落中提供答案
  • 另一个明显的改进来源是预训练的数据。
    • 几项研究探索了增加语料库容量的好处(Liu等人,2019b;Conneau等人,2019b;Baevski等人,2019年)和更长时间的训练(Liu等人,2019b)。
    • 数据也不必是原始文本:有一些努力是为了纳入显性的语言信息,既有句法的(Sundararaman等人,2019年),也有语义的(Zhang等人,2020年)。(2019b)和Kumar等人(2020)包括来自注释任务数据集的给定序列的标签。Schick和Schütze(2020)分别学习稀有单词的表征
  • 尽管BERT已经被积极地用作世界知识的来源(见第3.3小节),但也有关于明确提供结构化知识的工作。
    • 一种方法是实体增强模型。
      • 例如,彼得斯等人。(2019a);Zhang等人(2019年)包括实体嵌入作为训练BERT的输入
      • Poerner等人(2019年)使实体向量适应BERT表示。
      • 如上所述,Wang et al.。(2020c)不是通过实体嵌入,而是通过知识库完成的额外预训练目标来集成知识。
      • (2019b,c)修改标准的MLM任务,以掩蔽命名实体而不是随机词
      • 殷等人(2020)在文本和线性化的表格数据上进行MLM目标训练。
      • Wang等人(2020a)通过任务特定的适配器增强RoBERTa的语言和事实知识。
  • 预训练是BERT培训中最昂贵的部分,知道它提供了多少好处将是一件很有意义的事情。在某些任务上,随机初始化和微调的BERT使用任务分类器和冻结权重获得与预训练的BERT相当或更高的结果(Kovaleva等人,2019年)。社区的共识是,在大多数情况下,预训练确实有帮助,但程度及其确切贡献需要进一步调查。Prasanna等人(2020年)发现,尽管存在“更好”和“更差”的子网络,但大多数预训练的BERT在微调中都是有用的。一种解释是,预先训练的权重有助于微调的BERT找到更宽、更平坦的区域,具有更小的泛化误差,这使得模型对过度拟合更具鲁棒性(见图 Fromhao et al.(2019))。
  • 鉴于拟议修改的数量和种类繁多,人们希望知道每项修改的影响有多大。然而,由于大模型尺寸的总体趋势,系统消融实验变得昂贵。大多数新模型声称在标准基准上具有优势,但收益通常是微乎其微的,而且对模型稳定性和显著性测试的估计非常少

5.4 微调BERT

  • 预训练+微调工作流程是BERT的关键部分。前者应该提供与任务无关的知识,而后者可能会教会模型更多地依赖于对手头任务有用的表示法。
  • Kovaleva等人(2019年)没有发现Bert对GLUE任务进行了微调:在微调期间,3个epoch的最大变化发生在模型的最后两层,但这些变化导致自我关注集中在[SEP]上,而不是语言上可解释的模式。可以理解为什么微调会增加对[CLS]的关注,但不会增加对[SEP]的关注。如果Clark等人(2019年)是正确的,[SEP]充当“no-op”指示器,微调基本告诉BERT忽略什么
  • 几项研究探索了改善BERT微调的可能性:
    • 考虑更多层:学习深层和输出层信息的互补表示(Yang和赵,2019年),使用所有层的加权组合而不是最后一层(Su和Cheng,2019年;Kondratyuk和Straka,2019年),以及层缺失(layer dropout)(Kondratyuk和Straka,2019年)。
    • 两阶段微调引入了介于预训练和微调之间的中间监督训练阶段(Pang等人,2019年;Garg等人,2020年;Arase和Tsujii,2019年;Pruksachatkun等人,2020年;Glavaš和Vuliüc,2020年)。Ben-David等人(2020年)提出了一种基于枢轴的MLM变体,以微调BERT,用于领域适应
    • 对抗性token扰动提高了模型的鲁棒性
    • 对抗正则化结合Bregman近端点优化有助于减轻预训练的知识遗忘,从而防止BERT过度拟合到下游任务
    • 混合规则化提高了BERT微调的稳定性,即使对于少量的训练样本也是如此
  • 对于大型模型,即使是微调也变得昂贵,但Houlsby等人(2019年)表明,它可以成功地用适配器模块近似。它们在26个分类任务上取得了具有竞争力的性能,而计算成本仅为前者的一小部分。Bert中的适配器还用于多任务学习(Stickland和Murray,2019年)和跨语言迁移(Artexe等人,2019年)。微调的另一种选择是从冻结的表示中提取特征,但微调对Bert更有效(Peters等人,2019b)。
  • 当前NLP中的一大方法论挑战是,报告的新模型的性能改进很可能在环境因素导致的变化范围内(Crane,2018)。Bert也不例外,Dodge等人(2020)报告说,由于重量初始化和训练数据顺序的原因,Bert在GLUE任务上进行了微调,存在显著差异。他们还建议在不太有希望(less-promising)的随机种子上early stop

6 BERT应该多大

6.1 过度参数化

  • 基于Transformer的模型继续以数量级增长:BASE BERT的110M参数,Turing-NLG(微软,2020)17B参数,GPT-3的175B参数(Brown等人,2020年)。这一趋势引起了人们对自我关注的计算复杂性(Wu等人,2019a)、环境问题(environmental issues)(Strubell等人,2019年;Schwartz等人,2019年)、架构的公平比较(Aüenmacher和Heumann,2020)以及可重复性的担忧
  • 人类语言极其复杂,可能需要更多的参数才能完全描述,但目前的模型没有很好地利用它们已经拥有的参数。
    • VOita et al.(2019b)表明,除了少数Transformer头之外,所有的Transformer头都可以被修剪,而不会对性能造成重大损失。
    • 对于Bert,Clark等人(2019年)观察到同一层中的大多数头部都显示出类似的自我注意模式(可能与一层中所有自我注意头部的输出都通过相同的MLP这一事实有关),这解释了为什么Michel等人(2019年)能够将大多数层减少到一个头部。
  • 根据任务的不同,一些BERT头部/层不仅是多余的(Kao等人,2020年),而且对下游任务的绩效也是有害的
    • 头部禁用对机器翻译(Michel等人,2019年)、抽象摘要(Baan等人,2019年)和粘合任务(Kovaleva等人,2019年)有积极影响。
    • Tenney等人(2019a)检查了他们的结构探测分类器的累积增益,观察到在8个探测任务中有5个层导致得分下降(通常在最后一层)。Gordon等人(2020)发现,可以在不影响下游任务的情况下修剪30-40%的权重
  • 一般来说,较大的BERT模型表现更好(Liu et al。,2019a;Roberts et al。,2020),但并非总是如此: BERT-base优于 BERT-large,在主谓一致(Goldberg,2019)和句子主题检测(Lin et al。,2019)。鉴于语言的复杂性和预训练数据的数量,目前还不清楚为什么BERT最终会有多余的头和层。克拉克等人(2019年)提出,一个可能的原因是使用attention dropouts,这会导致一些注意力权重在训练过程中归零

6.2 压缩技术

  • 主要方法:知识蒸馏 knowledge distillation, 量化 quantization,修剪 pruning
  • 在知识蒸馏框架(Hinton等,2014)中的研究使用了一个较小的学生网络来模拟一个较大的教师网络的行为。对于BERT来说,这是通过损失函数实验实现的(Sanh等人,2019b;Jiao等人,2019),模拟了教师网络各个部分的激活模式(Sun等人,2019a),以及培训前的知识转移(Turc等人,2019;Jiao等人,2019;Sun等人,2020)或微调阶段(Jiao等人,2019)McCarley等人(2020)认为,到目前为止,蒸馏对于GLUE的效果要好于阅读理解,并且通过结构化修剪和特定任务蒸馏的组合为QA报告了良好的结果。
  • 量化通过降低权重的精度来减少Bert的内存足迹(沈等人,2019年;Zafrir等人,2019年)。请注意,此策略通常需要兼容的硬件
  • 如第6节所讨论的,可以在不显著降低性能的情况下禁用单独的自我注意头部和BERT层(Michel等人,2019年;Kovaleva等人,2019年;Baan等人,2019年)。修剪是一种利用这一事实的压缩技术,通常通过将大型模型的某些部分清零来减少计算量。
    • 在结构化修剪中,体系结构块被丢弃,就像在LayerDrop中一样(Fan等人,2019年)。
    • 在非结构化中,整个模型中的权重无论其位置如何都会被修剪,就像在幅度修剪(Chen等人,2020)或运动修剪(Sanh等人,2020)中一样。
    • Prasanna等人(2020)和Chen等人(2020)从彩票假说的角度探讨了Bert(Frankle和Carbin,2019年),特别关注了预先训练的Bert中的“中奖”子网络。他们独立地发现,这样的子网确实存在,并且不同任务的子网之间的可传输性各不相同。
    • 如果训练Bert的最终目标是压缩,Li等人(2020)建议训练较大的模型并对其进行大量压缩,而不是对较小的模型进行轻度压缩。
    • 其他技术包括将Bert的嵌入矩阵分解为更小的矩阵(Lan等人,2020a)、渐进模块替换(Xu等人,2020)和动态消除中间编码器输出(GoYal等人,2020)。SeeGanesh等人。

6.3 修剪与模型分析

  • 关于修剪作为一种模型分析技术,有一种新的讨论。其基本思想是,压缩模型先验地由对预测有用的元素组成;因此,通过找出它们的作用,我们可以发现整个网络的作用。
    • 例如,Bert的头似乎编码了框架-语义关系,但禁用它们可能不会损害下游任务的绩效Kovaleva等人(2019年);这表明这一知识实际上并未被使用
    • 对于基础Transformer,Voita等人(2019b)确定了自我注意中心语的功能,然后检查它们中的哪些在修剪中幸存下来,发现句法和位置中心语是最后去掉的。
    • 对于Bert,Prasanna等人(2020)走了相反的方向:根据重要性得分进行修剪,并解释剩余的“良好”子网络。具体地说,关于自我关注的头部,似乎并不是只有可能编码非平凡语言模式的头部才能在修剪后幸存下来
  • 这些研究的模型和方法各不相同,因此证据并不确凿。
    • 特别是,VOita等人(2019b)发现,在修剪之前,大多数头部是句法的,Prasanna等人。
    • (2020)-大多数头部没有潜在的非琐碎注意力模式。
    • 目前的头和层消融研究(Michel等人,2019年;Kovaleva等人,2019年)的一个重要限制是,它们固有地假设某些知识包含在头/层中。然而,有证据表明,更分散的表示分布在整个网络中,例如困难的语义解析任务的准确性逐渐提高(Tenney等人,2019a),或者“总体上”缺乏执行解析的头部(Clark等人,2019年;Htut等人,2019年)。如果是这样的话,消融单个部件会损害重量分担机制。如果相同的信息在网络中的其他地方重复,则部件消融得出的结论也是有问题的

7 进一步研究的方向

  • 需要语言推理的基准(Benchmark)
    • 虽然BERT在许多NLP基准上取得了突破,但越来越多的分析论文显示,它的语言技能并不像看起来那么令人印象深刻。
    • 特别是,在自然语言推理(McCoy等人,2019b;Zellers等人,2019b;金等人,2020年)、阅读理解(Si等人,2019a;Rogers等人,2020;Sugawa等人,2020;Si等人,2019b;Y ogatama等人,2019年)、论证推理理解(Niven and Kao,2019年)和文本分类(金等人,2019年)中,它被证明依赖于浅层启发式推理(McCoy等人,2019b;Zellers等人,2019b;jin等人,2020),阅读理解(Si等人,2019a;Rogers等人,2020;Sugawa等人,2020;Si等人,2019b。
    • 这样的试探法甚至可以用来重建一个非公开可用的模型(Krishna等人,2020年)。
    • 与任何优化方法一样,如果数据中有捷径,我们没有理由期望BRET不学习它。
    • 但是,如果它们的发展不像建模工作那样受到重视,那么不能用浅显的启发式算法解决的较难的数据集就不太可能出现。
  • 全面语言能力的基准
    • 虽然语言模型似乎获得了大量关于语言的知识,但我们目前还没有针对语言知识的不同方面进行全面的压力测试。朝着这个方向迈出的一步是“清单”行为测试(Ribeiro等人,2020年),这是ACL2020上最好的论文。
    • 理想情况下,这样的测试不仅会测量误差,还会测量灵敏度(Ettinger,2019年)。
  • 发展教授“推理”的方法
    • 虽然大型预训练的模型有很多知识,但如果需要在它们拥有的事实之上进行任何推理,它们往往会失败(Talmor等人,2019年,另见第3.3节)。例如,Richardson等人(2020)提出了一种“教授”BERT量化、条件式、比较式和布尔协调的方法
  • 学习推理时发生了什么。
    • 大多数BERT分析论文都集中在模型的不同探测上,目的是找出语言模型“知道”什么。
    • 然而,探索性研究有其局限性(3.4节),到目前为止,很少有论文专注于发现哪些知识真正被使用。有几个有希望的方向是“健忘症探测(amnesic probing)”(Elazar等人,2020年),确定对给定任务的预测重要的特征(Arkangelskaia和duta,2019年),以及修剪模型以移除不重要的成分(VOita等人,2019b;Michel等人,2019年;Prasanna等人,2020年)。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值