©PaperWeekly 原创 · 作者 | 苏剑林
万万没想到,Bias 项能跟 Transformer 的长度外推性联系在一起!那么,这两个看上去“风牛马不相及”的东西,究竟是怎么联系起来的呢?Bias 项真的可以增强 Transformer 的长度外推性?且听笔者慢慢道来。
首先,为什么会想到考察 Bias 项和长度外推性的联系呢?这是因为笔者前几天在重温 GAU 的论文《Transformer Quality in Linear Time》[2] 时,发现了之前没有在意的一个“隐藏彩蛋”——加性相对位置编码,其伪代码为:其中 是 RoPE 的旋转矩阵, 是两个可学习参数。这个加性相对位置编码其实之前也留意到了,但当时的评价只是“不理解为什么同时用几种位置编码”,而最近笔者一直在思考长度外推性问题,所以对这个形式就比较敏感了。所以笔者不禁猜测,难道原论文中的这个加性相对位置编码,就是用来增强长度外推性的?GAU 的作者竟然如此有先见之明,早在 Sandwich 之前就提出了类似的想法来解决长度外推性问题?不过,对于笔者来说,这种往 Attention 矩阵上额外加上一项来增强长度外推性的方案都显得不够优雅,所以不管原作者意图如何以及实际效果如何,笔者都不倾向这样做。有什么类似的但几乎“无感”的方案呢?笔者考虑到,如果 、 分别是 的 Bias 项,或许可以起到类似的效果,即考虑很明显,单纯增加一个 Bias 项,不管从形式上还是计算量上看都几乎是“无感”的,如果这样就能增强长度外推性,无疑是一个很漂亮的方案。是否可行呢?我们先来看展开后的结果:其中第一项和第四项正好对应公式(1),它们都是我们想要的,所以我们想看看第二项和第三项起到什么作用,如果它们不会有什么明显的效应,那么直接加上 Bias 项的做法,至少是“有希望”能够取得跟式(1)或者 Sandwich 相似的外推效果。
笔者是这样想的:作为 Attention 的 Query 和 Key,、 应该是比较“各向同性”的,即它们的方向比较均匀,接近球面上均匀采样,而 只是一个正交变换,它不改变 、 的各向同性性质,那么 、 这两项,就相当于从各向同性分布采样出来的向量,跟一个固定向量的内积,根据我们在《n维空间下两个随机向量的夹角分布》[3] 中的讨论,这样的两个向量夹角应该是很接近 90 度的,换言之这个内积的期望应该是 0,所以第二项和第三项的效应理论上没有剩余两项那么强。当然,这仅仅是猜测,实际它会训练成怎样,只能通过实验来确定。所以事不宜迟,笔者立刻进行了实验。这次笔者选了语言模型任务进行实验,模型架构还是之前的 GAU-α,训练长度和 batch_size 都是 512,优化器是 Tiger,两个模型的唯一差别就是 Q、K 的 Bias 是否开启(其他 Bias 仍被去掉)。
可以看到,Bias 项确实不怎么影响训练效果(512长度),但却在长度外推性上面明显拉开了差距,看似毫无存在感的 Bias 项居然有此神奇作用!当然,要是重跑几次实验,外推性的结果可能会有明显的波动,毕竟长度外推性属于“赠送功能”,并不是我们主动触发的。
为了验证剩下生效机制是否如我们猜测,笔者可视化了式(3)的四项在某个样本某一层的变化规律:
▲ 加上Bias后四项内积对比
可以看到,第 4 项确确实实呈现衰减趋势,并且其大小占据了主导地位,将这四项叠加起来,与没有加 Bias 的模型对比如下:很明显,跟前面的猜测一致,带有 Bias 项的模型的注意力矩阵呈现更明显的衰减趋势,换言之它的局部化效应更加强,从而有更好的外推性能。需要指出的是,加上 Bias 的模型并不是每一层的 Attention 都有这么明显的衰减趋势,总体来说前面的层衰减趋势更明显些,后面的层衰减趋势更弱些,说明越靠近输入的层越关注局部信息,这跟《The Devil in Linear Transformer》[4] 的结论一致。这时候问题就来了:之前做长度外推性的工作不是都验证了 RoPE 的外推性不大好了吗?难道它们都没加 Bias?为此,笔者特意去考证了一下,果然”不出所料”:“开山之作”ALIBI 和最近的 XPOS 都是没有加 Bias 项的,而 KERPLE 和 Sandwich 则是加了 Bias 项的。
之前笔者在读论文的时候,就一直感觉 KERPLE 和 Sandwich 中的 RoPE 外推效果似乎比 ALIBI 和 XPOS 中的好,现在可以肯定这应该不是错觉了,既然 KERPLE 和 Sandwich 都加了Bias,那么根据本文的结论,RoPE 是可能呈现出更好的长度外推性的。
可能有读者想起,之前不是说 Attention 的 Key 的 Bias 可以去掉吗?难道这里也可以去掉?关于这个问题,可以参考知乎的提问《为什么有的 Vision Transformer 中的 key 不需要 bias ?》[5],事实上,“可以去掉 Key 的 Bias”这个结论,是针对没有 RoPE 的 Attention 的,由于 Softmax 的存在,加上的 bias 可以约掉:然而,这个“可以约掉”依赖于 跟 无关,但从式(3)我们就知道,经过 RoPE 后, 也算是 的函数了,实际上是无法约掉的,因此对于加了 RoPE 的模型,Bias 项去掉前后会有不一样的效果。还有一个问题,就是为什么要费力探索长度外推性呢?直接在更长的样本下微调模型不行吗?事实上,即便是对于抱有这样想法的读者,长度外推性也是有好处的。抛开算力不说,更好的长度外推性意味着在微调的时候与预训练差距更小,于是微调更不容易发生灾难性遗忘,这对于当前的 LLM 更为重要了。当然,还可以发散一下,最理想的结果是:在短文本学习的模型,能够切换到长文本场景而无损效果甚至效果更优。本文分享了笔者发现的一个“万万没想到”的有趣结论:Bias 项能增强 RoPE 模型的长度外推性!看上去毫无存在感的 Bias 项,居然能跟 Transformer 的长度外推性联系在一起,让人不得不感叹细节的重要性——细枝末节有时候也能发挥关键作用。
[1] https://arxiv.org/abs/2204.02311
[2] https://arxiv.org/abs/2202.10447
[3] https://kexue.fm/archives/7076
[4] https://arxiv.org/abs/2210.10340
[5] https://www.zhihu.com/question/506218961
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