大语言模型中上下文长度扩展技术的内容、原因和方式-综述

24年1月阿联酋科技创新研究院、孟加拉国伊斯兰科技大学、斯坦福大学、亚马逊公司和南卡大学AI研究院的论文“The What, Why, and How of Context Length Extension Techniques in Large Language Models – A Detailed Survey“。

LLM通常面临上下文长度外推方面的限制。 理解和扩展LLM的上下文长度对于提高其在各种 NLP 应用程序中的性能至关重要。 该综述深入探讨了其多方面问题,以及可能给 NLP 应用带来的潜在转变。 研究延长上下文长度相关的固有挑战,并对现有策略进行概述。 还讨论评估上下文扩展技术的复杂性,并强调该领域面临的开放挑战。 此外,探讨研究界是否就评估标准达成共识,并确定需要进一步达成一致的领域。

如图是LLM中上下文长度扩展技术的分类。 该图将这些技术分为插值和外推,其中它们进一步分为零样本和微调分支。 在上下文长度扩展领域,基于位置编码、检索、注意和 RoPE 的技术得到最多的探索。

添加图片注释,不超过 140 字(可选)

与绝对位置嵌入不同,相对位置嵌入是根据K和Q之间的差异制定的(Shaw,2018)。 Transformer-XL 中引入相对位置嵌入的普遍变化(Dai,2019b;Yang,2019)。 K和Q之间的注意计算已被更改,集成与相对位置相对应的可训练嵌入。 与绝对位置嵌入相比,配备相对位置嵌入的 Transformer 展示泛化到超过训练中长度序列的能力,展示了外推的熟练程度(Press et al., 2021b)。 与位置编码相关的一个反复出现的约束是无法超出训练期间观察的上下文窗口。

外推技术旨在将模型的理解扩展到超出其最初观察长度的序列,采用创新策略来捕获扩展范围内的依赖性。

**

零样本外推

**

在LLM领域,零样本上下文长度外推表示模型固有的能力,能够理解和生成比原始训练期间遇到长度更长的输入序列内容。 这种独特的熟练程度不需要对较长序列进行显式微调或额外训练,从而展示模型对给定任务中扩展上下文长度的适应性。 这种能力在以可变输入文本长度为特征的实际应用中非常重要。 该模型通过展示处理更广泛的上下文范围而无需针对特定任务进行调整的能力,强调了即使面对超出其训练范围的上下文,其在做出有意义的预测和生成连贯文本方面的多功能性。 这种内在的能力增强了模型在输入长度可能变化的各种现实场景中实用性,有助于其在各种上下文复杂性中处理和生成内容的有效性。

1 位置编码

位置编码在这种情况下成为关键组件,为模型提供了对输入序列顺序结构的洞察。 通过注入有关tokens位置的信息,这些技术在增强模型推断为扩展长度序列方面发挥了基础作用,而无需进行特定的微调。
RoPE(Rotary Position Embedding)
ALiBi(Attention with Linear Biases)
随机位置编码 Randomized Positional Encodings

如图RoPE(Su et al., 2024),它使用旋转矩阵来捕获tokens序列中精确的绝对位置信息。 以不同的速度旋转Q和K投影矩阵的片段,RoPE 可确保独特的旋转,从而影响注意分数。 该图强调 RoPE 对相对距离的依赖,以改善自注意模型中tokens关系的理解。

添加图片注释,不超过 140 字(可选)

如图是ALiBi 的实施(Press,2021b)。 在神经网络中计算注意时,在应用 softmax 函数之前为每个注意分数添加固定偏差。 对于特定头的所有注意分数,这种偏差都是相同的。 其余计算保持不变。 变量“m”是特定于每个注意头的常量,并且在训练期间设置而不进行调整。 这种方法适用于不同类型的文本、各种模型和不同的计算资源。

添加图片注释,不超过 140 字(可选)

如图是随机位置编码的实现(Ruoss,2023b)。 当测试具有较长输入序列的模型时,添加位置信息的典型方法可能会导致训练期间未见过的值。 方案是分配一个随机(或有序)位置编码向量来解决这个问题,该向量覆盖每个训练样本测试期间可能位置的整个范围。

添加图片注释,不超过 140 字(可选)

2 特殊注意机制

注意机制是关键工具,对输入序列不同部分的重要性进行细致的分配。 这些技术使模型能够动态地关注输入中的特定区域,适应上下文信息的不同重要性。 通过将不同级别的注意分配给序列的不同部分,这些机制增强模型辨别和捕获相关上下文的能力,这对于需要理解跨多样和扩展上下文依赖关系的任务至关重要。

