ModelEngine-Group/unified-cache-management
Persist and reuse KV Cache to speedup your LLM.
何を解決するか
Unified Cache Manager (UCM) は、大規模言語モデル(LLM)におけるKVキャッシュに関連する高いGPUメモリ消費と計算の重複を解決します。特に長文シーケンスの推論において、GPUメモリのボトルネックを緩和するために、KVキャッシュを外部ストレージにオフロードし、効率的な取得メカニズムにより冗長な計算を削減します。
動作方法
UCMは、LLMのKVキャッシュを永続化するストレージ-計算分離アーキテクチャを実装しています。モジュール式のフレームワークでは、UcmSparseBase という基本クラスを介して異なるスパースアテンションアルゴリズムを簡単に統合できます。SparseKVManager はカスタムブロック割り当てを処理し、KVStoreBase はスパースアルゴリズムと物理ストレージ(ローカルファイルシステムやNFSなど)を分離することで、GPUメモリと外部ストレージ間のデータ移動を柔軟に制御できます。
対象ユーザー
このプロジェクトは、vLLMを含むLLM推論エンジンで作業する開発者や研究者向けです。特に、マルチターン対話、長文推論、異種コンピューティングリソースを必要とするシナリオにおいてパフォーマンスを最適化したい方々に適しています。
主な特徴
- プレフィックスキャッシュ: 共通のプロンプトプレフィックスを永続化・再利用することで、冗長な計算を回避します。
- スパースアテンション: 学習不要のスパースアテンション取得手法を提供し、極めて長いシーケンスでのパフォーマンスを向上させます。
- PD非統合: プレフィル-デコード(PD)非統合ソリューションを提供し、異種コンピューティングリソースをより効果的に管理します。
- vLLM統合: vLLMと統合することで、推論遅延を3〜10倍まで削減できます。
- 柔軟なストレージ: NFSなど、さまざまな外部ストレージオプションをサポートしており、マルチサーバ環境にも対応しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト