ICML 2024 | 北大、字节提出新型双层位置编码方案,有效改善长度外推效果

1150d8441f3f9175f6bf954c0c475477.gif

在这项工作中,我们利用语言序列的内在分段特性,设计了一种新的位置编码方法来达到更好的长度外推效果,称为双层位置编码(BiPE)。对于每个位置,我们的 BiPE 融合了段内编码和段间编码。段内编码通过绝对位置编码标识段内位置,并帮助模型捕捉其中的语义信息。段间编码指定段索引,通过相对位置编码建模段间关系,旨在提高外推能力。

理论分析表明,这种位置信息的解耦使学习更加有效。实证结果也表明,我们的 BiPE 在各种文本模态的广泛任务中具有优越的长度外推能力。这一研究已被 ICML 2024 接收。

7d6fde1aaf6bc6cb4276cf4b9dfa6e4a.png

论文标题:

Two Stones Hit One Bird: Bilevel Positional Encoding for Better Length Extrapolation 

论文链接:

https://arxiv.org/abs/2401.16421

代码链接:

https://github.com/zhenyuhe00/BiPE

4e682ebbddded3e1c39bee99644bc4c4.png

研究背景

在许多场景中,文本可以有效地分解为模块化的段落,每个段落都表达一个自成一体的思想单元 [1]。在自然语言中,文档通常由句子组成。每个句子描述一个独特的想法或论点。在编程语言中,代码被组织成行或函数类,以定义连贯的操作或功能。在数学中,证明通过一系列演绎步骤展开,每一步代表从前面的步骤到最终答案的逻辑进展。

不同文本序列的长度可能有显著差异。有趣的是,我们实证观察到,对于不同长度的序列,每个模块段中的 token 数量分布通常是有界的,并且趋于大致相似。在图 1 中,我们使用了广泛使用的 PG-19 文本语料库进行可视化。显然,每个段落(即句子)中的 token 数量分布无论总序列长度如何,都保持了显著的一致性。相比之下,随着序列长度的增加,句子的数量呈线性增长。

71e379d095125cd9171f9dff431edc5b.png

▲ 图1

9a33393a490a14154100e7306cf4a091.png

方法

在本文中,我们介绍一种简单但有效的用于改善长度外推的定位编码方案:BiPE。与现有的长度外推方法不同,BiPE 为每个位置采用了两种不同的编码:段内编码和段间编码。

段内编码标识标记在其段内的位置。作为补充,段间编码指定其所属的段。以自然语言为例,同一句子中的不同词语共享相同的段间位置编码,但具有不同的段内编码。相反,不同句子中但占据相同段间位置的词语(例如,不同句子中的第一个 token)共享相同的段内编码,而具有不同的段间编码。请参见图 2 以获取示意图。

16b5d1729c022944afcc5ba57411f094.png

2875db195ba96a44cda24f6310a913a2.png

BiPE的理论分析

我们利用了在理论计算机科学领域广泛使用的(非确定性)有限自动机(NFA)。Alur [2] 等人提出了分层有限自动机,作为表示此类语言结构的实用方法。受该框架的启发,我们引入了一种简化模型——Bi-NFA,该模型将分层有限自动机的层级限制为两层。

我们比较了 Transformer 在表示 NFA 和 Bi-NFA 方面的参数效率,并展示了 BiPE 在现有位置编码方案上具有理论优势(理论细节敬请参考原文)。

9dc89b204542b5ddae1e4116a3287b09.png

实验结果

在 BiPE 的框架下,我们实例化了两种位置编码:BiPE-RoPE 和 BiPE-ALiBi。他们两者都使用绝对位置编码来作为段内编码。BiPE-RoPE 使用 RoPE 作为段间位置编码,BiPE-ALiBi 使用 ALiBi 作为段间位置编码。

我们首先验证了在思维链数学推理任务上,BiPE 在同参数量的情况下效果更好。在图 3 中可以清楚地看到,给定相似数量的参数,基于 BiPE 的语言模型在此任务上始终优于其他基线方法。

