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など、さまざまな外部ストレージオプションをサポートしており、マルチサーバ環境にも対応しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト