Prompt Compression with Context-Aware Sentence Encoding for Fast and Improved LLM Inference

📄 arXiv: 2409.01227v3 📥 PDF

作者: Barys Liskavets, Maxim Ushakov, Shuvendu Roy, Mark Klibanov, Ali Etemad, Shane Luke

分类: cs.CL, cs.LG

发布日期: 2024-09-02 (更新: 2024-12-18)

备注: Accepted in AAAI Conference on Artificial Intelligence (AAAI-25)

🔗 代码/项目: GITHUB


💡 一句话要点

提出上下文感知提示压缩方法,加速并提升LLM推理性能

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 提示压缩 上下文感知 句子编码器 大型语言模型 对比学习

📋 核心要点

  1. 现有基于token移除的提示压缩方法在高压缩率下易丢失语义信息,且计算效率存在挑战。
  2. 论文提出上下文感知提示压缩(CPC),利用上下文感知句子编码器为句子打分,保留关键信息。
  3. 实验表明,CPC方法在基准数据集上优于现有方法,且推理速度提升显著,尤其在短文本约束下。

📝 摘要(中文)

大型语言模型(LLMs)引发了对压缩上下文长度的新研究,旨在降低计算成本,同时确保LLMs能够保留有用的信息来回答给定的问题。基于token的移除方法是这一方向上最突出的方法之一,但存在因中间token移除而导致上下文语义丢失的风险,尤其是在高压缩率下,同时也面临计算效率方面的挑战。本文提出了一种上下文感知提示压缩(CPC)方法,这是一种句子级别的提示压缩技术,其关键创新是一种新型的上下文感知句子编码器,该编码器为给定问题的每个句子提供相关性得分。为了训练这个编码器,我们生成了一个新的数据集,由问题、正例和负例对组成,其中正例是与问题相关的句子,而负例是不相关的上下文句子。我们以对比的方式训练编码器,以学习上下文感知的句子表示。我们的方法在基准数据集上显著优于以往的提示压缩方法,并且与最佳token级别压缩方法相比,推理速度提高了10.93倍。我们还发现,在大多数基准测试中,对于较短的长度约束,改进效果更好,这表明我们提出的解决方案在压缩较短上下文中的相关信息方面是有效的。最后,我们发布了代码和数据集,以便快速重现和进一步开发。

🔬 方法详解

问题定义:论文旨在解决大型语言模型(LLMs)推理过程中,由于上下文长度过长导致的计算成本高昂问题。现有的基于token移除的压缩方法,在高压缩率下容易丢失上下文的语义信息,并且计算效率较低,无法满足实际应用的需求。

核心思路:论文的核心思路是进行句子级别的提示压缩,通过识别并保留与问题最相关的句子,从而在减少上下文长度的同时,尽可能地保留关键信息。这种方法避免了token级别移除可能造成的语义割裂问题,并且可以更高效地进行压缩。

技术框架:CPC方法主要包含以下几个阶段:1) 数据集构建:构建包含问题、正例(相关句子)和负例(不相关句子)的数据集。2) 上下文感知句子编码器训练:使用对比学习方法训练句子编码器,使其能够区分相关和不相关的句子。3) 提示压缩:对于给定的问题和上下文,使用训练好的编码器为每个句子打分,并根据分数选择保留的句子,形成压缩后的提示。

关键创新:论文的关键创新在于提出了上下文感知的句子编码器。该编码器能够根据给定的问题,动态地评估每个句子与问题的相关性,从而实现更精确的提示压缩。与传统的句子编码器不同,该编码器在训练过程中考虑了上下文信息,因此能够更好地捕捉句子在特定语境下的含义。

关键设计:在数据集构建方面,论文采用了正负例对比的方式,使得编码器能够学习到区分相关和不相关句子的能力。在编码器训练方面,使用了对比损失函数,鼓励编码器将相关句子映射到相近的向量空间,将不相关句子映射到远离的向量空间。具体的网络结构和参数设置在论文中未详细说明,属于未知信息。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,CPC方法在多个基准数据集上显著优于现有的提示压缩方法。与最佳的token级别压缩方法相比,CPC的推理速度提高了高达10.93倍。此外,在较短的长度约束下,CPC的性能提升更为明显,这表明其在压缩短文本上下文中的相关信息方面具有优势。

🎯 应用场景

该研究成果可应用于各种需要快速LLM推理的场景,例如智能客服、在线问答系统、移动设备上的LLM应用等。通过压缩提示,可以显著降低计算成本,提高响应速度,使得LLM能够更广泛地应用于资源受限的环境中,具有重要的实际应用价值。

📄 摘要(原文)

Large language models (LLMs) have triggered a new stream of research focusing on compressing the context length to reduce the computational cost while ensuring the retention of helpful information for LLMs to answer the given question. Token-based removal methods are one of the most prominent approaches in this direction, but risk losing the semantics of the context caused by intermediate token removal, especially under high compression ratios, while also facing challenges in computational efficiency. In this work, we propose context-aware prompt compression (CPC), a sentence-level prompt compression technique where its key innovation is a novel context-aware sentence encoder that provides a relevance score for each sentence for a given question. To train this encoder, we generate a new dataset consisting of questions, positives, and negative pairs where positives are sentences relevant to the question, while negatives are irrelevant context sentences. We train the encoder in a contrastive setup to learn context-aware sentence representations. Our method considerably outperforms prior works on prompt compression on benchmark datasets and is up to 10.93x faster at inference compared to the best token-level compression method. We also find better improvement for shorter length constraints in most benchmarks, showing the effectiveness of our proposed solution in the compression of relevant information in a shorter context. Finally, we release the code and the dataset for quick reproducibility and further development: https://github.com/Workday/cpc.