LLMLingua: 一款可減少高達 20 倍 Token 使用量以降低成本並加速 LLM 推論的 Prompt 壓縮工具包

LLMLingua: 一款可減少高達 20 倍 Token 使用量以降低成本並加速 LLM 推論的 Prompt 壓縮工具包

它解決了什麼問題

LLMLingua 解決了大型語言模型 (LLMs) 在 Prompt 長度限制和高昂 API 成本方面的局限性。它特別針對「lost in the middle」問題(即 LLMs 在處理長上下文中間的資訊時會感到吃力),並幫助使用者在不犧牲性能的情況下,將更多資訊放入 Prompt 中。

運作原理

該專案提供了一系列 Prompt 壓縮方法,用於識別並從 Prompt 中移除非必要的 Token:

  • LLMLingua: 使用精簡且訓練良好的語言模型(例如 GPT2-small 或 LLaMA-7B)來移除冗餘的 Token,實現高達 20 倍的壓縮。
  • LongLLMLingua: 專為長上下文場景設計,旨在減輕「lost in the middle」問題並提升 RAG 性能。
  • LLMLingua-2: 一款更快速、與任務無關的壓縮器,透過使用 BERT 層級的編碼器從 GPT-4 進行數據蒸餾訓練而成。
  • SecurityLingua: 一種安全護欄,使用具備安全意識的壓縮技術來揭示越獄攻擊 (jailbreak attacks) 中的惡意意圖。

對象是誰

它專為開發者和研究人員設計,特別是那些正在構建基於 LLM 的應用程式、使用檢索增強生成 (RAG)、處理長文件,或尋求降低 API 成本和推論延遲的使用者。

重點亮點

  • 顯著的壓縮率: 以極小的性能損失減少高達 20 倍的 Prompt 長度。
  • 成本與速度: 透過減少 Token 數量和 KV-cache 大小來降低 API 成本並加速推論。
  • RAG 增強: 在僅使用一小部分 Token 的情況下,將 RAG 性能提升高達 21.4%。
  • 整合: 已整合至 LangChain、LlamaIndex 和 Prompt flow 等熱門框架中。
  • 任務無關性: LLMLingua-2 提供 3 倍至 6 倍的速度提升,並能有效處理領域外 (out-of-domain) 的數據。

Sources