LM-Infinite: 一种简单有效的大模型即时长度泛化,解决更长文本推理问题

news2024/10/5 22:23:14

深度学习自然语言处理 原创
作者:qazwe0b64a38a62dbb0d752b60d8150e3ee3.png

论文:LM-Infinite: Simple On-the-Fly Length Generalization for Large Language Models
地址:https://arxiv.org/abs/2308.16137

进NLP群—>加入NLP交流群

摘要

近年来,LLM在各个领域的性能都有了显著的进展。随着这些LLM被用于越来越复杂的任务,它们经常需要更长的推理过程或理解更大的上下文。在这些情况下,LLM在长序列上的长度泛化失败问题变得更加突出

大多数预训练方案会将训练序列截断到固定长度,但是即使使用了相对位置编码来应对这个问题,LLMs在更长的上下文之后仍然难以生成流畅的文本。

为了更有效地利用现有LLM的生成能力,我们在理论和实证上调查了导致此问题的OOD主要因素,提出了一种简单而有效的解决方案,用于即时长度泛化,即LM-Infinite。

该解决方案只涉及Λ形状的注意力掩码和距离限制,无需进行参数更新或学习。我们发现它适用于使用相对位置编码方法的各种LLM。

LM-Infinite具有高效的计算性能,时间和空间复杂度为O(n),在ArXiv和OpenWebText2数据集上,在达到32k个标记的情况下,表现出持续的流畅性和生成质量,并具有2.72倍的解码加速。

LLM中OOD因素诊断

3a6a161608ffedf59a0fa6239c98e90d.png我们的主要灵感来自一个假设,即预训练的LLM中的相对位置编码已经具备处理相对位置的能力。然而,当应用于更长的序列时,内部特征(如注意力权重和隐藏状态)变得对LLM来说是“陌生的”,即超出了训练分布。通过消除这些因素,我们可以将内部特征转移回训练分布,这对LLM来说是“舒适区”,LLM将能够以其原始质量生成。在本节中,我们寻找这样的因素,主要是寻找可能超出分布的内部特征并验证其存在。

OOD 因素 1:看不见的距离

a5faf138e5552353d419d76c3572bd6c.png回想一下,在相对位置编码中,两个标记之间的注意权重取决于它们的距离。如果文本变得太长,一些距离将增加到一个未见过的大数,最终超过预训练中见过的距离。随着长度的增加,为了相对位置编码能够识别新的距离,注意力权重将不得不无限增大。

我们通过对LLaMA在最长的ArXiv数据集上进行实证验证,将其截断为32k个标记。为了清晰可视化,我们选择每个Transformer层中的第0个注意头,并在图 1(a)中绘制自32k个标记到所有前一个标记的注意权重。可以看到,在较远的距离上,注意权重的绝对值振荡到比训练长度为4k时更大的值。

我们得出的结论是,相对位置编码要么无法识别未见过的距离,要么逻辑回归将增加到无穷大。后一种情况会产生ODD(Out-of-Distribution)的逻辑回归值,这对LLM来说是“陌生”的,并且可能导致不规则的结果。

OOD 因素 2: 看不见的数字 or tokens

f500701e184dbf1f9d96bd0830fff7d8.png另一个我们注意到的潜在影响因素是token数量。当文本变得更长时,将需要注意更多的标记,这可能会稀释注意力权重,使得注意分布更加扁平化,导致在注意力中丢失信息。在这里,我们研究注意力的熵,这是衡量分布信息量的理论度量指标。

这一发现提示我们限制token数量,以便LLM可以在一个熟悉的子特征空间上运行。经过对这两个因素的分析,人们可能会倾向于提出一个简单的解决方案:强制每个token只关注最近的几个token,在注意力机制中忽略更远的token。然而,我们发现这种方法并不奏效,LLM在短文本上的性能实际上会下降。这意味着XPos的外推能力在很大程度上依赖于对其进行明确的训练,并且不能直接适用于其他LLM,这一现象表明存在另一个OOD因素。

