ModelEngine-Group/unified-cache-management
Persist and reuse KV Cache to speedup your LLM.
What it solves
Unified Cache Manager (UCM) は、大規模言語モデル (LLM) の長シーケンス推論における KV cache に起因する高い GPU メモリ消費量と計算の冗長性を解決します。KV cache を外部ストレージにオフロードし、効率的な検索メカニズムを用いることで、計算の冗長性を低減し、GPU メモリの制限を解決します。
How it works
UCM は、ストレージと計算の分離アーキテクチャを実装し、KV cache を永続化し、冗長な計算を検索に置き換えます。vLLM と統合し、以下の主要なコンポーネントを使用します:
- UcmSparseBase: 様々な疎なアテンション(sparse attention)アルゴリズムをモジュールとしてプラグインできるベースクラスです。
- SparseKVManager: 様々なアルゴリズムに対してカスタム KV block の割り当てを管理します。
- KVStoreBase: 疎なアテンションアルゴリズムを外部ストレージと分離し、block ID と offset を使用して様々なストレージシステム(例:ローカルファイルシステムや NFS)で動作するようにします。
- KVStoreConnector: システムを vLLM の KVConnectorBase とリンクさせ、プリフィックスキャッシュ(prefix caching)を有効にします。
Who it’s for
LLM 推論エンジン(特に vLLM)を使用する開発者や研究者で、マルチターン対話、長コンテキスト推論、および極端に長いシーケンス推論タスクのパフォーマンスを最適化する必要がある人々を対象としています。
Highlights
- Performance Boost: vLLM と統合することで、3-10 倍の推論レイテンシの低減を実現します。
- Flexible Retrieval: プリフィックスキャッシュ(prefix caching)と、様々な学習不要な疎なアテンション(sparse attention)検索方法をサポートします。
- Storage-Compute Separation: ヘテロジニアスな PD (Prefill-Decode) 分離を実現し、より柔軟なリソース管理を可能ですにします。
- Comprehensive Feature Set: 包括的な機能セットを含みます: prefill offload、cache blend、および model window extrapolation。