当BERT玩“彩票”时,如何找到全赢的策略?

2021-01-02   AI科技评论

原标题:当BERT玩“彩票”时,如何找到全赢的策略?

作者 | 蒋宝尚

编辑 | 青暮

BERT是一个“体量”巨大的模型,事实表明,当删除BERT的一些组件之后,BERT仍然能工作。那么,如何理解这一现象?

最近,有一篇题为“当BERT玩彩票时,全赢的策略”的论文从彩票假说考虑了这一现象。经过实验,作者发现,对于微调的BERT:

1.有可能找到性能与完整模型性能相当的子网络;

2.从模型的其余部分采样得到的“类似尺寸”子网络,其性能可能更差。

另外,这篇论文还表明:通过结构化剪枝,即使是“最差”的子网络也能保持高度的可训练性,这表明大多数预先训练的BERT权重是潜在有用的。

具体情况如何,作者在科技博客The Gradient对研究思路和研究结果进行了梳理,下面AI科技评论对其进行了不改变原意的编译:

BERT亮相已经两年了, Transformers仍然在榜单上占据主导地位,并且越来越多的相关研究还在涌现。

2020年2月份Rogers等人写的第一篇调查BERT技术的论文考量了四十余篇文献,六月份这个数字达到了一百多篇。到了8月份,最终定稿时候,已经有了一百五十多篇引文。

但即使调查了这么多论文,仍然无法弄清BERT如何工作。有些研究认为,BERT有很多关于语言的信息,其解释性或许能够从这找到端倪。还有大多数的论文更多是关注不同类型的因素,例如掩码语言模型、词性标记、句法分析等等。

最近的研究为一种研究方向提供了线索:

1.彩票假设(lottery ticket hypothesis):密集、随机初始化的前馈网络包含子网络(中奖彩票),当独立训练时,这些子网络能够在相似的迭代次数内达到与原始网络相当的测试准确率。

2.大多数的BERT自注意头(self-attention heads)可以基于模型梯度进行修剪。

3.对于经过机器翻译训练的Base-Transformer模型,其修剪过后头往往具有句法功能。

考虑所有这些情况,那么,如果BERT的参数太多,我们是否可以通过将其缩减成最简形式,使其更具有可解释性?因此,接下来,抛开模型压缩,我们将“修剪”作为模型分析的一种技术。

经过研究发现,根据模型大小对BERT权重进行非结构化修剪之后,其效果和彩票假说得到预测一致,并且产生了稳定的子网络。但是,根据BERT 头和MLPs的重要性分数修剪BERT头和MLPs,并不能得到“好”子网络(微调初始化,或者类似任务中的“"好 "子网络)。这些子网也不优先能编码潜在可解释模式的自注意头。

对于大多数任务,可以对“好”的子网进行再训练,从而达到接近完整模型的性能,但随机抽样的子网络也可以做到这一点。显然,这对BRRT来说是一个好消息,但对可解释性来说却是个坏消息。

随后,研究人员使用两种修剪方法:非结构化剪枝和结构化剪枝,进行验证彩票假说是否成立。

1

剪枝BERT

经典的彩票假设大多是用非结构化修剪方法进行检验的,特别是m-pruning,即不管权重在模型中的位置如何,最低权重的都会被修剪。修剪标准是:子网络的性能高于完整模型的90%即可。

我们根据重要性分数对BERT架构的整个组件进行结构化修剪(s-pruning),具体而言,通过掩码进行“移除”最不重要的自我注意头和MLPs。另外,在每次迭代中,修剪10%的BERT头和 1 MLP 。修剪的标准,仍然是只要达到完整模型的90%即可。

对于上述两种方法,掩码都是根据特定数据集的全模型性能确定的。所以,感兴趣的应该是:找到使在9个GLUE任务上表现良好的子网络。由于我们感兴趣的是BERT的“推理策略”,而不是泛化,因此这种方法可以看到该特定数据的最好或者最差子网络。

2

在随机初始化过程中,“良好”子网的稳定性如何?

最近的研究表明,任务特定层的随机初始化不同,BERT的性能存在非常大的差异,以至于不同的初始化会导致显著不同的泛化性能。

通过在每个GLUE任务上运行实验,对BERT的任务特定层进行5次随机初始化,来估计“好”子网络的稳定性。

下面是使用两种修剪方法找到好子网络的示例:

如上图所示,m修剪的子网络相当稳定(STD大多在0.01左右)。s-修剪只有几个幸存者存活。

出现这种情况的原因是,大多数BERT头的得分非常低。下面是迭代一次时候,CoLA的重要性得分分布的例子:其实大多数头不重要,都可以用差不多的效果进行修剪。

3

各个任务的“好”子网的稳定性如何?

由于m-剪枝的关键因素是预先训练BERT权重的大小,因此m-剪枝的子网络在随机种子和任务之间都是非常相似的。但s-pruning并非如此,因为不同任务的“好”子网非常不同:

就“好的”子网而言,相关任务并不意味着有共同之处。下图显示了所有GLUE任务对子网络中“共享的”自我注意头的平均数。

例如,QQP和MRPC在任务制定方面比QQP和MNLI更接近,但“好”的子网在这两种情况下都有52-55个头。

4

论证BERT的彩票假说

考虑三个实验设置:

  • “好”子网络:通过s-剪枝或m-剪枝从整个模型中选择元素;
  • “随机”子网络:从完整模型中随机抽样的元素,以大小为标准,匹配“良好”子网;
  • “坏”子网:修剪后没有“存活”下来的元素,整合从剩余元素中采样的一些元素。从而找到好子网络的“尺寸”。

在所有三种设置中,测量修剪后的子网的性能,以及在掩码模型其余部分的情况下重新调整相同子网的性能。