OOD 因素 3: 隐式编码的绝对位置

450d4c72de6328df31b7ec577803ba47.png在本节中,我们将展示一种反直觉的现象,即使绝对位置信息没有明确地编码在计算图中,注意力机制仍然能够隐式地编码它。我们猜测这实际上就是在相对位置编码中的Transformer中发生的情况,以上定理证明了这个事实。

在以上定力所提供的构造中,初始标记的信号强度比尾随标记更强,更容易区分。如果这是真的,那么它构成了另一个OOD因素。当长度较短时,LLM隐含地编码了初始标记的位置信息。然而当长度超过训练语料库时,由于OOD FACTOR1和2,初始标记被处理不当,它们的绝对位置信息会变形或丢失。这个定理是存在性的:它仅证明了这种隐含的绝对位置编码是可能的,但不能保证它确实在实际的LLM中发生了。作为实证验证,采用LLaMA的第一层输出的隐藏状态,并在图中绘制其PCA投影到一个二维平面上,图中的点对应于序列中的前4096个标记,蓝色点对应初始标记,红色点对应尾随标记。从图中可以看出,处于不同位置的标记在特征空间中占据不同的子空间,即使没有显式编码绝对位置信息。这解释了为什么之前提到的简单解决方案会失败:当序列变长时,直接限制注意力窗口将消除初始标记,从而使特征子空间变得不可见。我们推测,保留这些起始的几个标记对于LLM的正常运行很重要。

2f2f46ad093fe47dc7150259580e448c.png

在确定了这些OOD因素之后,我们已经找到了长度泛化问题背后的缺失要素。接下来,我们提出了我们的解决方案LM-Infinite,并绘制了一个描述相对位置编码工作原理的概念模型。

LM-Infinite

一般原则

基于前文的分析,我们提出了解决方案LM-Infinite,这是一种简单的即时技术,用于在LLM中进行长度泛化,并使用相对位置编码。需要注意的是,这些编码有不同的实现方式,因此LM-Infinite提供了一组不仅局限于单个LLM的高级原则。

前图(a)展示了LM-Infinite的概述。该解决方案由两个组成部分组成:一个Λ-形状的注意力掩码和一个距离限制。Λ-形状的注意力掩码有两个分支:左侧的全局分支和右侧的局部分支。全局分支允许每个标记在当前标记之前出现时关注最初的global个标记,局部分支允许每个标记在local范围内关注之前的标记。在注意力过程中忽略这两个分支之外的任何其他标记。这个设计基于上述OOD FACTOR 2和3,旨在控制要关注的标记数量,同时确保包含初始标记。

距离限制涉及限制“有效距离”d在Lpretrain范围内。这只影响位于全局分支的标记。具体而言,在相对位置编码中,注意力权重原本的形式为w(q,k,d),其中d是两个标记之间的距离。现在我们将其修改为w(q,k,min(d,Lpretrain))。这个设计是基于OOD FACTOR 1的动机,确保LLM不会接触到在预训练期间没有见过的距离。

实现细节

LM-Infinite中的原则适用于大多数相对位置编码。由于本文的重点是解决LLM的长度泛化问题,我们将评估LM-Infinite的性能,评估对象包括三个最先进的开源LLM系列:LLaMA系列 (LLaMA和Llama-2)、 MPT-7B系列和GPT-J系列。LLaMA和GPT-J都使用RoPE编码,而MPT-7B使用Alibi编码。这些原则可以很容易地推广到其他相对位置编码。61dfcf58f70584831b2044cb185339a4.png

相对位置注意力的概念模型

