企业微信
悟空CRM  >   公司新闻  >  Giraffe:世界上第一个商业可用的32K长上下文开源LLM(基于Llama-2)

Giraffe:世界上第一个商业可用的32K长上下文开源LLM(基于Llama-2)

悟空软件 阅读次数:437 次浏览

项目简介

选择如何对 Transformer 的位置信息进行编码一直是 LLM 架构的关键组成部分之一。

最近我们和社区其他人感兴趣的一个领域是法学硕士是否可以扩展到更长的背景。

我们使用不同的方案进行了一系列实验,以扩展 Llama 的上下文长度功能,Llama 已使用 RoPE(旋转位置嵌入)编码在 2048 上下文长度上进行了预训练。在这里,我们分享一些结果以及培训和评估脚本,希望对社区有用。对于我们性能最佳的模型(在尺度 4 和 16 处使用 IFT 进行线性缩放),我们还共享权重,以防其他人希望使用它们或进行自己的测试。我们认为,规模 16 模型应该在高达 16k 上下文长度、甚至可能高达约 20-24k 上下文长度的现实任务中表现良好。

概述

我们进行了各种各样的实验,试图延长模型的上下文长度。首先,我们尝试简单地使用基本 Llama 模型零样本。正如预期的那样,它在 2048 上下文长度之前表现良好,但随后迅速恶化。

接下来,我们研究了微调方法,在 RedPajama 数据集上以 4096 个上下文长度训练模型。这导致预期的性能改进高达 4096 个上下文,但同样,不会再进一步。

扩展上下文长度的另一种方法是以某种方式修改 RoPE 编码。在这里,我们尝试了许多不同的想法:

线性缩放,如 kaiokendev.github.io 所描述。

通过幂缩放 RoPE 的傅立叶基,使得低频比高频拉伸得更多。

对傅立叶基应用截断。我们的想法是,我们希望模型只看到足够快的频率,以便在训练期间至少获得一个完整的周期;任何较慢的频率都设置为 0(相当于根本不旋转,即在所有上下文长度上同样重要)。

随机化位置向量。

特别是,我们将 RedPajama 数据集的微调和 Vicuna 数据集的指令微调与上述方法结合起来。这就是取得最丰硕成果的原因。

最后,我们实现并尝试了 xPos 论文中描述的方法。这种方法增加了衰减幅度惩罚项,导致快速频率在长距离上的影响比傅立叶基中的慢频率的影响更小(请参阅我们的博客文章,了解显示这一点的相似性热图)。

突出的结果

也许我们最尖锐的观察是,不同的评估方法/任务会导致上述方法的不同排名。这将在下面进一步详细描述。

也就是说,我们提出了以下一般性观察:

线性插值/缩放似乎是增加模型上下文长度的最稳健的方法。

使用 N 的线性尺度并不一定会导致模型上下文长度增加 N 倍。例如,我们的尺度 16 实验通常在上下文长度为 16000 而不是 32000(~2048 * 16)后停止表现良好。我们对如何改善这种影响有一些想法,并计划在未来的工作中进行。

截断和随机化似乎都具有很高的困惑度分数,但在检索任务上表现不佳。

使用 Vicuna 数据集进行指令微调可在基本模型能够处理的长度上显着提高检索上下文的准确性,但无法在基本模型失败的长度上“修复”基本模型。

评估任务

为了进行评估,我们使用了两个不同的数据集:

用于在上下文中定位子字符串的 LMSys 数据集(“行”任务)

我们自己的开放书问答数据集 WikiQA,它基于其他开源基础 QA 数据集

此外,我们还研究了训练集和评估集的对数损失

对于 LMSys 任务,我们生成了新的更长的测试用例,上下文长度高达约 25000,超出了原始数据集中的 16000 个上下文测试用例。

