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

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

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

项目简介

选择如何对 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就针对这个问题的答案为大家做说明。1、客户信息管理。CRM可以集中存储客户的相关信息,这些信息包含有基本信息、偏好,交易历史、沟通记录以及需求等等,这样就能够让销售人员可以更好检索和更新客户数据,也能够让自己在接触客户时候提供针对性和个
相关文章

CRM在银行业是如何运作使用的?

CRM在银行业运作使用是全面而且深入的,有了CRM以后,可以让银行的客户服务品质、客户忠诚度得到提升,也能够实现精准的市场定位和营销策略。那么,CRM在银行业如何运作使用的?下面就和悟空crm一起来看看答案。1、客户信息管理。银行CRM系统可以集中存储客户的相关数据,从而构建出360度客户视图。2、客户细分和价值分析。银行使用CRM系统可以对大量客户数据进行分析,这样就能够识别不一样的客户群体特征
相关文章

在线CRM是什么?在线CRM选择哪家好?

现在有很多企业会考虑选择在线crm,因为他们认为在线crm是很不错的选择,可以让自己更轻松完成客户关系管理工作。那么,在线CRM是什么?在线CRM选择哪家好呢?接下来和悟空CRM一起来看看它的答案。在线CRM是什么在线CRM可以在网页与手机app上直接打开使用,是一种基于云计算技术的客户关系管理系统,它允许企业通过互联网访问和管理相关的CRM软件和数据,必须要在本地的计算机或者服务器上面安装对应的
相关文章

最好的免费CRM是哪家?

在选择CRM系统时候,很多企业都会因为自身的预算有限,所以,想要找一家合适的CRM免费帮助自己完成客户关系管理。那么,最好的免费CRM是哪家呢?最好的免费CRM是悟空CRM,它是一款比较受认可的免费CRM系统,它在国内市场上已经有一定的用户基础,它可以提供基础的客户关系管理、销售跟踪和市场营销等等功能,对于一些小企业、初创企业而言,它可以帮助企业降低客户关系成本投入,当然,它也有定制化系统可以满足
相关文章

CRM平台的意义有哪些?

CRM平台目前在企业当中使用得比较多,很多企业都会考虑选择这样的平台来帮助自己,让自己的企业管理工作变得更简单。那么,CRM平台的意义有哪些呢?接下来就和大家一起来看看它的意义。1、实现客户资源整合。CRM平台可以集中管理客户的相关数据,从而形成全面的客户视图,让企业可以更好理解和为客户服务。2、提升效能。CRM平台可以通过自动化销售流程帮助销售人员更好跟进客户,也能够缩短销售周期和帮助提升成交率
相关文章

最有效的CRM客户管理系统是哪家?腾讯使用的品牌

在进行客户关系管理过程当中,很多人都会考虑采用一些有效的CRM客户管理系统来帮助自己的企业更好完成客户关系管理工作,因为他们认为这样可以更好促进自己的企业发展。那么,最有效的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的本质是什么?客户关系管理CRM的核心是什么?

CRM作为一个客户关系管理系统,它的相关情况一直备受企业关注,那么,CRM的本质到底是什么呢?客户关系管理CRM的核心是什么?下面就和悟空CRM一起来看看它的本质与核心。▎CRM的本质是什么?客户关系管理CRM的核心是什么?CRM的本质与核心是企业通过以“客户为中心”的商业策略、方法和技术手段等等系统性的管理和优化跟客户之间的交互和关系,让客户的满意度、忠诚度以及生命周期价值得到提升,从而让企业的
相关文章
最新文章

CRM是如何帮助销售人员工作的?

CRM在销售管理的过程当中有着比较重要的作用,有很多人都会根据情况选择它来帮助自己更好完成企业客户关系管理工作。那么,CRM是如何帮助销售人员工作的?下面悟空CRM就针对这个问题的答案为大家做说明。1、客户信息管理。CRM可以集中存储客户的相关信息,这些信息包含有基本信息、偏好,交易历史、沟通记录以及需求等等,这样就能够让销售人员可以更好检索和更新客户数据,也能够让自己在接触客户时候提供针对性和个
最新文章

CRM在银行业是如何运作使用的?

CRM在银行业运作使用是全面而且深入的,有了CRM以后,可以让银行的客户服务品质、客户忠诚度得到提升,也能够实现精准的市场定位和营销策略。那么,CRM在银行业如何运作使用的?下面就和悟空crm一起来看看答案。1、客户信息管理。银行CRM系统可以集中存储客户的相关数据,从而构建出360度客户视图。2、客户细分和价值分析。银行使用CRM系统可以对大量客户数据进行分析,这样就能够识别不一样的客户群体特征
最新文章

在线CRM是什么?在线CRM选择哪家好?

现在有很多企业会考虑选择在线crm,因为他们认为在线crm是很不错的选择,可以让自己更轻松完成客户关系管理工作。那么,在线CRM是什么?在线CRM选择哪家好呢?接下来和悟空CRM一起来看看它的答案。在线CRM是什么在线CRM可以在网页与手机app上直接打开使用,是一种基于云计算技术的客户关系管理系统,它允许企业通过互联网访问和管理相关的CRM软件和数据,必须要在本地的计算机或者服务器上面安装对应的
最新文章

快速注册,立即使用

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