我们基于OOD FACTOR诊断和LM-Infinite的设计原则,描述了相对位置编码功能的概念模型。该图展示了在生成下一个标记时的观点,即每个标记都关注所有前面的标记。最后一个标记通过自注意力机制收集信息,计算输出特征并预测下一个标记。在这个解释中,一个较长的上下文可以粗略地分成3个部分:

  1. 初始标记主要编码其绝对位置信息,它们是注意力层的重要组成部分,因为它们的特征占据特征空间中的一个区域。如果该区域缺失或者使用了一个未见过的大距离进行关注,则会产生异常FACTOR 3。

  2. 最接近最后一个标记的尾标记。这里相对位置更为重要, 尾标记对于注意力层的正确功能至关重要。

  3. 中间标记编码的信息与位置关联性较小。这一区域的注意力权重要么是爆炸性的,要么是注意力熵过高(OOD FACTOR1和2)的。因此,对于长度泛化而言,它带来的坏处多于好处,所以在长度超过训练数据的序列中,在LM-Infinite中将其移除。

评估

在本节中,我们对LM-Infinite的性能进行了实证评估。我们从Pile 数据集中选择了ArXiv和OpenWebText2语料库,该数据集包括了来自 ArXiv的预印论文和从2005年到 2020 年 4 月的 Reddit 提交。我们使用了 LLaMA-7B、Llama-2-7b-Chat、MPT-7B和GPT-J-6B 作为评估的 LLMs。其中一个基准是经过长序列微调的 MPT-7B-Storywriter。4019d9cc7d53683f04df3ceaebccf331.png80372b363dac2cdbcc078b4a1e708bf3.png

流畅度

我们首先使用广泛采用的困惑度度量标准来评估LM-Infinite的流畅度。在正式评估概率模型M对分布D进行建模时,困惑度被定义为平均负对数似然(NLL)的指数:PPL(D,M)=exp−Ex∈D ln M(x)。在ArXiv数据集上绘制了NLL曲线,如图3所示。注意,由于Llama-2在过长的序列上输出NaN,所以曲线相对较短。可以看到,LM-Infinite成功地将困惑度曲线扁平化到比其训练输入长度长得多的程度。这表明在长序列上具有连贯而无损的流畅性。

我们还在ArXiv和OpenWebText2数据集上在一些里程碑长度(2k、4k、8k、16k和32k)上对困惑度分数进行了数值记录,如表1所示。OpenWebText2数据集中的数据在长度32k以上非常少,因此我们省略了该列。注意,借助LM-Infinite的帮助,语言模型成功地实现了长度的泛化,并在9个列中的7个上取得了SoTA分数。这是一个令人鼓舞的结果,考虑到LM-Infinite与众多强基线相比不需要任何参数更新。作为直接对比,MPT-7B+LM-Infinite的得分仅略低于其微调版本MPT-7B-Storywriter。这表明LM-Infinite是资源消耗大的精细调整的高 效替代品。456473f4aaa64e1777ad0c5cecc3020e.png

模型性能

由于困惑度是LLM的内部度量指标,我们采用BLEU和ROUGE指标评估LM-Infinite 在ArXiv和OpenWebText2上生成质量上的优势。简单来说,这两个指标评估生成文本与参考文本之间n-gram的重叠情况,其 中BLEU侧重于精确度,ROUGE侧重于召回率。

我们让LLM在每个长度之后生成100个token,并将原始文本中的接下来的100个token作为参考。由于生成需要很长时间,我们在每个数据集中随机选择100个长序列进行评估,结果列在表2中。与上一节的趋势类似,LM-Infinite成功地使LLM能够将其生成质量延伸到比训练更长的长度,与微调的效果相当,但无需参数更新。需要注意的是,LM-Infinite在不同的LLM上会有稍微不同的效果。例如,在LLaMA和GPT-J-6B上,质量在更长的位置上得到了更好的保持,而在Llama-2上,质量在更接近的位置上更好。

我们还在附录 D中评估了长度为32k时的计算效率,其中在编码 时,LM-Infinite表现出3.16倍的加速,在解码时表现出2.72倍的加速。4aee6e65e3487e4628fba120ea214805.png

任务解决

