What Does BERT Look at? An Analysis of BERT's Attention

下载 PDF

What Does BERT Look at? An Analysis of BERT's Attention - 中文验证版

英文原文卡片:bertology_2019.md

状态:已翻译。

元数据

  • Slug: bertology_2019
  • 年份: 2019
  • 会议: ACL Workshop
  • 作者: Kevin Clark, Urvashi Khandelwal, Omer Levy, Christopher D. Manning
  • 阅读状态: read complete
  • 计算范式: TPU、加速器与 Transformer 时代
  • 主要来源: PDF抽取文本

计算设置

论文在抽取文本中未给出分析硬件。它研究了一个预训练的英文 BERT-base 模型,而非新的预训练运行。相关的来源声明的规模是模型和分析规模:BERT-base 有 12 层和每层 12 个注意力头,共 144 个头;它在原始 BERT 设置中在 3.3B 英文 tokens 上预训练;本文抽取注意力图而非训练 BERT 本身。

对于表面级注意力分析,作者从 1,000 个随机 Wikipedia 片段上抽取 BERT-base 的注意力图。他们遵循 BERT 预训练输入格式,最多使用来自两个连续段落的 128 个 tokens,格式为 [CLS]<paragraph-1>[SEP]<paragraph-2>[SEP]。对于句法和指代消解探针,他们使用固定的 BERT 注意力图,仅训练小的探针分类器。论文明确说 BERT 注意力输出是固定的,且他们不向 BERT 反向传播。根据项目规则,硬件推断为 2019 年 CPU/GPU/加速器上对已下载预训练模型的前向传播分析,而非 TPU 规模的预训练。

瓶颈

瓶颈不是原始训练成本,而是已经昂贵的预训练 Transformer 的可解释性。BERT 的注意力张量是高维的:每个输入片段为 144 个头产生 token-token 映射。由于自注意力在序列长度上是二次的,即使是分析代码也必须选择可管理的序列长度和数据集。论文将 CoNLL-2012 文档截断为 128 个 tokens 以保持内存使用可控。

计算结构也塑造了论文能够进行的科学研究类型。完整的消融或重新训练会将分析与大规模优化运行纠缠在一起。相反,作者将 BERT 视为一个固定对象,将注意力图转换为特征,并询问已经存在什么结构。这将大模型分析转化为重复的前向传播加轻量级监督探针。

方法适配

该方法刻意保持低更新量和以注意力为中心。首先,它从一个固定的预训练模型中抽取注意力图。其次,因为 BERT 使用子词分词,且其数据中约 8% 的单词被拆分,它将 token-token 注意力转换为 word-word 注意力:对拆分单词的注意力求和,对来自拆分单词的注意力取平均。这保留了出站注意力在词级别总和为 1 的性质。

对于单头探针,该方法使用注意力本身作为无训练分类器:对于一个单词和一个头,预测获得最多注意力的任何其他单词,同时测试 head-to-dependent 和 dependent-to-head 两种方向以进行依存分析。对于组合探针,它在注意力权重上训练小的基于图的解析器,可选地将头权重以固定的 GloVe embeddings 为条件。关键的计算适配是只有探针参数被学习;昂贵的 BERT 模型保持冻结。

该分析还利用了 BERT 的输入格式。由于 [CLS][SEP] 始终存在,作者可以检查对这些 tokens 的注意力量是否作为一种计算汇(computational sink)或“无操作”路径,用于那些功能不适用于某个 token 的头。使用基于梯度的特征重要性检查来观察对 [SEP] 的注意力是否影响 masked-LM 输出。

证据

表层分析发现特殊 tokens 主导了许多头。在第 6-10 层中,BERT 超过一半的注意力集中在 [SEP] 上;对于约 128 个 tokens 的片段,在均匀基线下一个出现两次的 token 会获得约 1/64 的注意力。当 [SEP] 是当前 token 时,一些头将超过 90% 的注意力分配给 [SEP] tokens。大约从第 5 层开始,masked-LM 损失相对于对 [SEP] 的注意力的梯度变得非常小,支持了模型可以将 [SEP] 用作低影响注意力目标的解释。

位置分析发现了一些强烈关注邻近 tokens 的头。第 2、4、7 和 8 层的四个头平均将超过 50% 的注意力放在前一个 token 上;第 1、2、2、3 和 6 层的五个头将超过 50% 的注意力放在后一个 token 上。

语言学探针给出了具体的分数。个别头以高准确率识别某些依存关系:头 8-10 在直接宾语上达到 86.8%,头 8-11 在限定词上达到 94.3%,头 7-6 在所有格上达到 80.5%,头 4-10 在被动助动词上达到 82.5%,头 9-6 在介词宾语上达到 76.3%。然而,总体句法的最佳单头仅获得 34.5 UAS,而右分支基线为 26.3,因此句法信息是分布在多个头之间的。

指代消解显示出类似的模式。头 5-4 在截断的 CoNLL-2012 示例上达到 65% 的先行词选择准确率,高于 52% 的 head-match 基线,接近 69% 的基于规则的系统,尽管低于约 83% 报告的神经指代消解系统。注意力加 GloVe 的依存探针达到 77 UAS,相比之下仅注意力为 61,距离加 GloVe 为 58,随机初始化注意力加 GloVe 为 30,右分支为 26。

历史影响

本文帮助定义了“BERTology”——一种研究大型预训练模型的轻量计算模式。它不是仅仅将 BERT 视为一个基准分数,而是将冻结的注意力图作为一个经验对象。这在历史上很重要,因为该领域正进入预训练成本足够高昂的时代,许多研究者分析、探针和复用模型要比从头训练它们容易得多。

局限

论文本身警告不要将注意力等同于解释。一些头具有可解释的行为,但许多头没有,且个别头并不捕获完整的依存结构。该分析针对英文 BERT-base 和 128-token 输入,因此未确立在更大模型、更长上下文、其他语言或微调后任务头上的行为。硬件未给出,本论文不应被引用为关于 BERT 预训练计算的证据。

链接