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)을 활할성화합니다.