例如,当隐藏维度为 48 时,其他位置编码方法的准确率较低(低于 70%),而 BiPE-ALiBi 和 BiPE-RoPE 的准确率分别高达 97% 和 95%。这一结果确实很好地与我们的理论结果一致,这进一步强有力地支持了我们 BiPE 的双层设计。

919d3c9115342d038625a1e122ac1948.png

我们对采用不同位置编码的 Transformer 模型在 Pile 数据集预训练过后,测试长度外推的能力。结果如图 4 所示。我们的 BiPE 方法在长度大于训练长度的序列上始终表现出更优越的性能。例如,在序列长度为 8192 的 PG19 数据集上,我们的 BiPE-ALiBi 以 25.24 的困惑度(perplexity)优于它的对标方法 ALiBi(28.59 的困惑度),领先了 3.35 点。

相比之下,RoPE 尽管在分布内长度的序列上表现良好,但在较长序列上的性能显著下降,而我们的 BiPE 方法显著提升了其长度外推能力,例如,在序列长度为 4096 的 PG19 数据集上,困惑度为 19.67,而 RoPE 的困惑度为 158。

值得注意的是,我们的 BiPE 方法在全部三个覆盖不同模态文本数据的评估数据集上均表现出一致的优势,突显了 BiPE 在实际任务中的更佳长度外推能力。

dfe584bdbb11d377512c763b2241edf4.png

将 BiPE-RoPE 和对 RoPE 做微调的方法结合: 最近在长度外推方面的改进之一来自于使用位置插值(Position Interpolation)技术对基于 RoPE 的语言模型进行持续微调 [3,4]。

为了进一步研究我们的 BiPE 方法与位置插值的兼容性,我们使用 YaRN [4] 对在 Pile 数据集上预训练的 RoPE 和我们的 BiPE-RoPE 进行微调,并检查在下游数据集上的改进。结果如图 5 所示,我们的 BiPE-RoPE 在微调后对较长序列始终表现出更好的性能。

进一步来说,虽然 YaRN 在一定程度上提升了 RoPE 的长度外推能力,但在评估非常长的序列时仍然会出现性能下降,例如在 PG19/ArXiv/Github 数据集上评估 11k/16k/16k 长度的序列时。而相比之下,我们结合 YaRN 的 BiPE-RoPE 展现出更强的长度外推能力,即在长度高达 20k 的序列上保持了一致的低困惑度。

bebbb9954057e2045cf55b0eb3827e16.png

为了进一步评测长文本能力,我们将不同位置编码的预训练模型在SCROLLS数据集上微调并测试,结果如表 1 所示,首先,BiPE-RoPE 和 BiPE-ALiBi 分别表现优于 RoPE 和 ALiBi。例如,我们的 BiPE-RoPE 以 22.36 的平均分数超过了其对标方法 RoPE(18.38 的平均分数),领先了 3.98 分。

此外,BiPE-RoPE 取得了最高的平均分数,超过其他方法 3 分以上。在逐任务评估中,BiPE-RoPE 在 7 个任务中的 4 个任务中取得了最高分。我们还比较了两种经过 YaRN 微调的模型,即 BiPE-RoPE 和 RoPE。可以看到,BiPE-RoPE 在 7 个任务中的 6 个任务上仍然持续由于 RoPE, 并取得了更好的平均分数。这些结果进一步强化了 BiPE 在长上下文建模中的有效性。

21f3836aeb8aeed370f67966077ccf28.png

8c059627062e8663aa770462a9ebe33d.png

总结

在本文中,我们介绍了 BiPE,一种旨在改进长度外推的新型双层位置编码方案。对于每个位置,我们的 BiPE 结合了 1)通过 APE 确定其在段内位置的段内编码,以及 2)通过 RPE 指定其所属段的段间编码。

