长文本摘要模型BART-LS
代码:https://github.com/facebookresearch/bart_ls
论文:https://arxiv.org/abs/2209.10052
我们的主要发现总结如下:
1)在全局令牌和滑动窗口关注等长期机制中,我们发现简单的池增强块attention是各种任务的最有效选择。
2)对于预训练语料库,我们惊讶地发现,使用来自大型开放域语料库(CommonCrawl)的随机连接的文档比使用现有的长文档语料库(如图书收藏)表现更好。
3)我们对各种预训练目标进行了实验,包括标准掩模跨度预测(rafael等人,2020)、主要句子预测(Zhang等人,2020)和一种新的基于模型的跨度预测目标。虽然我们发现所有这些目标都可以比未在长文本上预训练的模型带来收益,但我们认为掩码跨度预测目标(使用短跨度和长跨度)仍然是最佳选择,这要归功于它在短输出和长输出任务上的简单性和平衡的有效性。
对于长句子的有效模型
模型基于encoder侧具有块稀疏自注意力的标准transformers。各种新架构已经提出,但我们坚持简单的架构,原因如下:
- 可以很容易使用现有的预训练pipeline,它们通常是针对普通transformers进行高度优化的,比如学习率、归一化层、优化器
- 使用局部attention,每个token仅关注局部上下文的tokens,允许我们的模型重用现有的预训练模型的所有模型参数,而其他注意力变量使用不同的参数化,禁止继承现有的预训练模型的权重
除了块注意力,我们研究了三种机制,使得可以在encoder层long-range的连接。
-
全局token机制:先前的工作已经提出使用一小组全局token增加块稀疏attention关注整个序列,从而使得在encoder实现长范围的交互。具体而言,我们将每个注意力块的中的前64个token标记为全局token,并共享全局token和常规token的投影矩阵,该机制已被证明在仅编码器的模型中是有效的。
-
跨步(重叠)注意力窗口:具有重叠的滑动注意力是在局部注意力模型中引入长范围交互的一种简单方法。当我们在encoder层多层堆叠时,每个token的感受野将呈指数级增加。例如,(Beltagy等人,2020)使用一个token的步幅,并且每个token处理来自双方的相等数量的token。我们开发了一个更简单、更快的分块版本,使并行化更容易实现;即,每个块中的toekn将关注块内的所有token,以及来自其紧邻的左块和右块的一半token。
-
池化层:最近的工作(Zhang等人,2021;Pang等人,2022a)探索了使用池化操作减少transformers中key和value状态的数量。我们实现了一个更简单的版本,仅需要标准的池化操作。被增强的池化操作的attention层如图一所示。具体来说,在transformers的encoder层的前n层中,我们添加了第二个注意力模块,该模块把第\(i\)个块自注意力层\(X_{i}∈R^{L×h}\)的隐状态输出作为输入,\(L\)是句子长度,\(h\)是隐状态大小。与普通注意力层一样,\(X_{i}\)首先被投影来创建key、query、value矩阵\(Q^{p}_{i}、K^{p}_{i}、V^{p}_{i}∈R^{L×h}\),我们首先用一个固定的kernel/stride大小平均池化\(K^{p}_{i}、V^{p}_{i}\)序列,使之成为\(\tilde{K_{i}^{p}}、\tilde{V_{i}^{p}}∈R^{\tilde{L}×h}\),其中\(\tilde{L}\ll L\)。然后我们使用\(Q^{p}_{i}、\tilde{K_{i}^{p}}、\tilde{V_{i}^{p}}\)作用在标准attention中,导致\(O(\tilde{L}×L)\)复杂度。池化层的输出与\(X_{i}\)相加,形成残差连接。

预训练目标
在长文档设置中,我们理想地寻求一个在模型中提高long-range推理能力的目标。我们研究了以下不同的预训练目标以及预训练过程中输入长度的影响:
-
T5跨度去噪:将BART的去噪目标应用于长序列在计算上是昂贵的,因为它需要重建整个输入,并且在decoder层引起了显著的计算开销。此外,重建整个输入将与大多数下游任务(如问答和摘要)不一致,这些任务需要生成更短的文本。因此,我们采用T5风格的去噪来预训练我们的模型,即,随机选择输入序列的一组跨度作为解码目标,并用特殊token标记它们,然后对模型进行训练,让模型生成未损坏的跨度(其实就是在句子中[MASK]一个窗口大小比如3的tokens,然后预测这些tokens)。这个训练任务很容易适用于长文档,因为我们可以控制跨度的长度和数量。随后对跨度的长度做了实验...
-
Pegasus——重要句子预测:最初在(Zhang et al,2020)中提出用于摘要预训练,最近由Guo et al(2022)用于长文档,该目标识别并屏蔽了一些重要的句子,即与文档其余部分具有高ROUGE分数的句子。然后对模型进行训练以生成这些句子。输出长度可以通过选择要屏蔽的句子的数量来控制。
-
基于模型的去噪:除了随机选择解码目标之外,我们还探索了一种新的基于模型的目标。在这里,我们使用单独的仅编码器模型(local attention)来为序列模型选择解码目标。这种方法的灵感来自ELECTRA(Clark等人,2020),我们希望仅编码器模型的预测loss能够很好地替代选择需要long-range依赖性来预测的跨度。具体来说,首先mask输入序列的大量tokens(5120tokens,而不是1024),然后用仅有encoder的language model来恢复被mask的spans。基于掩码语言模型的损失,我们只保留前20%的硬跨度来训练文本到文本模型。仅编码器模型可以被冻结,也可以与序列到序列模型一起训练。

浙公网安备 33010602011771号