长度可外推Transformer:xPos(Extrapolatable Position Embedding)
LongNet

如图实现块级因果注意,使用因果掩码对类似于常规 Transformers 的短文本进行训练。 对于测试期间较长的序列,采用块因果注意,它可以有效地重用重叠部分,例如K和V向量(Sun,2022)。所提出的策略共同构成长度可外推 Transformer 的框架,提供一种改进 Transformer 模型中长度外推的综合方法。

添加图片注释,不超过 140 字(可选)

如图是实施的扩张注意。 LONGNET(Ding et al., 2023a)神经网络中扩展注意的基本组成部分是旨在捕获短期和长期依赖关系的注意模式。 网络可以根据输入序列的长度调整注意模式的数量。

添加图片注释,不超过 140 字(可选)

3 基于窗的方法

在推进LLM领域,一系列技术在预训练阶段逐步延长训练长度来提高计算效率。 这种策略性的调整可以作为一种通用的解决方案,解决平衡模型复杂性和计算成本的永久挑战。 通过系统地增加训练长度,这些技术提高了效率,使模型能够掌握扩展的上下文细微差别,而无需施加过度的计算成本。

GrowLength

如下是GrowLength的算法总结:

添加图片注释,不超过 140 字(可选)

4 记忆/搜索增强方法

记忆增强架构作为一个关键类别出现,引入创新策略来增强模型的扩展上下文理解能力。 这些方法结合了外部存储模块或机制,为模型提供了在更广泛的背景下存储和检索信息的能力。 通过赋予模型某种形式的外部存储器,这些架构努力增强即时上下文窗口之外的信息的保留和利用。

地标注意 Landmark Attention
长时记忆增强的语言模型 LONGMEM(Augmented Language Model with Long Term Memory)

如图比较标准注意和地标注意。 使用 lblock = 2 的块大小,它显示当前tokens对先前tokens的注意如何受到与块对应的K向量和地标向量的相似性影响。 这解释了为什么相同的tokens在不同的块中可以具有不同的注意分数,尽管最初具有相同的表示。 地标tokens最初共享表示,但通过网络层以不同的方式演变,影响注意行为。 (Mohtashami & Jaggi,2023a)

添加图片注释,不超过 140 字(可选)

如图是LongMem(Wang,2023)架构概述,其中向现有模型添加单独的内存模块来增强语言模型,有效地使用来自很久以前的上下文信息。 还引入了轻量级 SideNet 来有效地集成内存上下文信息。 图中展示了语言建模问题和 SideNet,并且还描绘了编码、存储、回忆和整合过去记忆以实现更好的语言建模的过程。

添加图片注释,不超过 140 字(可选)

**

微调外推

**

LLM背景下的微调外推法代表了 NLP 领域的复杂演变。 这个过程涉及专门完善模型的现有功能,不仅可以理解而且可以准确生成超出其初始训练数据参数的文本。 与零样本学习(模型利用其预训练的知识而无需进一步调整)不同,微调外推侧重于通过额外的、有针对性的训练来提高模型的熟练程度。 这对于需要高精度生成上下文丰富且细致入微文本的应用程序尤其重要。

通过微调,LLM变得善于处理复杂而冗长的输入,在适应新的内容类型和结构方面表现出非凡的灵活性。 这种增强的能力确保模型可以产生更加连贯、适合上下文和复杂的响应,从而显着提高其在从高级对话界面到综合内容创建等无数场景中的适用性。 微调外推法的出现标志着朝着更加智能、响应灵敏和多功能的语言模型迈出的关键一步,这些模型能够以技巧驾驭人类语言的复杂性。

**

记忆/搜索增强方法

**

TiM(Think-in-Memory)和FOT(Focused Transformer)这两种著名的方法已经出现,解决LLM中扩展有效上下文长度的挑战。 TiM引入动态记忆机制,消除重复推理和增强历史思维,促进长期交互中性能的提高。 另一方面,FOT 采用对比学习启发的训练过程,有效地扩展了注意层中的(K,V)空间,可以访问外部内存。 FOT 通过微调大模型演示其功效,展示在需要更长上下文的任务中的增强性能。 这两种方法都有助于克服与有效上下文长度相关的限制,为优化现实应用中的LLM提供通用的解决方案。

TiM(Think-in-Memory)
FOT(Focused Transformer)
MemGPT

