microsoft/LLMLingua
[EMNLP'23, ACL'24] To speed up LLMs' inference and enhance LLM's perceive of key information, compress the prompt and KV-Cache, which achieves up to 20x compression with minimal performance loss.
What it solves
LLMLingua 解决了大型语言模型(LLM)在提示长度限制和高 API 成本方面的局限。它特别针对“中间丢失”问题——LLM 在长上下文中处理中段信息时的困难,帮助用户在不牺牲性能的前提下,将更多信息塞入提示中。
How it works
该项目提供一系列提示压缩方法,能够识别并移除提示中非必要的 token:
- LLMLingua:使用紧凑且训练良好的语言模型(如 GPT2‑small 或 LLaMA‑7B)去除冗余 token,压缩率最高可达 20 倍。
- LongLLMLingua:专为长上下文场景设计,以缓解“中间丢失”问题并提升 RAG 性能。
- LLMLingua-2:通过从 GPT‑4 进行数据蒸馏训练的 BERT 级编码器,提供更快速、任务无关的压缩器。
- SecurityLingua:安全防护层,使用具安全感知的压缩方式揭露 jailbreak 攻击中的恶意意图。
Who it’s for
此工具适用于开发者和研究人员,特别是构建基于 LLM 的应用、使用检索增强生成(RAG)、处理长文档,或希望降低 API 成本与推理延迟的人士。
Highlights
- Significant Compression:将提示长度缩减至最高 20 倍,且性能损失极小。
- Cost and Speed:通过减少 token 数量与 KV‑cache 大小,降低 API 成本并加速推理。
- RAG Enhancement:在仅使用极少 token 的情况下,提升 RAG 性能至 21.4%。
- Integration:已整合至 LangChain、LlamaIndex、Prompt flow 等主流框架。
- Task-Agnostic:LLMLingua-2 提供 3‑6 倍的速度提升,且能有效处理领域外数据。