再一次强调,彩票假说的是:当重新微调时,“好”的子网应该能够达到完整模型达到的性能。

我们确实发现m-pruning的情况就是这样:修剪和重新微调的“良好”子网在8/9 GLue任务中达到完整的模型性能。注意:WNLI除外,因为在WNLI中,模型通常无法学习。虽然“随机”和“坏”子网络在重新调整时表现不错,但总体效果,“坏”子网络始终比“随机”子网络差。

然而,对于s—修剪的子网来说,却呈出了不一样的趋势。对于大多数任务,经过s修剪的子网络并不完全达到完整模型的性能。准确而言,差异在2个点以内。然而,“随机”的子网络几乎可以和“好的”子网络一样被重新训练,这与大多数人的重要性得分低的观察结果是一致的。另一方面,因为是在GLUE数据集上进行评估,所以“坏的”子网可能选择了最差的BERT元素。此外,在可训练性方面,它们与biLSTM+GloVe GLUE 基准相当。

因此,我们从中得到的启示是:s—修剪并没有丢失什么。虽然没有达到完整模型的性能,但对于大多数任务而言,完整模型的随机子集所表现出的性能几乎与根据重要性分数所选择的子网络一样好。

这会出现两种情况:要么大多数BERT组件是冗余的(在这种情况下,大多数随机子集仍然包含非常多信息),要么不同组件的信息内容确实存在差异(重要性分数对它们不够敏感)。

5

这些“好”的子网在语言上有多大的信息量?

在具体实验中,特别考虑了“超级幸存者”。我们所考虑的是,如果BERT子网的成功归功于它们所编码的语言知识,那么“超级幸存者”应该包含更多的语言知识。毕竟,这些幸存者是在5个随机种子上进行s-修剪后幸存下来的BERT组件。

我们把重点放在自我注意的头上,因为这一直是众多BERTology研究的焦点,有非常多的研究表明,它们编码的是特定语言知识,在一定程度上,这意味着可解释性。我们没有检测BERT头的潜在功能,而是选择直接分析它们的注意模式。注意力模式有5种类型,如下图所示:

由于“异质”是唯一在编码语言上,能够可解释关系的模式,因此自我注意头与这类模式的比率为可解释模式提供了一个上限。

随后我们在400张自我注意图的人工标注集上训练了CNN分类器。训练的时候,考虑了权重归一化注意图,这应该会减少对特殊标记的关注,为此,我们对600多个注意图样本进行了注释。

我们还考虑了权重归一化注意图(Kobayashi et al.。2020),这应该会减少对特殊标记的关注,为此,我们对600多个关注图样本进行了注释。然后,我们对每个GLUE任务中的100个样本进行编码,为每个BERT头生成注意力图,并使用训练好的分类器估计每种类型的模式数量。结果是:在带注释的数据上,对于原始注意图,分类器的f1为0.81,对于权重归一图(weight-normed maps),分类器的f1为0.74。

根据结果,我们观察:对于原始注意图,“超级幸存者”头有更多的块状模式(block)和垂直+对角模式(vertical+diagonal),异质模式的数量并没有增加。

在权重归一条件下,对角模式的比例下降。但对于大多数任务,超级幸存者仍然有30%-40%的对角模式。

在这种情况下,两个检测任务(MRPC和QQP)的垂直注意模式数量明显增加,这背后意味着对SEP、CLS和标点符号的注意。

总体而言,“超级幸存者”似乎并不主要由潜在的有意义的自我注意模式组成。这一结果与之前做“重活”(heavy lifting)的自我注意模式的研究形成了鲜明对比。但是,这两项研究探索了不同的架构,它们依赖于不同的方法修剪和解释自我注意头。

6

结论

以上研究证明了彩票假设:“好”的子网可以再训练以达到完整的模型性能。结构化修剪得出的结论是:使用这种修剪方法得到的大部分子网,都会产生类似于好的、随机的和坏的网络的性能,而且它们都不能完全达到原始网络的性能。因此,可以说,有了结构化的修剪,BERT就不会“输”技巧,虽然也没有完全“赢”。

实验还表明,BERT的高性能似乎并不是来自于特定的语言知识,这些语言知识被独特地编码在BERT特定组件(自注意力头和MLPs)的预训练权重中。否则,"好 "子网络会在随机种子中保持稳定。它们在GLUE任务中也不稳定,同类型任务的 "好 "子网络不一定有更多的共同点。最后,即使是存活最稳定的自注意力头,也并不是以潜在可解释的自注意力模式为主。

因此,对于BERT为何能达到如此高的性能,我们的疑问仍然多于答案。但LSTM的结果表明,语言任务的表现可以受益于非语言的预训练。

参考链接:

https://thegradient.pub/when-bert-plays-the-lottery-all-tickets-are-winning/

[赠书福利]

AI科技评论本次联合【博文视点】为大家带来15本“《labuladong 的算法小抄》”正版新书。

在1月1日头条文章《 我多篇顶会论文在手,面试AI算法岗时竟然还要刷算法题? | 元旦送书福利》 留言区 畅所欲言,谈一谈你刷算法的故事,或你对2020的总结或者是对2021年的规划和心愿,甚至可以是新的一年对AI科技评论的建议和期待,有哪些喜欢看的报道,还希望看到什么样的报道?

AI 科技评论将会在留言区选出 15名读者,每人送出《labuladong 的算法小抄》一本。

活动规则:

2. 留言内容会有筛选,例如“选我上去”等内容将不会被筛选,亦不会中奖。

3. 本活动时间为2021年1月1日 - 2020年1月7日(23:00),活动推送内仅允许中奖一次。