段内编码帮助模型捕捉每个段内的语义信息,而段间编码则建模段与段之间的关系。这种双层设计很好地契合了文本数据的内在分段结构,并增强了长度外推能力。我们的 BiPE 还通过其表达能力的理论分析得到了进一步支持。所有实验均验证了 BiPE 在不同文本模态任务中的长度外推能力。

outside_default.png

参考文献

outside_default.png

[1] Halliday, M. A. K. and Matthiessen, C. M. Halliday’s introduction to functional grammar. Routledge, 2013.

[2] Alur, R., Kannan, S., and Yannakakis, M. Communicating hierarchical state machines. In Automata, Languages and Programming: 26th International Colloquium, ICALP’99 Prague, Czech Republic, July 11–15, 1999 Proceedings 26, pp. 169–178. Springer, 1999.

[3] Chen, S., Wong, S., Chen, L., and Tian, Y. Extending context window of large language models via positional interpolation. arXiv preprint arXiv:2306.15595, 2023b.

[4] Peng, B., Quesnelle, J., Fan, H., and Shippole, E. Yarn: Efficient context window extension of large language models, 2023.

更多阅读

1dc482eb7932d2feff5f2a88fdb6c934.png

771c64a2ee7c43025a3eda4b2fcbd2a9.png

29c9cd203a698a6ac04777a36f6d9329.png

4604051229a1b608dbde617105a42c59.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

37bee65018eda37cce414a63b17688e5.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

e82670e6adbeefe936fd16a42bee3e36.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/15983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS事件委托模型和例子

在JavaScript中,事件委托(Event Delegation)是一种用于处理事件的技术,它利用了事件冒泡(Event Bubbling)的特性。通过事件委托,你可以将事件监听器添加到一个父元素上,而不是每个子…

如何恢复未保存/误删除的Excel文档?

想象一下,您已经在一个非常重要的 Excel 上工作了几个小时,而您的计算机卡住了,您必须重新启动计算机。Excel 文件未保存/误删除,您只是因为忘记点击保存按钮而损失了数小时的工作时间。但是,当您意识到一小时前在 Exc…

【Linux】如何优雅的检查Linux上的用户登录、关机和重启日志

在诸如Ubuntu、Debian、Linux Mint、Fedora和Red Hat等广受欢迎的Linux发行版中,系统会忠实记录用户的登录、关机、重启以及运行时长信息。这些信息对管理员调查事件、排查故障或汇总用户活动报告极为宝贵。 Linux系统及应用程序日志通常保存在/var/log/目录下&…

DDL—表—数据类型—日期时间类型相关语法

(1)表格如下: 类型大小范围格式描述DATE31000-01-01 至 9999-12-31YYYY-MM-DD日期值(年月日)TIME3-838:59:59 至 838:59:59HH:MM:SS时间值或持续时间(时分秒)YEAR11901 至 2155YYYY年份值DATET…

Makefile学习笔记17|u-boot顶层Makefile03

Makefile学习笔记17|u-boot顶层Makefile03 希望看到这篇文章的朋友能在评论区留下宝贵的建议来让我们共同成长,谢谢。 这里是目录 美化打印信息 # Do not print "Entering directory ...", # but we want to display it when entering to the output di…

LabVIEW常用开发架构有哪些

LabVIEW常用开发架构有多种,每种架构都有其独特的特点和适用场合。以下是几种常用的开发架构及其特点和适用场合: 1. 单循环架构 特点: 简单易用适用于小型应用将所有代码放在一个循环中 适用场合: 简单的数据采集和处理任务…

Docker CIG使用

Docker CIG是什么 CIG为:CAdvisor监控收集、InfluxDB存储数据、Granfana图表展示 这个组合是一个常见的监控 Docker 容器的解决方案,它包括以下三个组件: cAdvisor (Container Advisor): cAdvisor 是一个开源的容器资源监控和性能分析工具。它能够收集有关正在运行的…