WikiQA 任务是根据维基百科文档中给出的信息回答问题的任务。我们基于 Google Natural Questions 中的简答格式数据来构建我们的 QA 任务。它的格式为文档和问题。我们确保问题的答案是简短的答案,可以是单个单词,也可以是直接从文档中剪切粘贴的小句子。有了这样的任务结构,我们就可以准确地确定法学硕士应该在上下文中“寻找”答案的位置,从而通过仔细地将答案放置在不同的位置来有效地评估扩展上下文长度的每个部分。

我们选择了大型维基百科文档并对其进行了截断,以获得同一文档的多个版本,其大小在 2000 到 16000 个标记之间变化。对于每种尺寸的文档,我们还有多个版本,将问题和答案文本放置在不同的位置,即是否出现在文档的前 10%、大部分或最后 10%。拥有同一文档的多个版本使我们能够在模型大小和一个模型的上下文位置内获得详尽且公平的评估,因为我们本质上要求的是相同的信息。

基于维基百科的数据集的一个潜在问题是,该模型也许可以从其预训练的语料库而不是上下文中正确回答。为了解决这个问题,我们创建了另一个“更改的”数据集。该数据仅包含具有数字答案的问题。在这里,我们将答案以及文档中每次出现的答案更改为不同的数字。本质上是确保如果法学硕士从其预训练的语料库中收集数据,它会给出错误的答案。修改如下:

如果答案是一年,这是相当频繁的(即在 1000-2100 之间),我们将其更改为原始值 +/- 10 范围内的不同随机值。我们将年份视为特殊情况,以免因弄乱年代信息而使文件的解释变得荒谬

如果答案是任何其他数字,我们将其更改为具有相同位数的不同随机数

 结果

LM系统评估

作为关于以下结果的一般观点,作者认为此任务的准确性的微小差异并不能特别表明模型排名质量。在解释结果时,我们通常会关注最广泛的趋势。

此外,作为基线,标准 Llama-13b 仅具有最多 2048 个上下文长度的非零精度(其 Vicuna 指令微调版本也是如此)。

不同缩放方法的比较

 

在上面我们比较了不同的缩放方法。“缩放”是指使用指定缩放值进行线性插值。我们看到,尺度为 16 的线性插值是唯一一种在上下文长度大于 9000 时实现非零精度的插值方法。然而,这似乎会牺牲一些较短上下文的精度。

在较短的上下文中,幂 = 0.5 的基础似乎特别适合这项任务,但随着上下文长度的增加,准确性会急剧下降。

有趣的是,scale=16 并没有像人们希望的那样具有普遍性。天真地,人们期望遵循scale=4的趋势——直到8192为止都是非零的(这是合理的,因为原始上下文长度是2048,并且8192 = 2048 * 4;除此之外,模型看到的是相对距离在以前从未遇到过的键和查询之间),scale=16 应该一直非零,直到 2048 * 16 = 32768。

IFT(指令微调)的影响

在上面,我们通过使用 LoRA 使用 Vicuna 指令集进行训练展示了 IFT 的影响。我们看到 IFT 确实以微小但不可忽略的幅度提高了准确性。然而,改变准确度曲线的整体形状是不够的——并且它不会对模型可以在此任务上实现非零准确度的上下文长度范围进行任何扩展。

在与训练不同的尺度上评估零射击

在上面,我们展示了在评估时尝试与模型训练时不同的比例值(用于线性插值)的各种实验。绿色曲线表示采用基本模型(在 2048 上下文中训练)并向其应用比例值。它确实将非零范围从 2048 扩展到 4096,但整个精度较低。然而,一般来说,一旦模型经过规模 > 0 的训练,似乎该模型就可以在评估时很好地从零射击到更大的规模——极大地增加了连贯上下文长度的范围(例如,比较训练=4,Eval=8 在上下文长度为 16k 时为非零,而对于上面两张图的 8k 以上,Eval=8 为 0)。然而,这确实是以精度下降为代价的,特别是对于 Train=16、Eval=32 的情况。

Train=16, Eval=12 运行具有我们见过的最长的非零精度上下文长度。它在上下文长度约为 20000 时获得非零分数。

项目链接

https://github.com/abacusai/long-context

 

悟空CRM产品更多介绍:www.5kcrm.com

