超长上下文处理:基于Transformer上下文处理常见方法梳理

原文链接:芝士AI吃鱼

目前已经采用多种方法来增加Transformer的上下文长度,主要侧重于缓解注意力计算的二次复杂度。

例如,Transformer-XL通过缓存先前的上下文,并允许随着层数的增加线性扩展上下文。Longformer采用了一种注意力机制,使得token稀疏地关注远距离的token,从而降低计算复杂度。BigBird和LongT5也利用稀疏注意力机制来处理长序列。Hourglass通过对中间层的激活单元进行下采样,以减少计算量并实现更长的上下文。COLT5提出了条件计算的方法,以节省内存并实现更大的上下文。Memorizing Transformer使用k近邻查找来选择最相关的token,这也可以看作是减少注意力计算复杂度的一种方式。

我们的工作遵循了Memorizing Transformer的方法,旨在训练一个能够处理更长注意力上下文长度的模型(例如,通过缓解分心问题),从而具有更好的长上下文处理能力。

针对更长的上下文微调LLM。之前的工作,如RETRO和Memorizing Transformer,已经展示了一条有前途的道路,可以在不需要重新训练整个模型的情况下微调现有的LLM以添加新的功能。

最近,一些工作已经探索了通过微调LLaMA来增加其上下文长度。Landmark attention提出了一种将LLM的上下文压缩成landmarks的压缩方案,将LLaMA-7B的上下文长度增加到32K。

位置插值引入了对旋转位置编码方案的修改,使其能够微调32K上下文。与这项工作相比,我们的方法不依赖于位置编码,通过在内存中删除位置编码使我们能够推广到256k个token,尽管该模型只在长度为8K的序列上进行了训练,但依然产生了理论上无限的上下文长度。

对比学习。对比学习旨在通过比较正负样本来学习得到更好的表征。CLIP和SimCLR是两种在图像领域取得最先进性能的流行对比学习方法。

在对比预训练期间,负样本被保留在同一批次中,通过学习将它们与正样本区分开。在对比学习中扩展批次大小已被证明可以提高表征的质量,而且一些研究人员也发现语言建模过程中的嵌入空间很容易遭受退化,其中嵌入会被紧密地压缩在一个狭窄的锥体中,使得难以区分它们。TRIME提出了一种训练方法,旨在训练具有记忆增强功能的语言模型,它使用batch内的负样本来提高表征的质量。

注意力集中的Transformer(Focused Transformer,FoT)是Transformer模型的一个简单的即插即用扩展,既可以用于训练新模型,也可以用于微调现有的具有更长上下文的大模型。为此,FoT使用记忆注意力网络(memory attention layers)和跨批次训练。如图2所示,记忆注意力网络使模型能够在推理时从外部内存中检索信息,有效地扩展了上下文。跨批次训练过程使模型倾向于学习key-value的表征,这些表征可以很容易被记忆注意力网络使用。

超长上下文处理:基于Transformer上下文处理常见方法梳理_第1张图片

超长上下文处理:基于Transformer上下文处理常见方法梳理_第2张图片

超长上下文处理:基于Transformer上下文处理常见方法梳理_第3张图片

你可能感兴趣的:(transformer,深度学习,人工智能)