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 倍的速度提升,且能有效處理領域外資料。