最后,由于LLM经常用于解决下游任务,我们评估了LM-Infinite在长输入任务上的性能。我们遵循Mohtashami&Jaggi (2023) 的方法,并使用了一个token检索任务。该任务在长的干扰文本中随机隐藏了一个口令,并最终询问该口令是什么。作为一个合成数据集,可以更灵活地控制输入长度以进行细粒度分析。我们在图4中绘制了答案的正确率。可以看到,与无论长度如何都会立即失败的普通模型相比,LM-Infinite可以使LLM在训练长度之外的较长长度上保持较慢的准确率下降。由于token检索是一项信息敏感的任务,曲线显示出,即使LM-Infinite在理论上可以从长度为nlayerLpretrain的上下文中获取信息,但它并不能完美地保持信息感知能力。将此归因于Λ-mask,它在信息和流畅性之间进行权衡。将更高的信息敏感度保持问题留给了未来的工作。

总结

在本文中,我们针对使用相对位置编码的基于Transformer的LLM中的长度泛化问题提供了一个解释和一个简单的即时解决方案。我们通过对可能导致长度泛化失败的OOD FACTOR进行理论和实证分析。基于这些直觉,我们提出了LM-Infinite,这是一个无需任何参数更新的即插即用解决方案。实证评估显示,我们可以让多个开源的SoTA LLM保持其原始的生成质量,类似于显式微调后的性能。LM-Infinite还将任务解决能力扩展到比训练样本更长的序列。未来的工作可以探索如何让LM-Infinite更好地感知遮蔽关注区域中的信息。我们希望LM-Infinite的计算效率和易用性能够使没有极大计算资源的研究人员也可以在长序列上使用LLM。


进NLP群—>加入NLP交流群

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

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

相关文章

问道管理:A股休息时间表?

在股票买卖中,歇息时刻能够给股民们喘息的时机,也是一种标准和保证买卖的方法。那么,A股的歇息时刻是什么时分?为什么要有这样的歇息时刻?歇息时刻对股民和商场又有哪些影响呢?本文将从多个角度剖析A股的歇…

Day 41 动态规划part03 : 343. 整数拆分 96.不同的二叉搜索树

96. 不同的二叉搜索树 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1…

【耗时50天报告】南卡/韶音/cleer等开放式耳机最详测评,2023开放式耳机机皇花落谁家

随着移动互联网的发展,蓝牙耳机已成为大众生活中不可或缺的移动设备。在蓝牙耳机这一种类中,开放式蓝牙耳机以其超强的舒适、安全、便携等优势而备受关注。相比传统蓝牙耳机,开放式耳机只需一个小巧的主体直接挂在耳朵上,不会给耳部带来任何压迫感,具有出色的通风性和舒适性&am…

【AIGC专题】Stable Diffusion 从入门到企业级实战0402

一、概述 本章是《Stable Diffusion 从入门到企业级实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》第02节, 利用Stable Diffusion ControlNet Openpose模型精准控制图像生成。本部分内容,位于整个Stable Diffusion生…

文件系统与inode编号

文件描述符fd 0&1&2 Linux 进程默认情况会有3个缺省打开的文件描述符,分别是标准输入0, 标准输出1, 标准错误2. 0,1,2对应的物理设备一般是:键盘,显示器,显示器 所以输入输出还可以采用如下方式 …

晶圆键合对准机的原理与应用

一、晶圆键合设备的工作原理 1、 第一个晶圆面朝下置于晶圆对准设备卡盘并传送到对准机内; 2、对准机内,晶圆在Z轴方向上移动直到被顶部的传输夹具真空吸附固定; 3、被传输夹具固定的第一个晶圆将成为后续对准工艺的基准,确定所…

SAP 获取本机信息(IP及电脑名称)<转载>

原文链接:https://blog.csdn.net/JYH1999/article/details/126489974 导语:最近在做日志的东西,需要记录用户的IP,以及电脑名称,找了一下,SAP有两个类可以实现。 一、效果展示 二、代码 *&----------…

一文学会K8s集群搭建

