位置内插 PI:基于Positional Interpolation扩大模型的上下文窗口

位置内插 PI:基于Positional Interpolation扩大模型的上下文窗口

      • 如何在不牺牲性能或从头训练的情况下,扩展大型语言模型的上下文窗口以处理长文档或长对话?

 


论文:https://arxiv.org/pdf/2306.15595.pdf

 

这篇论文介绍了一种名为位置插值(Position Interpolation, PI)的方法。

旨在扩展基于 RoPE 的预训练大型语言模型的上下文窗口大小,解决的核心问题是如何有效且高效地扩展模型的上下文理解能力,以便处理需要长上下文的任务。

比如长文档摘要、语言建模等,而不需要从头开始训练模型以支持更大的上下文窗口,这在资源和时间上都是非常昂贵的。

 

如何在不牺牲性能或从头训练的情况下,扩展大型语言模型的上下文窗口以处理长文档或长对话?

流程顺序:

  1. 子问题:需要扩展模型上下文窗口的动机是什么?

    • 解法:识别长上下文任务的需求 - 如长文档摘要、语言建模等。
    • 例子:想象一篇科学论文的长篇摘要,这需要模型理解并生成超出其预训练上下文限制的内容。
  2. 子问题:直接外推位置编码在长上下文任务中存在哪些问题?

    • 解法:分析外推的局限性 - 直接外推导致性能不稳定。
    • 例子:在尝试生成论文的摘要时,直接外推位置编码会导致注意力分数异常升高,从而无法生成连贯的文本。
  3. 子问题:如何在不重新训练模型的情况下有效地扩展上下文窗口?

    • 解法:位置插值(PI)方法 - 通过线性下调位置索引,而不是外推。
    • 例子:采用PI,模型可以将原本的[0, 4096]位置范围内的位置信息“压缩”到[0, 2048]内,使得模型可以处理更长的文本,就像处理2048个令牌一样有效。

在这里插入图片描述

预训练的Llama模型在处理2048个上下文窗口长度时的旋转位置嵌入(RoPE)的正常使用情况。

蓝色点表示预训练范围内的位置索引,而红色点表示在4096范围内未见过的位置索引(超出预训练范围的位置)。

下方展示了位置插值的结果,其中位置索引被缩小了一半(f(x, m) = f(x, m/2)),即将原本的[0, 4096]范围的位置索引映射到[0, 2048]范围内,以适应模型的预训练范围。

这张图说明了位置插值如何通过对输入位置的缩放,使得模型能够处理超出其原始训练范围的输入,而不需要对模型架构进行改动,只通过重新调整位置索引来达成。

如果原始上下文窗口是2048,目标窗口是4096,那么所有位置索引都会被除以2。

位置2048在位置插值后会被处理为1024(即 2048 / 2 = 1024)。

这样处理之后,新的序列的每个位置(不论是原始的还是新增的)都有了一个唯一的、缩放后的位置索引。

一些位置编码方法,如三角函数位置编码或一些变体的旋转位置编码(RoPE),可以在非整数(除以二后变成小数)位置上计算。

这些方法可以将连续的位置信息映射到高维空间,以保持位置的相对关系,即使这些位置是通过插值得到的。

在位置插值中,我们不会直接在位置索引中引入小数点,而是通过调整位置编码函数来处理可能出现的小数位置,以便模型可以连续地处理位置信息,从而适应更长的输入序列。
 

