11c. Token智能压缩技术 📦

0 阅读5分钟

11c. Token智能压缩技术 📦

1. 概述 📋

Token智能压缩技术是RAG系统中的关键技术之一,它通过智能地压缩输入给大语言模型的上下文内容,在保持语义完整性的前提下显著减少token数量,从而降低成本、提升响应速度、突破上下文窗口限制,同时还能帮助模型更精准地捕捉关键信息,提升答案质量。本文将介绍Token压缩的重要性和常见的压缩技术,帮助我们在实际项目中更好地应用这项技术。🎯

2. Token压缩的重要性 ⚡

我们在RAG系统中常常面临一个困境:检索到的知识内容非常丰富,但直接塞给大语言模型会导致成本飙升、响应变慢,甚至可能超过模型的上下文窗口限制。Token压缩技术就是为了解决这个痛点而诞生的!🎯

2.1 成本与效率的双重压力 💰

大语言模型的调用费用与输入token数量直接相关。当我们需要向模型输入大量检索到的上下文时,成本会迅速攀升。同时,token数量越多,推理延迟也越高,用户体验随之下降。💸

2.2 突破上下文窗口限制 📏

每个模型都有固定的上下文窗口限制。当检索到的内容超过这个限制时,我们只能截断或丢弃部分信息,这可能导致关键知识的丢失。Token压缩可以在保留核心信息的前提下,显著减少token数量,让我们能够处理更长的内容。📚

2.3 提升答案质量 🎯

研究表明,过长的上下文可能导致模型"迷失在信息中",难以准确捕捉关键信息。通过智能压缩,我们可以帮助模型更聚焦于重要内容,从而提升答案的准确性和相关性。✨

下面我们来看一个实际的内容压缩前后对比案例,展示智能压缩的效果 📝:

压缩前内容:

大语言模型(LLM)在处理复杂任务时需要大量上下文信息,但输入token数量过多会导致成本上升、响应延迟增加,甚至超出模型的上下文窗口限制。为了解决这个问题,Token压缩技术应运而生。

压缩后内容:

大语言模型(LLM)处理复杂任务需要大量上下文,但输入token过多会导致成本上升、响应延迟增加,甚至超出上下文窗口限制。Token压缩技术可解决此问题。

从这个例子可以看出,压缩后token数量显著减少,响应时间大幅缩短,而且答案的相关性反而有所提升!这说明智能压缩技术能够有效提炼核心信息,帮助模型更好地理解和处理上下文。🎯


接下来我们将深入了解常见的Token压缩技术,看看业界有哪些成熟的解决方案!🔧

3. 常见的Token压缩技术 🛠️

我们现在来了解一下业界常见的Token压缩技术,这些技术各有特点,适用于不同的应用场景。💡

3.1 基于信息熵的压缩技术 🔍

这类技术通过计算token的信息量来判断其重要性,保留高信息密度的token,移除低信息量的token。

  • SelectiveContext:使用自信息量来量化词语重要性,删除冗余内容
  • LLMLingua系列:通过层级修剪和语义密度排序减少token,支持不同压缩率的灵活调整
  • LongLLMLingua:专为长上下文设计,在保持语义完整的同时实现高效压缩

3.2 查询引导过滤技术 🎯

这类技术根据用户查询与上下文的相关性来过滤内容,确保传递给模型的都是与查询相关的信息。

  • QUITO:利用注意力分数筛选与查询最相关的内容,提高压缩的针对性
  • ContextRank:基于查询与文档的匹配度进行排序,优先保留高相关度的内容

3.3 词元级别的压缩技术 🔧

这类技术直接在token层面进行操作,通过合并或剪枝token来减少数量。

  • Token Merging(词元合并):如ToMe方法,通过将相似或相关的token合并为一个token来减少总数
  • Token Pruning(词元剪枝):如AdapLeR方法,通过剪枝不重要的token来减少输入长度,通常需要在推理过程中对模型进行微调

3.4 基于摘要和提取的压缩技术 📝

这类技术通过生成摘要或提取关键信息来实现压缩。

  • Summary Compression(摘要压缩):生成聚焦于查询的简短摘要,将长文本压缩为精炼的摘要内容
  • Extraction(提取):仅提取包含答案的句子,非常严格地保留与查询最相关的内容
  • Selective(选择性):只保留直接相关的句子,过滤掉不相关的内容

3.5 其他压缩方法 📌

除了上述技术外,还有一些其他有效的压缩方法:

  • REFRAG技术:先用轻量级编码器(如RoBERTa)把每个固定大小的文本块压缩成单个向量,再投影到LLM的token嵌入空间,可实现30倍提速
  • 嵌入压缩:通过嵌入模型将上下文转换为较少的嵌入token,如RECOMP、CompAct、COCOM等方案
  • 规则过滤:自动剔除注释、空行、未使用代码等冗余内容,仅保留核心逻辑传给AI
  • 低相关内容压缩:对RAG检索到的低相关chunk内容做智能压缩,在不损失性能的前提下实现加速

后面的文档会介绍这些压缩技术的原理与实现细节!📊