Transformer升级之路:长度外推性与局部注意力

本文分析Transformer模型的长度外推性,探讨位置编码对模型性能的影响。研究发现,单纯优化位置编码并不能显著提高长度外推性。作者提出一个超强基线方案,通过局部注意力机制解决训练与预测长度不一致的问题,该方法在不需额外训练的情况下,取得接近SOTA的效果。文章还介绍了相关研究工作,强调了局部注意力在长度外推性中的关键作用。
摘要由CSDN通过智能技术生成

63c11ce99144705a0b45060e7c232249.gif

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 追一科技

研究方向 | NLP、神经网络

对于 Transformer 模型来说,其长度的外推性是我们一直在追求的良好性质,它是指我们在短序列上训练的模型,能否不用微调地用到长序列上并依然保持不错的效果。之所以追求长度外推性,一方面是理论的完备性,觉得这是一个理想模型应当具备的性质,另一方面也是训练的实用性,允许我们以较低成本(在较短序列上)训练出一个长序列可用的模型。

下面我们来分析一下加强 Transformer 长度外推性的关键思路,并由此给出一个“超强基线”方案,然后我们带着这个“超强基线”来分析一些相关的研究工作。

3e9b8ec0b1d67eaa55f99c2e5e406018.png

思维误区

第一篇明确研究 Transformer 长度外推性的工作应该是 ALIBI [1],出自 2021 年中期,距今也不算太久。为什么这么晚(相比 Transformer 首次发表的 2017 年)才有人专门做这个课题呢?估计是因为我们长期以来,都想当然地认为 Transformer 的长度外推性是位置编码的问题,找到更好的位置编码就行了。

事实上,通过对比现有的一些位置编码的外推效果,确实能找到支撑该观点的一些论据。比如后面分享的多篇实验效果显示,相对位置编码的长度外推性,平均好于绝对位置编码的;像 RoPE 这样的函数式相对位置编码,又会比训练式相对位置编码的外推效果好些。

所以看上去,似乎只要我们不断优化位置编码形式,最终就能给 Transformer 提供更好的长度外推性,从而解决这个问题。然而,情况没有那么乐观,像 RoPE 算是外推能力较好的位置编码,也只能外推 10% 到 20% 左右的长度而保持效果不变差,再长效果就会骤降。

这个比例与预期差太远了,设想中好歹能外推个几倍长度才算是有价值的外推,所以不难想象,单靠改进位置编码改进 Transformer 的长度外推性,就不知道要等多久才能实现更长的效果了。

在直觉上,相信很多读者觉得像 SinusoidalRoPE 之类的函数式位置编码,它们没有训练参数,长度外推性应该很好才对,但事实上并非如此,这类位置编码并没有在长度外推方面表现出什么优势。为什么会这样呢?其实是大家在假设函数式位置编码的外推性时,忘了它的基本前提——“光滑性”。

其实,外推性就是局部推断整体,对此我们应该并不陌生,泰勒级数近似就是经典的例子,它只需要知道函数某点处若干阶导数的值,就可以对一个邻域内的值做有效估计,它依赖的就是给定函数的高阶光滑性(高阶导数存在且有界)。但是 SinusoidalRoPE 是这种函数吗?

并不是。它们是一系列正余弦函数的组合,其相位函数是 ,当 时,函数近似就是 ,这算是关于位置编码 的高频振荡函数了,而不是直线或者渐近趋于直线之类的函数,所以基于它的模型往往外推行为难以预估。能否设计不振荡的位置编码?

很难,位置编码函数如果不振荡,那么往往缺乏足够的容量去编码足够多的位置信息,也就是某种意义上来说,位置编码函数的复杂性本身也是编码位置的要求。

f0a5df0dc400e0df50f4bd5e6fedf1e1.png

超强基线

事实上,更准确的定位应该是:

长度外推性是一个训练和预测的长度不一致的问题。

具体来说,不一致的地方有两点:

1.

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值