【Python001】python批量下载、插入与读取Oracle中图片数据(已更新)

1.熟悉、梳理、总结数据分析实战中的python、oracle研发知识体系 2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来! 文章目录 1.背景说明2.环境搭建2.1 参考链接2.2 `oracle`查询测试代码3.数据请求与插入3.1 `Oracle`建表语句3.2 `Python`代码实现3.3 效果示例4.问题链…

机器学习预测-CNN数据预测示例

介绍 这段代码是一个基于 TensorFlow 和 Keras 的深度学习模型,用于进行数据的回归任务。让我逐步解释一下: 导入必要的库:这里导入了 NumPy 用于数值计算,Pandas 用于数据处理,Matplotlib 用于绘图,Tenso…

四大进制--详解--以及进制转换规则

进制介绍 对于整数, 有四种表达方式: 二进制BIN: 0,1 , 满2进1.以0b或0B开头 所谓2进制就是使用0和1来表示一个数, 满2进1如果在开发中看到有这种写法: int n1 0b1010; 这种写法没有错, 这是二进制的一种表示方式 十进制DEC: 0-9, 满10进1 十进制就是0-9来表示一个数, 满10进…

Excel查找匹配函数(VLOOKUP):功能与应用解析

文章目录 概述VLOOKUP函数语法查询并返回单列结果查找并返回多列结果MATCH函数VLOOKUPMATCH 从右向左逆向查找:INDEX函数INDEXMATCH 函数匹配方式查找匹配注意事项函数名称错误: #NAME?值错误:#VALUE!引用错误:#REF!找不到数据:#…

云计算-使用Java访问S3 (Accessing S3 using Java)

为了访问桶,我们使用AWS Java API。我们将使用API的2.0版本,但在撰写本文时,这是一个非常新的版本,因此您在互联网上找不到许多代码示例。版本1与版本2不兼容,不同的子版本之间也不兼容,因此我们必须非常小…

amis 文件上传 大文件分块上传

amis 图片/文件上传组件 receiver:参数配置为上传接口。 {"type": "input-image", // "type": "input-file","label": "照片","name": "url", "imageClassName": &qu…

VUE3视频播放器 videojs-player/vue

简介 官网: https://gitcode.com/surmon-china/videojs-player/overviewhttps://github.com/surmon-china/videojs-player?tabreadme-ov-file video-player是一个基于video.js的视频播放器组件,它提供了丰富的功能,包括视频播放、暂停、快…

CentOS 7 socat命令端口转发

场景 开发排查问题需配置远程调试,但配置调试的服务器不支持外网访问,于是就考虑到用端口转发的方式让开发进行远程调试,转发工具比如有:rinetd等等,意外看到使用socat做转发更简单方便,下面就记录一下 命令简介 socat 是一个功能强大的网络工具,可以在两个连接的数据…

B2123 字符串 p 型编码

字符串 p 型编码 题目描述 给定一个完全由数字字符(‘0’,‘1’,‘2’,…,‘9’)构成的字符串 str ,请写出 str 的 p 型编码串。例如:字符串 122344111 可被描述为 1个1、2个2、1个3、2个4、3个1 ,因此我们说1223441…

JMeter学习笔记二

面试题: 1.做接口测试时,你是怎么做的数据校验(返回值验证)?一般你会验证哪些数据? 校验code 200(说明后端接到了你的请求,并且给了应答) 返回信息 sucess 2.有1w个用户名密码需要登录&#xff…

AI学习指南数学工具篇-梯度下降在机器学习中的应用

AI学习指南数学工具篇-梯度下降在机器学习中的应用 线性回归模型中的梯度下降 线性回归是一种用于建立预测模型的基本统计方法。在线性回归中,我们试图通过输入特征的线性组合来预测输出变量的值。梯度下降是一种优化算法,在线性回归模型中&#xff0c…

微信小程序源码-基于Java后端的网上商城系统毕业设计(附源码+演示录像+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设…