相关内容

CRM在商业中的使用有哪些?

CRM在商业中的使用有哪些?CRM在商业当中使用得比较广泛,涵盖的领域也比较多,所以,很多人都希望可以知道它在商业当中具体被用在哪些方面,那么,CRM在商业中的使用具体体现在哪些方面呢?接下来和悟空CRM一起来看看答案。1、销售管理。CRM可以被用在收集、分类、评分和分配销售线索,帮助销售人员优先关注最有可能成为成交的潜在客户,同时,它的销售流程也可以实现自动化,还能够预测和进行绩效管理。2、市场
相关文章

客户服务系统是什么?有什么重要性?

客户服务系统相信很多企业管理者都不会觉得陌生,但是,他们往往对这个系统的相关情况也不熟悉,所以,他们会问:客户服务系统是什么?有什么重要性呢?下面就和悟空CRM一起来了解这两个问题的答案。客户服务系统是什么客户服务系统是一种用在管理和优化企业以及客户之间互动的技术解决方案,这类型的解决方案包含有很多工具和程序,作用在于能够让客户体验得到提升,也能够让客户满意度增加,除此以外,它还能够让企业的运营效
相关文章

本地化部署CRM软件有哪些厂家?为什么选择悟空CRM?

本地化部署CRM软件的好处在于它可以在企业自己的服务器上运行和使用,并不需要在云服务提供商的服务器上面使用,这样就能够确保数据安全性,也能够达到企业更好控制数据的效果,所以,很多大型企业都会考虑使用这样的软件满足企业的管理需求。那么,本地化部署CRM软件有哪些厂家呢?为什么选择悟空CRM呢?下面就一起来看看答案。本地化部署CRM软件有哪些厂家1、悟空CRM。悟空CRM相信很多国内企业管理者都听说过
相关文章

解码神器:诉讼案件管理工具的功能与作用探析

当我们面对复杂的法律纠纷和冗长的诉讼流程时,一款高效的诉讼案件管理工具就如同一盏明灯,为我们照亮前行的道路。那么,这样的工具究竟有何神通广大之处呢?让我们一起揭秘其功能与作用。1. 组织与跟踪案件信息就像你的个人助手一样,诉讼案件管理工具能帮你整理所有的案件细节。从起诉状到判决书,从证人名单到法庭日期,所有重要信息都能一目了然地存储和更新,确保你不会错过任何关键步骤。2. 提升效率与准确性传统的手
相关文章

本地化部署CRM软件与SaaS化CRM的优缺点是什么?

很多企业在选择crm系统时候,往往会因为不知道自己应该选择本地化CRM软件还是Saas化CRM而烦恼,所以,他们希望能够知道二者的优缺点是怎样的。通过了解优缺点来判断哪一种系统更适合自己选择。那么,本地化部署CRM软件与SaaS化CRM的优缺点是什么?下面和小编一起来看看答案。本地化部署CRM软件与SaaS化CRM的优缺点本地化部署CRM软件的优缺点优点。本地化部署CRM软件的有点在于它的相关数据
相关文章

主流客户服务系统(可免费试用),腾讯使用的品牌

现在是数字化转型的时代,企业对客户服务系统也比较依赖,他们在选择这类型的系统时候都会考虑一些能够帮助提升客户体验、优化内部管理流程的大型系统,在面对市场上众多的系统时候,他们认为选择可免费试用的系统能够让自己更准确知道所选择的系统如何。那么,主流客户服务系统(可免费试用),腾讯使用的品牌到底是哪个呢?下面来看看答案。在众多的主流客户服务系统(可免费试用)当中,悟空CRM凭借着自身卓越的功能以及优秀
相关文章

客户CRM管理系统选型指南:主流工具哪家好?

对于企业管理者而言,选择到合适的客户CRM管理系统能够帮助优化企业销售、市场营销以及服务流程,它的重要性不言而喻,但是,面对市场上众多的客户CRM管理系统时候,很多企业管理者往往不知道自己到底应该选择什么样的产品才能够满足自己的企业CRM管理需求。那么,客户CRM管理系统选型指南是怎样的?主流工具哪家好呢?下面就一起来做了解。客户CRM管理系统选型指南1、功能需求。选择客户CRM管理系统时候,首先
相关文章

