1)背景问题:
基于 Transformer 的预训练语言模型,会限制长度,一般是512以内,因为二次复杂度的原因 O(N^2),无法应用于长序列
例如故事、科学文章和长文档。
2)现有方法:
高效的Transformer变体,但是,它们通常基于自定义实现,需要从头开始进行昂贵的预训练。
比如:
1.Reformer
2.Funnel-Transformer
3.Transformer-XL
4.RMT
5.Fastformer
6.Longformer-Encoder-Decoder(LED)(也需要进行预训练)
Longformer 的注意力机制是窗口局部上下文自注意力和最终任务激发的全局注意力的组合,该全局注意力编码关于任务的归纳偏差。Longformer底层的layer仅能获取到局部信息,越上层的layer能获取到的信息越多。感受野跨层增长。
LED,一种 Longformer 变体,它同时具有编码器和解码器 Transformer 堆栈,但它不是在编码器中完全自注意力,而是使用 Longformer 的高效局部+全局注意力模式。解码器对整个编码令牌和先前解码的位置使用完整的自注意力。我们将此模型称为Longformer-Encoder-Decoder
LED架构是通过local+global attention的encoder和full self-attention的decoder构成的;由于对LED的预训练过于昂贵,使用BART来初始化LED的参数,并在层数和隐藏层大小上保持相同的结构,唯一的区别是处理更长的序列,BART是1k tokens,这里是16k tokens;使用复制和重复BART位置嵌入矩阵的方式,初始化了新的位置嵌入矩阵,一共复制了16次,LED分为base和large,base是6层 ,large是12层;
3)作者提出了新的方法:
滑行的编码解码器 SLED: SLiding-Encoder and Decoder
优点:使得,可以使用短文本模型处理长序列,方法可以轻松应用于任何预训练的编码器-解码器 LM, 使得计算复杂度由O(N^2)减少为O(l * c * N)
基于一个假设(信息局部性假设):在encoder-decoder架构中,encoder可以有效地将具有局部上下文的输入token置于上下文背景中,而decoder处理长程依赖。
做法:
- 我们将输入划分为重叠的块
2.使用短文本 LM 编码器对每个块进行编码
3.并使用预训练的解码器来融合块之间的信息(解码器中的融合)
4)验证实验:
Efficacy of Fusion in Decoder 证明SLED可以检索和融合信息
实验1:验证FiD定位长文本中嵌入的短信息,而忽略不相关的信息。
数据:SQuAD 是一个问答数据集,给定问题-段落对,目标是生成答案(位于段落内)。从数据集中随机抽取 9 个其他段落,并将它们连接起来形成一个长文档。
设置:a)有序干扰项ordered:黄金段落是第一个,所有其他干扰项都连接在它后面。
b) 打乱干扰因素shuffled:随机打乱所有段落的顺序,以便答案可以位于输入文档中的任何位置。
主干模型:BART base
比较对象:1) 仅给出黄金段落而没有干扰段落的 oracle BART base
2) 仅给出前 1K个代币的 BART 基础和 LED, LED 将问题标记定义为全局标记,
3) LED L ,即不使用全局标记的本地 LED 模型
结果:图3a
结论:两种模型都学会了忽略分散注意力的信息并"大海捞针"。正如预期的那样,当段落被更改时,LED L 和 BART 的性能都会显着下降,因为黄金段落与问题的上下文无关。
实验2:验证 SLED 可以融合来自不同块的信息。
数据:HotpotQA,这是一个多跳问答数据集,问题依赖于两条信息(位于不同的段落中)。虽然在原始设置中,HotpotQA 中的每个输入都有两个黄金段落和 8 个干扰段落,但我们在实验中仅包含两个黄金段落。为了确保SLED 和 LED 将相关的两条信息编码在单独的块中,我们将块大小设置为 c = 128。
设置:a)有序干扰项ordered:黄金段落是第一个,所有其他干扰项都连接在它后面。
b) 打乱干扰因素shuffled:随机打乱所有段落的顺序,以便答案可以位于输入文档中的任何位置。
主干模型:BART base
比较对象:1) 仅给出黄金段落而没有干扰段落的 oracle BART base
2) 仅给出前 1K个代币的 BART 基础和 LED, LED 将问题标记定义为全局标记
3) LED L ,即不使用全局标记的本地 LED 模型
同时评估:we also evaluate a BART model that is given the second passage only.
结果:图4a
结论:SLED 解码器确实可以有效地融合来自两个单独编码块的信息,达到 76.5 的 F 1 ,略低于 78.6 的预言机 F1 。SLED 的性能大大优于BART 模型(仅用第二段),这表明信息已被解码器融合。LED 的性能略优于SLED,但当拒绝访问全局tokens (LED L )时,其性能急剧下降。这表明深 LED 层的大感受野不足以实现信息融合,问题和文本之间的交互对于解码器至关重要。
5)消融实验:
实验3:局部情境化的重要性
设置:c = 1 的块大小对 SLED 进行 finetune
结果:图3b, 图4b
结论:删除局部情境化会导致性能不佳,这说明了局部情境化的重要性
实验4:编码器使用前置前缀的必要性
设置:将前缀视为另一个块,并且不会将其添加到文档块的前面
结果:图3b, 图4b
结论:表明编码期间需要前缀。LED L 在shuffled时表现出显着下降,显示了 LED 中增加的感受野的可能有效性,但前提是金色段落相对靠近前缀。
实验5:解码器是否需要直接访问前缀,或者是否可以注入来自前缀的相关信息进入块表示
设置:对 SLED 进行 finetune,但从提供给解码器的最终表示中删除前缀 x 标记
结果:图3b, 图4b
结论:为解码器提供前缀表示几乎没有什么区别,这表明编码器确实可以注入重要的信息
6)评估实验:
在 SCROLLS(Shaham 等人,2022)上评估 SLED
实验数据集:SCROLLS
SCROLLS 包含七个数据集,涵盖三种不同的语言理解任务:
1.总结:GovReport, SummScreenFD, QMSum
2.问答:Qasper, NarrativeQA, QuALITY
3.自然语言推理:ContractNLI
指标:
GovRep SumScr QMSum Qspr Nrtv QALT CNLI
ROUGE-1/2/L ROUGE-1/2/L ROUGE-1/2/L F1 F1 EM EM(exact_match)
结果: 图 1:将现有的预训练 LM 插入 SLED框架可显着提高其 SCROLLS 分数(箭头从蓝色圆圈到橙色星星)
图 5:改变了定义注意力窗口的块大小 c,并测量了对输入长度 16K 的 SCROLLS 数据集的影响
图 6: 改变最大文档长度 n ,来分析 SCROLLS 中的任务是否确实需要整个文档
表 1:SCROLLS 基准测试的主要结果
表 2:可以通过调整超参数 \rho 以获得最佳行为来提高 SLED 的效率和性能
7)结论:
本文提出了 SLED,证明 SLED 可以执行对于长文本理解很重要的核心操作,并在 SCROLLS 基准上展示与较大模型和采用该模型的模型相比的竞争性能。省去专门且昂贵的预训练步骤。可以轻松地与任何短程预训练的 LM 一起使用。
8)局限性:
1.Long output
长输出:为了获得线性复杂度,SLED假设输出长度k是常数。这是因为解码器在输出和输入之间的O(nk)交叉注意之上,对输出使用二次自注意。虽然目前大多数长文本任务都遵循这一假设,但未来的任务,如学术报告或脚本编写,可能需要生成长文本。
2.Co-reference resolution and fact retention
SLED的核心假设是信息假设的局部性。当输入文本很长时,如果需要遥远的实体分辨率或事实知识,这种假设可能会被打破。例如,一本书中的一章可能会提到“他们正在走进房间”,而关于哪个房间或谁走的知识在几章后就可以找到了。在这种情况下,SLED使用的编码器将无法访问此信息,从而将更多的责任转移到解码器,并降低上下文编码的有效性。
LED 和 SLED比较(附录B):
1.LED 和 SLED 都是建立在同一短文本模型(BART) 之上的远程模型,并采用本地注意力。然而,SLED 依赖于分块,而 LED 使用每层局部注意力。
2.SLED 的最大优势之一是它与主干编码器-解码器模型无关,并且可以扩展任何现有模型,而无需额外的实现开销。具有与 BART 的架构和实现耦合的专用 CUDA 内核,这使得 LED 更加高效,但将其扩展到新架构会产生大量工程开销。
3.LED 和 SLED 之间最显着的区别在于它们的情境化机制。SLED 将输入分成(重叠)块并独立编码每个块,而 LED 每层执行局部注意力。这会产生一个随着编码器深度线性增长的有效感受野,从而有可能使其执行更多的"全局"语境化。
4.位置信息 SLED 的分块机制意味着它在每个块中独立地利用底层模型的位置编码,因此与主干模型使用的位置嵌入技术无关。此外,它还可能允许 SLED 泛化到任意输入长度。相比之下,LED 利用 BART 的绝对嵌入,将其复制 16 次以支持 16K 长的序列。这限制了它泛化到更长输入的能力,并可能导致需要大量的长输入样本来正确调整这些新参数(Shaham 等人,2022)。在训练数据较小的所有其他数据集中,LED 明显比 SLED差。
5.由于 SLED 在每个块内使用重叠和完全自注意力,因此当 \rho = 0.5 时,与 LED 相比,SLED 的编码可能需要多 2 倍的内存
里写自定义目录标题)