使用 LLMLingua-2 压缩 GPT-4 和 Claude 提示

原文地址:Compress GPT-4 and Claude prompts with LLMLingua-2

2024 年 4 月 1 日

向大型语言模型(LLM)发送的提示长度越短,推理速度就会越快,成本也会越低。因此,提示压缩已经成为LLM研究的热门领域。

在最新的一篇论文中,清华大学和微软的研究人员介绍了一种新的与任务无关的提示压缩技术——LLMLingua-2。LLMLingua-2比其他提示压缩方法更快、更高效,且需要的计算资源更少。对于涉及冗长提示的LLM应用来说,它可以成为一个很好的工具,压缩可以节省大量成本并改善用户体验。

微信截图_20240403110434

任务相关的和任务无关的提示压缩

诸如思维链(CoT)推理、上下文学习和检索增强生成(RAG)等技术使LLM能够处理复杂的任务和未在训练数据中包含的知识。

然而,冗长提示的好处是以增加计算和财务需求为代价的。在某些LLM中,更长的提示可能会降低模型处理上下文信息的能力的准确性。

提示压缩通过缩短原始文本同时保留必要信息来解决这些问题。提示压缩的基本假设是,自然语言包含冗余,这些冗余对人类理解可能有用,但对LLM来说则不必要。

提示压缩可以分为“任务相关”和“任务无关”两种方法。任务相关的压缩方法会根据下游任务或当前查询来移除提示中的令牌。一种流行的方法是LongLLMLingua,它采用一种问题相关的多步骤方法,估计令牌的信息熵并移除冗余部分。其他方法使用强化学习来训练一个模型,基于下游任务提供的奖励信号来压缩提示。任务相关压缩方法的权衡之处在于它们在其他任务上的泛化能力有限。

另一方面,任务无关的方法在压缩提示时不考虑具体任务,使其更适用于更广泛的应用和黑盒LLM。一些任务无关的方法包括LLMLingua和Selective-Context。这些方法使用因果小型语言模型(SLM),如Llama-7B,来评估令牌或词汇单元的信息熵,并移除那些不增加有意义信息的部分。

LLMLingua-2是由原始LLMLingua的作者开发的,是一种任务无关的提示压缩技术。

LLMLingua-2的工作原理

当前的任务无关压缩方法存在一些局限性,这促使研究人员创建了LLMLingua的继任者。

“信息熵可能是一个次优的压缩指标,因为(一)它与提示压缩目标不一致;(二)它只利用单向上下文,可能无法捕获提示压缩所需的所有必要信息。”微软高级研究员、论文合著者钱慧武(Qianhui Wu)表示。

LLMLingua-2将提示压缩重新定义为分类任务,即确定每个令牌是否应该保留或丢弃。它利用这种任务定义来创建提示压缩训练数据集。然后,它使用数据集来训练一个用于压缩任务的轻量级双向转换器编码器模型。

“通过这种方式,它可以从完整的双向上下文中捕获提示压缩所需的所有必要信息,并保证压缩后的提示与原始提示保持一致。”

LLMLingua-2具有几个关键优势。首先,使用双向编码器可以确保捕获提示压缩所需的所有必要信息。其次,由于它使用较小的转换器模型来学习压缩目标,因此具有显著较低的延迟。第三,它的设计旨在保持对原始提示的忠实度,避免幻觉。

训练压缩模型

为了生成用于训练提示压缩模型的数据集,研究人员使用数据蒸馏程序从强大的LLM中提取知识。他们向GPT-4提供提示,并指示它在保留必要信息并避免幻觉的同时减少令牌。

在获得原始文本及其压缩版本的配对后,他们为每个原始文本中的令牌分配一个二进制标签,以确定在压缩后是否应保留或丢弃它。研究人员使用MeetingBank数据集创建了训练示例。

然后,他们在数据集上训练了xlm-roberta-large和multilingual-BERT转换器模型的略微修改版本,以将令牌分类为“保留”或“丢弃”。基于BERT的模型的优势在于,它们学习双向特征,而不是仅具有先前令牌知识的自回归解码器模型。这允许压缩模型学习更丰富的相关性,从而实现更好的压缩。

“在推理过程中,我们根据分类模型计算的概率来确定是否保留或丢弃原始提示中的每个令牌。”研究人员写道。

LLMLingua-2 蒸馏提示

LLMLingua-2的实际应用

研究人员在MeetingBank数据集以及几个领域外数据集(如LongBench、ZeroScrolls、GSM8K和Big Bench Hard)上测试了压缩模型。他们使用GPT-3.5-Turbo作为目标模型。但压缩模型也可以与前沿模型(如GPT-4和Claude 3)一起使用。他们还将LLMLingua-2的压缩、速度和准确性与其他方法以及原始提示进行了比较。

他们的研究结果表明,尽管LLMLingua-2的体积较小,但其压缩性能优于其他任务无关基线,并从GPT-3.5-Turbo到Mistral-7B具有良好的泛化能力。

LLM-Lingua-2实现了2-5倍的压缩率,比现有的提示压缩方法快3-6倍。这意味着,当用于需要长系统和上下文提示的应用程序时,它可以节省大量成本。LLMLingua-2还将延迟降低了1.6-2.9倍,并可将GPU内存成本降低8倍。