本地化部署CRM软件安全性如何?哪家品牌好?

有很多企业管理者都会结合自己企业的管理需求而选择CRM软件满足自己企业的仓储管理需求,有的人表示:自己在了解本地化部署CRM时候,得知这种部署方式是比较受关注的一种部署方式。但是,他们也会因为担心这种部署方式的安全性而烦恼不已。那么,本地化部署CRM软件安全性如何呢?本地化部署CRM软件哪家品牌好?下面就一起来做了解。本地化部署CRM软件安全性如何本地化部署CRM软件的安全性是值得肯定的,它能够提
相关文章

CRM外呼系统是什么?CRM外呼系统有什么重要性?

可能有的企业管理者听说过CRM外呼系统,但是,他们对这种系统的相关情况并不了解,甚至不知道这类型的系统到底是什么。那么,CRM外呼系统是什么?CRM外呼系统的功能?有什么重要性呢?下面就和悟空CRM一起来看看这两个问题的答案。CRM外呼系统是什么CRM外呼系统是一种集成在客户关系管理系统当中的工具,它专门设计用在管理企业和现有客户以及潜在客户之间的外呼活动,这类型的系统往往具备自动化呼叫、呼叫脚本
相关文章

外贸用哪些CRM外贸管理软件?出口企业专用的

外贸企业选择CRM系统的目的是为了让自己的企业客户管理工作变得更简单,但是,目前市场上的CRM外贸管理软件非常多,很多人都不知道应该选择什么样的CRM外贸管理软件才能够满足自己的企业管理需求。那么,外贸用哪些CRM外贸管理软件?出口企业专用的软件哪个好?外贸用哪些CRM外贸管理软件?1、悟空CRM。悟空CRM是一款专门为出口企业设计的CRM软件,本身有独特的功能和优势,主要体现在有全面的业务管理功
相关文章
最新文章

CRM在商业中的使用有哪些?

CRM在商业中的使用有哪些?CRM在商业当中使用得比较广泛,涵盖的领域也比较多,所以,很多人都希望可以知道它在商业当中具体被用在哪些方面,那么,CRM在商业中的使用具体体现在哪些方面呢?接下来和悟空CRM一起来看看答案。1、销售管理。CRM可以被用在收集、分类、评分和分配销售线索,帮助销售人员优先关注最有可能成为成交的潜在客户,同时,它的销售流程也可以实现自动化,还能够预测和进行绩效管理。2、市场
最新文章

客户服务系统是什么?有什么重要性?

客户服务系统相信很多企业管理者都不会觉得陌生,但是,他们往往对这个系统的相关情况也不熟悉,所以,他们会问:客户服务系统是什么?有什么重要性呢?下面就和悟空CRM一起来了解这两个问题的答案。客户服务系统是什么客户服务系统是一种用在管理和优化企业以及客户之间互动的技术解决方案,这类型的解决方案包含有很多工具和程序,作用在于能够让客户体验得到提升,也能够让客户满意度增加,除此以外,它还能够让企业的运营效
最新文章

本地化部署CRM软件有哪些厂家?为什么选择悟空CRM?

本地化部署CRM软件的好处在于它可以在企业自己的服务器上运行和使用,并不需要在云服务提供商的服务器上面使用,这样就能够确保数据安全性,也能够达到企业更好控制数据的效果,所以,很多大型企业都会考虑使用这样的软件满足企业的管理需求。那么,本地化部署CRM软件有哪些厂家呢?为什么选择悟空CRM呢?下面就一起来看看答案。本地化部署CRM软件有哪些厂家1、悟空CRM。悟空CRM相信很多国内企业管理者都听说过
最新文章

快速注册,立即使用

仅需一分钟,立即注册悟空云。悟空CRM免费试用。
客户端下载