benchmark项目地址:https://github.com/google-research/long-range-arena论文地址:https://arxiv。org/pdf/2011.04006.pdfTransformer在多种模态(语言、图像、蛋白质序列)上都取得了SOTA的结果,但是它有一个缺点:self-attention机制的二次复杂度限制了它在长序列领域的应用。目前,研究人员提出了大量高效的Transformer模型(“xformers”)试图解决这一问题。它们中的许多表现出与原始Transformer相当的性能,同时有效地降低了自注意力机制的内存复杂度。来自谷歌和DeepMind的研究人员对比了这些论文的评估??和实验设置,得到了以下发现:首先,高效的Transformer缺乏统一的基准测试,使用的任务类型也多种多样:每个模型在不同的任务和在数据集上进行评估。其次,用于评估的基准通常是任意选择的,没有充分考虑任务对长期建模评估的适用性。第三,很多论文混淆了归纳偏差的效果和预训练的优势,这会掩盖模型的真正价值:预训练本身是计算密集型的,将归纳偏差与预训练分开可以降低xformer研究的成本.临界点。因此,谷歌和DeepMind的研究人员提出了一个新的基准Long-RangeArena(LRA)来对长上下文场景中的序列模型进行基准测试。该基准测试包括合成任务和现实世界任务,研究人员在这些任务上比较了最近提出的十个高效Transformer模型,包括SparseTransformer、Reformer、Linformer、Longformer、SinkhornTransformer、Performer、Synthesizer、LinearTransformer和BigBird模型。该基准测试侧重于模型在长上下文场景中的能力,尽管研究人员也对xformer架构在不同数据类型和条件下的能力感兴趣。因此,该基准测试选择具有特定先验结构的数据集和任务。例如,这些架构能否对分层结构的长序列或包含某种形式的空间结构的长序列进行建模?这些任务的序列长度从1K到16K不等,还包括大量数据类型和模态,例如文本、自然图像、合成图像以及需要相似性、结构和视觉空间推理的数学表达式。该基准主要针对高效的Transformers,但也可用作建模长序列的基准。除了比较模型质量外,该研究还进行了广泛的效率和内存使用分析。研究人员认为,并行性能基准测试对社区有益且有价值,可以深入了解这些方法的实际效率。总之,本研究提出了一个统一的框架,既可以对高效的Transformer模型进行简单的并排比较分析,也可以对长序列模型进行基准测试。该框架是使用JAX/FLAX1编写的。EfficientTransformerEvaluationNewBenchmark:Long-RangeArena(LRA)BenchmarkRequirements在创建LRAbenchmark之前,研究人员首先列出了一些要求:1.普适性:适用于所有高效Transformer模型。例如,并非所有xformer模型都可以执行自回归解码,因此该基准测试中的任务只需要编码。2.简单性:任务设置应该简单,去除所有使模型比较复杂化的因素,这可以鼓励简单的模型而不是繁琐的流水线方法。3.具有挑战性:当前模型的任务应该是困难的,以确保未来在这个方向的研究有足够的空间。4.长输入:输入序列长度应该足够长,因为评估不同模型如何捕获长程依赖性是LRA基准测试的核心关注点。5.探索不同方面的能力:任务集应该评估模型的不同能力,例如建模关系和层次/空间结构,泛化能力等。6.非资源密集型和易于使用:基准应该是轻量级的对于没有工业级计算资源的研究人员来说也很容易使用。任务LRA基准测试包含多个任务,旨在评估高效Transformer模型的不同功能。具体来说,这些任务包括:LongListOps、位级文本分类、位级文档检索、基于像素序列的图像分类、Pathfinder(长程空间依赖)、Pathfinder-X(极端长度的长程空间依赖)).LRA基准测试的主要目标之一是评估高效的Transformer模型捕获远程依赖项的能力。为了量化注意力机制在对输入进行编码时需要考虑的空间范围,该研究提出了“所需的注意力跨度”。给定一个注意力模型和一个输入标记序列,注意力模块所需的注意力跨度是查询标记和参与标记之间的平均距离。图2总结了LRA基准中每个任务所需的注意力跨度,从中可以看出每个任务所需的注意力跨度都很高。这表明Transformer模型不仅仅涉及局部信息,在很多任务和数据集中,注意力机制通常需要结合附近位置的信息。实验量化结果实验结果表明,LRA中的所有任务都具有挑战性,不同xformer模型的性能存在一定程度的方差。具体结果见下表1:EfficiencyBenchmarks表2给出了xformer模型的效率基准测试结果:可以看出low-rank和kernel-based模型一般是最快的。总体上最快的模型是Performer,它在4k序列长度上比Transformer快5.7倍,其次是Linformer和LinearTransformer。最慢的模型是Reformer,它在4k序列长度时是Transformer的80%,在1k序列长度时是Transformer的一半。此外,研究人员还评估了这些模型的内存消耗。结果表明,内存使用最少的模型是Linformer,它在4k序列长度上每个TPU仅使用0.99GB,而原始Transformer使用每个TPU9.48GB,内存使用减少了约90%。总体结果:没有通用模型根据研究人员的分析,在所有LRA任务中具有最佳整体性能(最高LRA分数)的模型是BigBird。然而,BigBird并不是在每项任务上都表现最好,它只是在所有任务上都取得了不错的表现。Performer和LinearTransformer在某些任务上表现不错,但它们的平均分数被ListOps任务拖累了。下面的图3显示了模型性能、速度和内存占用之间的权衡。BigBird表现最好,但几乎和原来的Transformer一样快。虽然LocalAttention模型速度很快,但性能较低。在这些模型中,Performer、Linformer和LinearTransformer等基于内核的模型可以在速度和性能之间取得更好的权衡,同时具有合理的内存占用。