在新的上下文窗口大小上对模型进行微调,以帮助模型适应位置插值所带来的变化。微调通常是在一个大型的文本语料库上进行,例如Pile数据集。

  1. 子问题:位置插值方法的效率和有效性如何验证?

    • 解法:经验验证和微调成本分析 - 使用少量的微调步骤。
    • 选择一个大型的文本数据集,如Pile数据集,用于微调模型。
    • 例子:LLaMA 7B模型使用PI扩展到32768上下文窗口后,在Pile数据集上仅需1000步微调,就能显著改善性能。
  2. 子问题:位置插值扩展后的模型在原始上下文窗口大小的基准任务上表现如何?

    • 解法:在原始上下文窗口大小进行基准评估 - 对比原始模型和扩展模型的性能。
    • 例子:经过PI扩展到8192的模型,在2048的原始上下文窗口的基准任务上只表现出最多2%的性能下降。
  3. 子问题:扩展后的模型在实际上下文中的有效性如何衡量?

    • 解法:通过通行密钥检索任务测试有效上下文窗口 - 检查模型是否能够恢复长文档中的隐含信息。
    • 例子:经过PI的模型能够在一篇长文档中成功恢复隐藏的随机通行密钥,表明其有效上下文窗口至少与通行密钥所在位置一致。

通过位置插值方法,可以有效地扩展预训练模型的上下文窗口,而无需进行资源密集型的重新训练。

通过微调来进一步优化模型,使其在长文档摘要等任务中具备更强的性能,即使在超出原始训练限制的上下文中也能保持稳定性和效率。

 

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

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

相关文章

C++ JSON解析

JSON解析 JSONCPPC实现JSON解析器 JSONCPP JSONCPP源码链接:https://github.com/open-source-parsers/jsoncpp JSOCPP源码下载以后,首先复制一份include文件夹下的json文件夹,头文件留着后续备用。 使用Cmake生成项目。在IDE中编译jsoncpp_…

【Nicn的刷题日常】之打印整数二进制的奇数位和偶数位

目录 1.题目描述 2.解题思路 3.解题 1.题目描述 获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列 2.解题思路 1. 提取所有的奇数位,如果该位是1,输出1,是0则输出0 2. 以同样的方式提取偶数位置检测n…

CGAL-3D 凸包算法

3D 凸包算法 一、概述二、静态凸包构造1. Traits 特征类2. 极端点3. 半空间相交4. 凸性检验 三、动态凸包构造四、性能 一、概述 一个点集 S∈R3 是凸的,如果对于任意两点 p 和 q 在集合中,具有端点的线段 p 和 q 包含在 S。集合的凸包 P 包含点集 S 的最…

GADM 4.1 全球国家行政区划下载

扫描文末二维码,关注微信公众号:ThsPool 后台回复g004,领取最新 GADM 4.1 全球国家行政区划 GADM概述 GADM,全称 Database of Global Administrative Areas,是一个开放获取的全球行政区划数据库,包含各国、…

APIfox编排自动化测试场景(一)

测试场景用于将多个接口请求与实际可能发生的一些特殊情况(如条件判断、循环)有序的组合在一起,来模拟一个真实业务流程,组成自动化测试单元。 新建目录 / 测试场景​ 打开 Apifox 后点击左侧菜单栏中的“自动化测试”&#xff…

基于Vue的移动端UI框架整理

一、Vant 官方地址:https://youzan.github.io/vant/#/zh-CN/ 简介:有赞公司开发。 特性:60 高质量组件、90% 单元测试覆盖率、完善的中英文文档和示例、支持按需引入、支持主题定制、支持国际化、支持 TS、支持 SSR。 特别说明&#xff1…

机器学习---概率图模型(隐马尔可夫模型、马尔可夫随机场、条件随机场)

1. 隐马尔可夫模型 机器学习最重要的任务是根据已观察到的证据(例如训练样本)对感兴趣的未知变量(例如类别标 记)进行估计和推测。概率模型(probabilistic model)提供了一种描述框架,将描述任…

R语言阈值效应函数cut.tab2.0版发布(支持线性回归、逻辑回归、cox回归,自定义拐点)

阈值效应和饱和效应是剂量-反应关系中常见的两种现象。阈值效应是指当某种物质的剂量达到一定高度时,才会对生物体产生影响,而低于这个剂量则不会产生影响。饱和效应是指当某种物质的剂量达到一定高度后,其影响不再随剂量的增加而增加&#x…

编译DuiLib库遇到的变量定义位置问题