如图是训练过程中 Focused Transformer 的概述(Tworkowski,2023)。 FOT 结合了记忆注意层并采用交叉批量训练方法。 记忆注意层允许模型在推理过程中从附加上下文中访问信息,从而有效地扩展上下文。

添加图片注释,不超过 140 字(可选)

如图是推理期间的 Focused Transformer 概述(Tworkowski,2023)。 在推理过程中,FOT 中的记忆注意层有助于从扩展上下文中检索信息,从而增强模型的理解。 这是模型训练阶段在交叉批次训练过程指导下学习的(K,V)表示来实现的。 该过程鼓励模型获取与记忆注意层特别兼容的表示,从而优化其利用较长上下文信息的性能。

添加图片注释,不超过 140 字(可选)

如图是MemGPT 的组成部分(Packer,2023)。 在 MemGPT 中,固定上下文语言模型通过分层记忆系统得到增强。 处理器管理其记忆,使用函数在主上下文和外部上下文之间传输数据。 它通过解析器生成文本,产生或进行函数调用,并预先请求链接函数的控制。 处理器在生成期间暂停,直到下一个外部事件发生。

添加图片注释,不超过 140 字(可选)

另一方面,插值技术专注于改进模型的能力,以平滑地扩展其对观察范围内上下文的理解,从而增强在最初遇到上下文长度内序列的性能。
上下文长度外推上下文中的插值技术侧重于微调或优化模型,以有效地处理训练期间遇到的上下文长度范围内的序列。 重点是完善模型在观察范围内平滑扩展其对上下文的理解的能力,从而增强其在最初遇到上下文长度内序列的性能。 这些技术有助于在训练限制内更细致地、更好地理解上下文,确保模型在训练期间所接触的上下文长度内实现最佳性能。

**

零样本

**

插值技术的微调外推,涉及调整预训练的语言模型来处理初始训练期间未遇到的较长输入序列。 在对指定长度范围内的序列(插值)进行初步训练后,模型会经历微调过程以提高其在较长序列上的性能。 这种适应提高了模型泛化到扩展上下文的能力,确保无缝处理最初观察的和推断的输入长度。

对于插值,模型通常在观察的上下文长度内进行微调或优化。 在这种情况下,零样本外推法评估模型在较长序列上的表现,而无需对这些长度进行任何特定的调整。 这需要评估模型对未明确属于其训练数据的上下文长度进行零样本泛化。

1 特殊注意机制

LM-Infinite (Han et al., 2023b),一种提出 Λ- 形注意掩码和动态长度泛化距离限制的解决方案; LongQLoRA (Yang, 2023),一种结合位置插值 (Chen, 2023a)、QLoRA (Dettmers, 2023) 和 Shift Short Attention (Chen, 2023b) 的有效方法,用于用最少的训练资源扩展上下文长度; LongLoRA(Chen,2023b)是一种微调方法,可以有效扩展上下文大小,同时保持与现有技术的兼容性。 这些论文共同促进了特殊注意机制的进步,旨在减轻LLM中零样本上下文长度外推的挑战。

LM-Infinite (Han et al., 2023b)
LongLoRA (Chen et al., 2023b)
LongQLoRA (Yang, 2023)

如图是LM-Infinite (Han et al., 2023b) 针对不同 LLM 的易于使用增强,涉及 Λ -形掩模和注意期间的距离约束。 此外,还提供一个概念模型来解释如何描述相对位置编码功能。

添加图片注释,不超过 140 字(可选)

如图是LongLoRA(Chen,2023b)设计概述。 在微调过程中加入了shifted sparse attention(S2-Attn),而训练后的模型在推理过程中保持其原始的标准自注意。 除了线性层中的 LoRA 权重之外,LongLoRA 还使嵌入层和归一化层可训练来扩展训练。 此扩展对于扩展上下文至关重要,并且它仅引入最少数量的额外可训练参数。

添加图片注释,不超过 140 字(可选)

如图是shift short attention示意图。 它涉及三个步骤,特征沿着头维度分成两个块。 一个块中的tokens移动了组大小的一半,然后对tokens进行分组和重整形。 注意是在每个组内计算的,组间信息流通过转移(Chen,2023b)。

添加图片注释,不超过 140 字(可选)

2 基于提示压缩方法

