清华和微软联合起来对提示词下手了!直接缩短80%,跟大模型对话的头疼系数直线下降!变相扩大了上下文窗口!

原创 精选
人工智能
为了应对这些挑战,来自清华和微软的研究人员提出了一种全新的数据精炼流程——LLMLingua-2,目的是从大型语言模型(LLM)中提取知识,实现在不丢失关键信息的前提下对提示词进行压缩,效果十分明显,可以帮原有长度降低到20%。

出品 | 51CTO技术栈(微信号:blog51cto)

想一下,现在普通人调用个大模型有多别扭,你得一个个上传文件,然后再告诉它自己想要什么样的输出,最好给它一套优秀的模版,它才能给出个像样的回答。

这就好比你自己的大脑都快想出答案来了,它只不过是帮你理解下文档做个归纳总结罢了。

现在,除了Kimi的长文本窗口解决了这样一个痛点问题,清华和微软似乎也找到了另一种解决思路:如果能从提示词下手,把提示词压缩,不也就变相地扩大了模型支持的上下文窗口长度了吗?

如果能将提示词进行有效地压缩,某种程度上也相当于扩大了模型支持上下文的长度。

大家都知道,文本信息都是有不少冗余的。目前就有信息熵方法,通过删除某些词或短语来减少这种冗余。

然而,作为依据的信息熵仅仅考虑了文本的单向上下文,进而可能会遗漏对于压缩至关重要的信息;此外,信息熵的计算方式与压缩提示词的真正目的并不完全一致。

为了应对这些挑战,来自清华和微软的研究人员提出了一种全新的数据精炼流程——LLMLingua-2,目的是从大型语言模型(LLM)中提取知识,实现在不丢失关键信息的前提下对提示词进行压缩,效果十分明显,可以帮原有长度降低到20%。

图片图片

据悉, LLMLingua已经被集成到LangChain和LlamaIndex两个广泛使用的RAG框架中。一经发布,在Github上就赢得了业界的关注,现在已经斩获了3.2k Stars。

图片图片

此外,与前一版本LLMLingua以及其他类似技术相比,LLMLingua 2的处理速度提高了3到6倍。

一、实现方法三步走:提示设计、标注筛选、压缩器

为了克服现有基于信息熵的文本压缩方法所面临的问题,LLMLingua-2采取了一种创新的数据提炼策略。

这一策略通过从GPT-4这样的大语言模型中抽取精华信息,实现了在不损失关键内容和避免添加错误信息的前提下,对文本进行高效压缩。

1.提示设计

要想充分利用GPT-4的文本压缩潜力,关键在于如何设定精确的压缩指令。

也就是在压缩文本时,指导GPT-4仅移除那些在原始文本中不那么重要的词汇,同时避免在此过程中引入任何新的词汇。

这样做的目的是为了确保压缩后的文本尽可能地保持原文的真实性和完整性。

图片图片

2.标注与筛选

研究人员利用了从GPT-4等大语言模型中提炼出的知识,开发了一种新颖的数据标注算法。

这个算法能够对原文中的每一个词汇进行标注,明确指出在压缩过程中哪些词汇是必须保留的。

为了保证所构建数据集的高质量,他们还设计了两种质量监控机制,专门用来识别并排除那些品质不佳的数据样本。

图片图片

3.压缩器

最后,研究人员将文本压缩的问题转化为了一个对每个词汇(Token)进行分类的任务,并采用了强大的Transformer作为特征提取器。

这个工具能够理解文本的前后关系,从而精确地抓取对于文本压缩至关重要的信息。

图片图片

通过在精心构建的数据集上进行训练,研究人员的模型能够根据每个词汇的重要性,计算出一个概率值来决定这个词汇是应该被保留在最终的压缩文本中,还是应该被舍弃。

研究人员在一系列任务上测试了LLMLingua-2的性能,这些任务包括上下文学习、文本摘要、对话生成、多文档和单文档问答、代码生成以及合成任务,既包括了域内的数据集也包括了域外的数据集。

测试结果显示,研究人员的方法在保持高性能的同时,减少了最小的性能损失,并且在任务不特定的文本压缩方法中表现突出。

二、性能评估:学习、摘要、对话、代码生成无损齐活

项目团队成员在一系列任务上测试了LLMLingua-2的性能,这些任务包括上下文学习、文本摘要、对话生成、多文档和单文档问答、代码生成以及合成任务,既包括了域内的数据集也包括了域外的数据集。

测试结果显示,研究人员的方法在保持高性能的同时,减少了最小的性能损失,并且在任务不特定的文本压缩方法中表现突出。

1.域内测试(MeetingBank)

研究人员将LLMLingua-2在MeetingBank测试集上的表现与其他强大的基线方法进行了对比。

尽管他们的模型规模远小于基线中使用的LLaMa-2-7B,但在问答和文本摘要任务上,研究人员的方法不仅大幅提升了性能,而且与原始文本提示的表现相差无几。

图片图片

2.跨域测试(LongBench、GSM8K和BBH)

考虑到研究人员的模型仅在MeetingBank的会议记录数据上进行了训练,研究人员进一步探索了其在长文本、逻辑推理和上下文学习等不同场景下的泛化能力。

值得注意的是,尽管LLMLingua-2只在一个数据集上训练,但在域外的测试中,它的表现不仅与当前最先进的任务不特定压缩方法相媲美,甚至在某些情况下表现更优。

图片图片

更多案例,详情可以移步:https://github.com/microsoft/LLMLingua?tab=readme-ov-file

最后,不得不说,围绕大模型,现在的研究越来越接地气了!期待更好用的技术落地!

责任编辑:武晓燕 来源: 51CTO技术栈
相关推荐

2023-07-28 12:13:28

模型语言性能

2024-03-14 08:11:45

模型RoPELlama

2017-05-11 14:00:02

Flask请求上下文应用上下文

2024-07-17 13:11:22

2024-02-20 18:51:54

MetaOpenAI特斯拉

2023-08-10 14:04:15

代码模型

2024-01-03 17:40:49

模型AI

2024-07-19 12:45:23

2024-03-29 14:04:00

模型训练

2020-02-23 16:33:02

GitHub印度子公司

2024-03-25 00:05:00

开源模型AI

2024-01-29 08:49:36

RAG模型检索

2012-12-31 10:01:34

SELinuxSELinux安全

2024-02-27 11:47:44

AI数据

2022-09-14 13:13:51

JavaScript上下文

2021-09-07 09:53:42

JavaScript变量提升

2018-06-17 08:38:17

微软Windows应用程序

2010-09-26 09:35:58

2009-10-19 16:20:53

机房与拓扑管理
点赞
收藏

51CTO技术栈公众号