有趣的是,当使用Mistral-7B作为目标LLM时,研究人员发现LLMLingua-2的性能甚至优于原始提示。“我们推测,Mistral-7B可能在管理长上下文方面不如GPT-3.5-Turbo擅长。我们的方法通过提供具有更高信息密度的较短提示,有效地提高了Mistral-7B的最终推理性能。”研究人员在论文中写道。

“LLMLingua-2是一种与任务无关的提示压缩方法。”吴说。“这意味着,每当您遇到过长的上下文时,都可以使用LLMLingua-2将其压缩为较短的上下文,以适应有限的上下文窗口,减少财务成本(因为OpenAI根据令牌向用户收费),并减少LLM的推理时间。”

然而,与LongLLMlingua等任务感知压缩方法相比,LLMLingua-2在特定任务上表现不佳。

“我们将这种性能差距归因于[任务感知方法]从问题中获取的额外信息。”研究人员写道。“但是,我们的模型的与任务无关特性使其成为一种高效且具有良好泛化能力的选择,可以部署到不同场景中。”

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

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

相关文章

文献速递:深度学习胰腺癌诊断--螺旋变换与模型驱动的多模态深度学习方案相结合,用于自动预测胰腺癌中TP53突变麦田医学

Title 题目 Combined Spiral Transformation and Model-Driven Multi-Modal Deep Learning Scheme for Automatic Prediction of TP53 Mutation in Pancreatic Cancer 螺旋变换与模型驱动的多模态深度学习方案相结合,用于自动预测胰腺癌中TP53突变 01 文献速递介…

【Springboot整合系列】SpringBoot整合WebService

目录 Web服务介绍Web服务的两种类型Web服务架构Web服务的主要特点Web服务使用场景Web服务标准和技术 WebService介绍WebService的作用适用场景不适用场景 WebService的原理三个角色相关概念 WebService开发框架代码实现服务端1.引入依赖2.实体类3.业务层接口接口实现类 4.配置类…

Savitzky-Golay 滤波与Kalman滤波对比

分别使用SG滤波和Kalman滤波对比了平滑RTK解算的1s基线变化高斯坐标系XYH如下图: 从红框可以看出,SG滤波一定程度反应了波动情况,kalman滤波没有反映出来(PS:当然也可能和我设置参数有关,大家可以尝试&…

换到idf 5.0版本后报错 jsmn could not be found

原因: idf5.0去掉了部分组件,包括jsmn,工程中adf又用到了这个组件,所以会报错。 解决办法: 升级adf到新版本即可。

R2GenCMN中的Encoder_Decoder结构

R2GenCMN中的 Encoder_Decoder 结构 Encoder_Decoder 结构直接关系到文本的生成,它结构参考的transformer的结构 我们这里主要看代码的实现,从视觉编码器的输出开始 1. 模型结构 首先介绍一下整体结构,这里的baseCMN其实就是一个包装了的T…

Termius for Mac v8.4.0激活版下载

Termius for Mac是一款功能强大的多协议远程管理软件,专为开发人员、系统管理员和网络专业人士设计。它支持多种远程连接协议,如SSH、Telnet、RDP、VNC和RFB等,使得用户可以轻松连接到不同类型的远程服务器和设备。 软件下载:Term…

库位电子标签可视化管理,让仓库更智能

一、工厂仓储的目前管理现状 目前工厂仓储管理存在诸多问题,如物料数量种类多,寻找困难且耗时;盘点人力成本高且速度慢;存储位置不清晰,常找不到物料,且多发、少发、错料现象时有发生;系统与库…

日常生活中使用的 4 个核心开发工具

长话短说 本文列出了 2024 年我作为开发人员在日常生活中最常用的 4 个工具。✅ 这些工具旨在提高您的编辑技能、终端导航、笔记以及在应用程序容器化之外使用 Docker。另外,最后我还给大家准备了一个小惊喜。 如果您没有使用本文中至少提到的 1-2 个工具&#xf…

​AI大模型:产品经理的新助手,还是捣蛋鬼?

在科技飞速发展的今天,AI大模型成为了许多行业的“新宠儿”。它们不仅在语音识别、图像处理等方面表现出色,甚至还能写代码、写新闻,甚至写需求文档。这让许多产品经理心动不已,心想:有了AI大模型的帮助,岂…

《pytorch深度学习实战》学习笔记第1章

第1章 深度学习和pytorch库简介 1.1 深度学习革命 机器学习依赖特征工程。而深度学习是从原始数据中自动找出这样的特征。 1.2 pytorhc深度学习 pytorch是一个python程序库。pytorch为深度学习提供了入门指南。pytorch的核心数据结构——张量,为一个多维数组&…

vue源码解析——vue如何将template转换为render函数

Vue 将模板(template)转换为渲染函数(render function)是 Vue 编译器的核心功能,它是 Vue 实现响应式和虚拟 DOM 的关键步骤。在 Vue 中,模板(template)是开发者编写的类似 HTML 的代…

FME学习之旅---day20

我们付出一些成本,时间的或者其他,最终总能收获一些什么。 教程:AutoCAD 入门 FME使用四种主要格式来读取和写入AutoCAD图形文件;初级教程重点介绍AutoDesk AutoCAD DWG\DXF(ACAD) AutoCAD中常用的术语 实体:AutoCAD 图元表示 D…