环境准备 节点数量:2台虚拟机 centos7硬件配置:master节点内存至少3G(2G后面在master节点初始化集群时会报错,内存不够),node节点可以2G,CPU至少2个,硬盘至少30G网络要求&#xff1…

双向圆周阵列及阵列间距调整

SOLIDWORKS提供的阵列功能是非常实用的快速建模功能,可以帮助我们快速的形成重复特征。在以往的版本中,无论是线性阵列还是其他阵列都提供了可以双向进行的阵列选项。也就是可以帮助我们保证两个方向的阵列属性。 今天我们要讲的是在圆周阵列中增加双向的…

【EPLAN】统一修改项目中字体大小

需求:当A3图框时,“设备标识符”等字体太小,影响查看图纸。需要统一调大。 通过“层管理”改变字体大小。 “项目数据”->“层管理” 找到需要改变字体的大小如“设备标识符”: Over。 效果(2.5mm 调整到了 3.5mm&a…

我国元宇宙专利申请位列全球靠前,UTONMOS元宇宙游戏体验再升级

中青网报道 近日,2023年服贸会数字贸易发展趋势和前沿高峰论坛举办并发布了《中国元宇宙产业发展趋势洞察》报告。报告指出我国元宇宙相关专利申请量位列全球第二。 元宇宙是虚拟世界和现实世界融合的载体,正成为驱动数字经济发展和助力数字中国建设的重…

【python基础知识】0.print()函数

文章目录 前言print()函数无引号单引号的用法双引号的用法三引号的用法转义字符 变量和赋值变量的命名规范 下关预告 前言 Python就是一个能够帮你实现需求的工具,它更像是一把万能钥匙,决定用它来打开哪一扇门的,是你自己。 『千里之行&am…

2.1 PE结构:文件映射进内存

PE结构是Windows系统下最常用的可执行文件格式,理解PE文件格式不仅可以理解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,在任何一款操作系统中,可执行程序在被装入内存之前都是以文件的形式存放在磁盘…

阿里云2核4G服务器5M带宽五年租用价格表

阿里云2核4G服务器5M带宽可以选择轻量应用服务器或云服务器ECS,轻量2核4G4M带宽服务器297元一年,2核4G云服务器ECS可以选择计算型c7、c6或通用算力型u1实例等,买5年可以享受3折优惠,阿腾云分享阿里云服务器2核4G5M带宽五年费用表&…

Java“牵手”阿里巴巴店铺所有商品API接口数据,通过店铺ID获取整店商品详情数据,阿里巴巴店铺所有商品API申请指南

阿里巴巴平台店铺所有商品数据接口是开放平台提供的一种API接口,通过调用API接口,开发者可以获取阿里巴巴整店的商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片、价格信息等详细信息 。 获取店铺所有商品接口API是一种用于获取电商平台…

了解被测系统(一)技术架构

目录 web应用组成 项目实例 系统架构图 整体架构图 web应用组成 从开发者的角度来看,web 应用主要由三部分组成: 用户界面,业务逻辑,数据。 1.用户界面(视图层) 用于将数据展示给用户的地方,采用 HTML,CSS&…

【Linux内核】以共享内存的方式实现进程间通信

现在有很多进程间通信的模式,但是我们选择一个简单的IPC机制(共享内存)来实现,并让它工作起来。 简单来讲我们实现了两个系统调用(不可避免地需要我们完善IDT),发送方查看接受方是否接收&#…

配电室智能运维解决方案

配电智能运维服务是以电易云-智慧电力物联网平台为核心,通过对配电室(或箱变)、高、低压配电柜加装在线监测装置,将运行状态实时传输到电易云平台,人工24小时运维值班,为客户提供大数据时代下的电力运维解决方案,更好的…

基于springboot绩效管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

2.5 PE结构:导入表详细解析

导入表(Import Table)是Windows可执行文件中的一部分,它记录了程序所需调用的外部函数(或API)的名称,以及这些函数在哪些动态链接库(DLL)中可以找到。在Win32编程中我们会经常用到导…