近期,越来越多的研究在探索大型语言模型(LLM)在实际应用中的推理和生成能力。随着ChatGPT等模型的广泛研究与应用,如何在保留关键信息的同时,压缩的提示成为当前大模型研究的问题之一。
为了加速模型推理和降低成本,微软的新文章提出了一种粒度粗到细的提示压缩方法LLMLingua,它在后期采用了经过良好训练的较小语言模型,通过给提示动态分配不同的压缩彼此,在高压缩下保持语义缺陷。虽然令牌级的压缩提示的格式难以被人类理解,但LLM可以很好地进行解释。
实验证明,这种方法在20倍的压缩下性能损失仍然较小,这不仅能够降低计算成本,还为处理LLM中更长的上下文提供了潜在的解决方案。
论文题目:LLMLingua:压缩提示信息以加速大型语言模型的推理
论文链接: https: //arxiv.org/abs/2310.05736
演示地址:https://huggingface.co/spaces/microsoft/LLMLingua
代码地址:https://aka.ms/LLMLingua
为了加速模型推理,有研究在尝试修改 LLM 的参数(如压缩),但在只能通过 API 访问 LLM 的情况下,这些方法可能并不适用,因此需要考虑从提示方面着手解决问题。
还原之前有工作指出,自然语言本质上是再生的,而LLM有效地可以从被压缩的文本中源文本中提取。因此,近期的一些方法将长提示压缩为短提示,旨在通过保留基本信息的同时减少原始提示的长度,来加速模型推理。
比如说今年新提出的选择性语境方法,首先使用小型语言模型计算原始提示中每个词汇单元(如句子、短语或记号)的自身信息,然后删除附加信息的内容来压缩提示。然而,它不仅忽视了被压缩内容之间的相互依赖关系,还忽略了目标LLM与用于提示压缩的较小语言模型之间的对应关系。
目录
通常指在自然语言处理中,对语言模型表现的一种焦虑。它通常会在给定一段文本后对下一个词预测的不确定性或困惑程度。一般来说,困惑度越低,模型的性能越好,因为表示模型对下一个词预测的自信程度。
在本文中,困惑度被列为裁员提示复杂度的标准。 困惑度的象征在语言模型的预测中贡献的不确定性较小,因此可能被认为是相对结构化的信息,在压缩中被删除也不太影响语义信息。
整体来说,本文所提出的 LLMLingua 框架旨在通过更精细地控制压缩过程,确保在有效减少提示长度的同时保留原始提示信息。模型框架如图 1 所示。
▲图1 LLMLingua框架
该模块用于给提示的不同部分动态地分配不同的压缩比例,从而实现在高度压缩的情况下保持语义边界,有以下两个主要设计动机:
▲算法1 压缩比例控制器
如算法1所示:
该用于在压缩提示的过程中迭代处理每个标记,更细粒度地压缩提示内容,以更准确地保留关键的上下文信息。
▲算法2 ITPC算法
该算法的步骤可以描述为:
该模块用于解决较小语言模型(LM)与黑盒LLM之间的概率分布分布,以提升对提示进行压缩的效果。以下是该模块的主要步骤和目标:
在四个不同领域的数据集上评估对提示压缩的性能。具体来说,评估了 GSM8K(推理和上下文学习)、BBH(推理和上下文学习)、ShareGPT(对话理解),以及 Arxiv-March23(摘要)。
▲表1不同目标压缩比下对话和摘要任务中的性能比较
实验结果如表1和表2所示,可以看出,在几乎所有的实验中,我们提出的方法始终明显优于先前的方法。
▲表2 在数学推理和上下文学习任务中的性能比较
在具有一定的线索推理和ICL任务上,本文的方法相对于Selective-Context方法也具有显着的性能提升。尤其是在GSM8K上,也证明了能够有效保留推理信息。
▲表3 在1-shot约束下GSM8K数据集上的消融结果
本研究通过从粗粒度到细粒度的策略,提出了一种名为 LLMLingua 的小型语言模型困惑度的提示压缩算法,它由三个关键模块组成:压缩比例控制器、迭代令牌级压缩以及对齐。作者在四个数据集上进行了大量的实验,
▲图3在GSM8K上不同压缩比()下各种提示压缩方法的性能比较
如图3所示,随着压缩比例的提高,尤其是在25倍到30倍的范围内,所有方法在性能上都会明显下降。但与其他方法相比,本文的方法在导致性能下降时,明显更偏向于更高的压缩比,这可能受到提示长度、任务类型和涉及句子数量等多个因素的否定。
因此,即使在极端限制的压缩比例下,该方法仍然能够有效地保留原始提示的信息,这对于在实际应用中研究不同和资源约束下的提示至关重要。
邮件:siyushenqi@gmail.com
工作时间:周一至周五,9:30-18:30,节假日休息