Transformer升级之路:“复盘”长度外推技术
©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 月之暗面
研究方向 | NLP、神经网络
如今,距离第 7 篇文章刚好是一年多一点,在这一年间,开源社区关于长度外推的研究有了显著进展,笔者也逐渐有了一些自己的理解,比如其实这个问题远不像一开始想象那么简单,以往很多基于局部注意力的工作也不总是有效,这暗示着很多旧的分析工作并没触及问题的核心。
在这篇文章中,笔者尝试结合自己的发现和认识,去“复盘”一下主流的长度外推结果,并试图从中发现免训练长度外推的关键之处。
这样一来,不同长度的模型算的都是同一段 tokens 的指标,不同的只是输入的 Context 不一样,如果远程依赖得以有效保留,那么应该能做到 Context 越长,指标越好。
旋转位置
作为 RoPE 的提出者,笔者对 RoPE 的理解不见得一定比大家深刻,毕竟当时提出 RoPE 的初衷纯粹是好玩,当时的想法是有效就很不错了,能媲美 Learnable 的绝对位置编码就是非常好的消息了。所以,既然是“意料之外”,那么“作者本人也没多透彻的认识”这件事,也是“情理之中”了。
其实说白了,就是实测发现大部分情况下,前几个 Token 的注意力占比还是很重的,所以不能去掉,去掉注意力就全乱了。至于为什么很重,就看大家的想象力了。
另一种是有资源去做长文本微调,研究长度外推纯粹是为了得到一个更好的初始化模型,这种情况对模型修改带来的初始损失容忍度比较高,只要能够通过微调快速弥补回损失掉的效果即可,位置内插正好是属于此类方法。Meta 的论文显示,经过 PI 之后,仅需 1000 步左右的长文本训练,就可以得到一个行之有效的长文本模型,这比不做任何修改直接微调的训练效率高出很多。
无独有偶,月初 Arxiv 上提交了一篇论文《LLM Maybe LongLM: Self-Extend LLM Context Window Without Tuning》[7],其中提出了一种名为“Self-Extend”的免训练长度外推方法,它实际上就是在 Leaky ReRoPE 的基础上加了 Round 运算(四舍五入),使得每个相对位置都变回整数,进一步减轻相对位置的 OOD 问题。论文报告的效果也很好,这进一步肯定了 Leaky ReRoPE 的有效性。
这就是《YaRN: Efficient Context Window Extension of Large Language Models》[8] 一文所提出的免训练长度外推方案 “YaRN”,在笔者的测试中,它的外推效果非常好,只是略逊于 Leaky ReRoPE 和 ReRoPE。
相比 YaRN 本身,YaRN 的作者 Bowen Peng 的故事也许更加称得上“引人入胜”,他早前所提出的 NTK-RoPE [9] 是 RoPE 的第一个免训练的长度外推方案,本系列的两篇文章《Transformer升级之路:RoPE是一种β进制编码》和《Transformer升级之路:将β进制位置进行到底》都直接受启发于它。
还有一篇名为《CoCA: Fusing position embedding with Collinear Constrained Attention for fine-tuning free context window extending》[17] 的论文从另外的角度提出了一个解决办法:
总的来说,长度外推技术虽然有了长足的进展,但依然还是一件很神秘的事情。比如,推理阶段将 RoPE 换成 ReRoPE,就能体现出一定的长度外推效果,那么预训练阶段就换成 ReRoPE,是不是外推效果就更好?
在这篇文章中,笔者结合自己的学习经历,梳理了过去一年来关于长度外推的相关进展,主要简明地介绍了相关方法的特点和背后的思想,并试图将它们串联起来,希望本文能帮助大家更深入、更系统地了解长度外推这个课题。如果有什么错漏之处,也请读者提醒和指正。
参考文献
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
微信扫码关注该文公众号作者