C89 规定,所有局部变量都必须定义在函数开头,在定义好变量之前不能有其他的执行语句; C99 标准取消这这条限制,但是 VC/VS 对 C99 的支持不是很积极; C99 是 C89 的升级版; 如图是修改之后的代码&#xff1…

AI专题:海外科技巨头指引,AI主线逻辑依旧坚挺

今天分享的是AI 系列深度研究报告:《AI专题:海外科技巨头指引,AI主线逻辑依旧坚挺》。 (报告出品方:华西证券) 报告共计:54页 本周热点:海外科技巨头指引,AI主线逻辑依旧坚挺 硬件…

介绍docker

一:介绍docker: Docker 并没有单独的图形界面,它主要通过命令行来进行管理和操作 1、 docker ps:显示正在运行的容器。 docker images:显示本地的镜像。 docker run:创建并启动一个新容器。 docker stop&a…

高速接口PCB布局指南(二)通用高速信号布线

高速接口PCB布局指南(二)通用高速信号布线 1.PCB材料编织2.高速信号布线长度3.高速信号布线长度匹配4.高速信号参考平面 tips:资料主要来自网络,仅供学习使用。 1.PCB材料编织 在常见的 PCB 材料上为差分信号布线时,…

Java笔记 --- 六、IO流

六、IO流 概述 分类 纯文本文件:Windows自带的记事本打开能读懂的 eg:txt文件,md文件,xml文件,lrc文件 IO流体系 字节流 FileOutputStream 操作本地文件的字节输出流,可以把程序中的数据写到本地文件中…

如何进行游戏服务器的负载均衡和扩展性设计?

​在进行游戏服务器的负载均衡和扩展性设计时,需要考虑多个方面,以确保服务器的稳定性和可扩展性。以下是一些关键的步骤和考虑因素: 负载均衡的需求分析 在进行负载均衡设计之前,需要深入了解游戏服务器的负载特性和需求。这包括…

2024.2.5 vscode连不上虚拟机,始终waiting for server log

昨天还好好的,吃着火锅,做着毕设,突然就被vscode给劫了。 起初,哥们跟着网上教程有模有样地删除了安装包缓存,还删除了.vscode-server,发现没卵用,之前都是搜那个弹窗报错。 后来发现原来是vsco…

mac检查CPU温度和风扇速度软件:Macs Fan Control Pro 1.5.17中文版

Macs Fan Control Pro for Mac是一款专业的电脑风扇控制工具,旨在帮助Mac用户有效控制电脑的风扇速度,提高电脑的运行效率和稳定性。 软件下载:Macs Fan Control Pro 1.5.17中文版 该软件支持多种风扇控制模式和预设方案,用户可以…

三层交换组网实验(思科)

华为设备参考:三层交换组网实验(华为) 一,技术简介 三层交换技术的出现,解决子网必须依赖路由器进行管理的问题,解决传统路由器低速、复杂所造成的网络瓶颈问题。一个具有三层交换功能的设备可简单理解为…

Zephyr NRF7002 实现AppleJuice

BLE的基础知识 ble的信道和BR/EDR的信道是完全不一样的。但是范围是相同的,差不多也都是2.4Ghz的频道。可以简单理解为空中有40个信道0~39信道。两个设备在相同的信道里面可以进行相互通信。 而这些信道SIG又重新编号: 这个编号就是把37 38 39。 3个信道…

杨中科 配置系统

1、配置系统入门 说明 1、传统Web.config配置的缺点,之前DI讲到过 2、为了兼容,仍然可以使用Web.config和ConfigurationManager类,但不推荐。 3、.NET 中的配置系统支持丰富的配置源,包括文件(json、xml、ini等)、注册表、环境变…

OpenCV/C++:点线面相关计算(二)

接续,继续更新 OpenCV/C:点线面相关计算_线面相交的点 代码计算-CSDN博客文章浏览阅读1.6k次,点赞2次,收藏12次。OpenCV处理点线面的常用操作_线面相交的点 代码计算https://blog.csdn.net/cd_yourheart/article/details/125626239 目录 1、…