提示压缩技术构成了LLM上下文长度外推领域内的一个关键探索领域。 由于LLM的目标是处理更长的输入序列或生成扩展的输出,因此有效处理广泛提示的挑战就摆在了首位。 提示压缩技术侧重于从冗长的提示中提取基本信息的策略,同时保持输入的完整性和相关性。 这些方法旨在使LLM能够有效地管理扩展上下文,而不牺牲计算效率。

LongLLMLingua

如图LLMLingua(Jiang,2023a)提示压缩的说明:引入用于动态压缩分配的预算控制器,在演示级应用粗粒度压缩,详细说明用于知识保留的迭代提示算法,并引入对齐以解决紧凑型和黑盒模型之间的分配差距。

添加图片注释,不超过 140 字(可选)

**

微调

**
插值技术的微调外推涉及调整预训练的语言模型来处理初始训练期间未遇到的较长输入序列。 在对指定长度范围内的序列(插值)进行初步训练后,模型会经历微调过程以提高其在较长序列上的性能。 这种适应提高了模型泛化到扩展上下文的能力,确保无缝处理最初观察的和推断的输入长度。

基于RoPE的方法
线性位置内插 Linear Positional Interpolation
YaRN(Yet another RoPE extensioN)
PoSE(Positional Skip-wisE)

如图是位置插值(Chen,2023a)方法。 对于具有 2048 个位置预训练上下文窗口的 Llama 模型,左上角显示标准用法。 在长度外推(右上)中,模型处理最多 4096 个看不见的位置(红点)。位置插值(左下)将位置索引(蓝色和绿点)从 [0, 4096] 缩小到 [0, 2048], 使它们保持在预训练的范围内。

添加图片注释,不超过 140 字(可选)

如图是全长度微调与 PoSE(Zhu et al., 2023)微调的图示,用于将上下文从 2,048 个tokens扩展到 8,192 个tokens。 全长度微调直接使用全部 8,192 个tokens,而 PoSE 通过独特的跳偏差项调整 2,048 个tokens的位置索引。 这使得模型在微调时能够适应不同的相对位置。

添加图片注释,不超过 140 字(可选)

下表是与上下文长度扩展技术相关所有工作的总结。 按以下因素划分每项工作:1. 技术,2. 训练长度,3. 评估长度,4. 指标,5. 模型,6. 任务,和 7. 基准。
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)

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

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

相关文章

C++11 线程池:轻量级高并发解决方案

C11 线程池:轻量级高并发解决方案 线程池(Thread Pool)是一种线程管理的机制,它包含了多个预先创建的线程,用于执行多个任务,这些任务被放入任务队列中等待执行。 满足我们的生产者和消费者模型。 线程…

一文带你快速了解GPT-4o!内含免费使用指南!

一、GPT-4o简介 北京时间5月14日,OpenAI举行春季发布会。OpenAI在活动中发布了新旗舰模型“GPT-4o”!据OpenAI首席技术官穆里穆拉蒂(Muri Murati)介绍,GPT-4o在继承GPT-4强大智能的同时,进一步提升了文本、…

电力场景设备漏油检测数据集VOC+YOLO格式338张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):338 标注数量(xml文件个数):338 标注数量(txt文件个数):338 标注类别…

Qt---项目的创建及运行

一、创建第一个Qt程序 1. 点击创建项目后,选择项目路径以及给项目起名称 名称:不能有中文、不能有空格 路径:不能有中文路径 2. 默认创建有窗口类myWidget,基类有三种选择:QWidget、QMainWindow、QDialog 3. m…

#自学习# 记一次py脚本打开浏览器页面

在项目总结中,遇到系统后台利用浏览器拉起一个已知路径页面的需求,趁着机会整理下。实现起来比较简单,浏览器默认谷歌。 一、技术原理 Selenium:Selenium 是一个用于自动化 Web 浏览器的工具,可模拟用户在浏览器中的各…

成都百洲文化传媒有限公司怎么样?靠谱吗?

在数字化浪潮席卷全球的今天,电商行业正以前所未有的速度蓬勃发展。作为这一变革的积极参与者和推动者,成都百洲文化传媒有限公司以其专业的电商服务,正逐渐成为行业内的佼佼者。 一、公司简介 成都百洲文化传媒有限公司自成立以来&#xff…

MyBatis的创建和测试

创建项目点击Spring Initializr然后点击next 点击SQL 选择里面的Mybatis Framework和Mysql Driver 按如下图片创建项目 user表中的数据 #下面这些内容是为了让MyBatis映射 #指定Mybatis的Mapper文件 mybatis.mapper-locationsclasspath:mappers/*xml #指定Mybatis的实体目录 my…

