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 コストという課題を解決します。特に、長いコンテキストの中間部分で情報処理がうまくいかない「ロスト・イン・ザ・ミドル」問題に焦点を当て、性能を犠牲にせずにより多くの情報をプロンプトに収められるよう支援します。
How it works
本プロジェクトは、プロンプトから不要なトークンを特定・除去する一連の圧縮手法を提供します:
- LLMLingua:GPT2‑small や LLaMA‑7B など、コンパクトで高精度な言語モデルを用いて冗長トークンを削除し、最大 20 倍の圧縮を実現。
- LongLLMLingua:長コンテキストシナリオ向けに設計され、「ロスト・イン・ザ・ミドル」問題を緩和し、RAG の性能を向上させます。
- LLMLingua-2:GPT‑4 からのデータ蒸留で学習した BERT レベルのエンコーダーを使用した、タスク非依存の高速圧縮器。
- SecurityLingua:セキュリティ意識のある圧縮を行い、ジャイルブレイク攻撃に潜む悪意を露呈する安全ガードレール。
Who it’s for
LLM ベースのアプリケーションを構築する開発者や研究者、特に Retrieval‑Augmented Generation(RAG)を利用する方、長文ドキュメントを処理する方、API コストや推論レイテンシを削減したい方に最適です。
Highlights
- Significant Compression:プロンプト長を最大 20 倍に削減し、性能低下は最小限に抑えます。
- Cost and Speed:トークン数と KV‑cache サイズを減らすことで API コストを削減し、推論を高速化します。
- RAG Enhancement:ごく少量のトークンで RAG 性能を最大 21.4% 向上させます。
- Integration:LangChain、LlamaIndex、Prompt flow などの主流フレームワークに統合済み。
- Task-Agnostic:LLMLingua-2 は 3‑6 倍の速度向上を提供し、ドメイン外データも効果的に処理します。