【Java】IDEA自动生成类图和时序图

【Java】IDEA自动生成类图和时序图 idea 的强大之处在于此,它包含了很多小插件,我们不需要再次下载相关插件,只需要在idea中小小的设置一下就可以了,下面是设置方法,我用的是idea2020版本 打开设置File -> Settings->Diagr…

Netty-面试题(中)(五十)

关于零拷贝和堆外内存 Java在将数据发送出去的时候,会先将数据从堆内存拷贝到堆外内存,然后才会将堆外内存再拷贝到内核态,进行消息的收发,代码如下: 所以,我们发现,假如我们在收发报文的时候使用直接内存&…

【Linux】进程信号(2万字)

目录 前言 一、生活角度的信号 1.1、我们来见一见信号: 1.2、模拟一下 kill 指令 二、信号的处理 三、产生信号的5种方法 3.1、kill命令 3.2、键盘可以产生信号 3.3、3种系统调用 3.4、软件条件 3.5、异常 四、比较 core 和 Term 五、键盘信号产生 六…

SSL/TLS协议信息泄露漏洞(CVE-2016-2183)解法

1.运行gpedit.msc,进入本地组策略编辑器。 2. 本地组策略编辑器-->计算机配置-->管理模板-->网络-->SSL配置设置-->启用“SSL密码套件顺序”。 3. 将原有的密码套件值清空,拷入下面的值,保存设置,并重启服务器即…

EmotiVoice 实时语音合成TTS;api接口远程调用

参考:https://github.com/netease-youdao/EmotiVoice 测试整体速度可以 docker安装: 运行容器:默认运行了两个服务,8501 一个streamlit页面,另外8000是一个api接口服务 docker run -dp 8501:8501 -p 8250:8000 syq163/emoti-voice:latest##gpu运行 (gpu运行遇到CUDA er…

ios与android上音频格式的推荐

首先贴一张官方对于ios与android上音频格式的推荐: 这里只给出了推荐格式,一般我们在实际运用中会使用如下方式: 一、IOS与安卓各一套:音乐:都使用MP3 音效:ios用caf Android用ogg 二、使用通用的MP3格式…

【Linux系统编程】第十八弹---进程状态(上)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、操作系统进程 1.1、进程背景 1.2、进程如何在CPU上运行的? 1.2、进程状态 2、Linux的进程状态 2.1、如何描…

Linux修炼之路之权限

目录 引言 一:Linux中用户的分类 二:在Linux中的权限 1.权限的两种属性 1.人的属性 2.事物属性 -主要以文件属性为主 3.文件权限值的两种表示方式方法 2.更改文件访问者(拥有者,所属组,其他人)权限属性 3.更改文件的拥有…

commvault学习(7):恢复oracle

在实际生产环境中,oracle的恢复方式大部分是异机恢复。 环境: 备份机:windows server2008,ip:192.168.20.56 恢复目标机:windows server2008,ip:192.168.20.55 CS、MA&#xff1…

建立一物一码数字化营销体系,纳宝科技助力五丰黎红在调味品行业再创佳绩!

五丰黎红隶属于华润五丰集团,公司历史可溯源至1979年,前身是汉源花椒油厂,是一家拥有悠久历史的调味品品牌。一直以来,五丰黎红坚持调味品原料、研发、生产、加工一体化的全产业链经营模式,以“质量”为核心&#xff0…

[FlareOn1]Bob Doge

[FlareOn1]Bob Doge Hint:本题解出相应字符串后请用flag{}包裹,形如:flag{123456flare-on.com} 得到的 flag 请包上 flag{} 提交。 密码:malware 没什么思路,原exe文件运行又install了一个challenge1.exe文件 c#写的&#xff…

windows vscode设置扩展和缓存目录

vscode的扩展和缓存占了很大的空间,而且默认在C盘,很烦。。。 修改vscode快捷方式的目标处:"C:\Users\Nv9\AppData\Local\Programs\Microsoft VS Code\Code.exe" --extensions-dir "D:\Program Cache\VScode\extensions"…

基础模型的推理:综述

24年1月论文“A Survey of Reasoning with Foundation Models”,来自香港中文大学、华为、香港大学、上海AI实验室、香港科技大学、大连理工、北京大学、清华大学、合肥工大、中国人民大学、复旦大学和香港科技大学广州分校。 推理是解决复杂问题的关键能力&#x…