Core Concepts
검색 기반 생성 모델(RAG)은 대규모 언어 모델과 외부 지식 데이터베이스의 장점을 결합하여 다양한 자연어 처리 작업에서 성능 향상을 보여주지만, 긴 시퀀스 생성으로 인한 높은 계산 및 메모리 비용이 문제로 대두되고 있다. RAGCache는 RAG 시스템을 위해 설계된 새로운 다단계 동적 캐싱 시스템으로, 검색된 문서의 중간 상태를 효율적으로 캐싱하고 공유하여 이러한 문제를 해결한다.
Abstract
RAGCache는 RAG 시스템의 성능 병목 현상을 분석하고, 중간 상태 캐싱을 통한 최적화 기회를 발견했다. 이를 바탕으로 RAGCache는 다음과 같은 핵심 기능을 제공한다:
지식 트리: 검색된 문서의 중간 상태(key-value 텐서)를 문서 ID 기반의 접두사 트리 구조로 구성하여 효율적인 검색을 지원한다. 이를 통해 문서 순서에 민감한 언어 모델의 특성을 반영할 수 있다.
접두사 인식 GDSF 교체 정책: 문서 접두사, 크기, 빈도, 최근 사용 시간 등을 고려하여 가장 중요한 중간 상태를 캐싱하는 교체 정책을 설계했다.
캐시 인식 요청 재정렬: 캐시 효율성을 높이기 위해 캐시된 문맥 길이와 계산 요구량을 고려하여 요청을 재정렬한다.
동적 투기적 파이프라인: 문서 검색과 언어 모델 추론을 동적으로 중첩 실행하여 종단 간 지연 시간을 최소화한다.
실험 결과, RAGCache는 기존 솔루션 대비 최대 4배 빠른 첫 토큰 생성 시간과 최대 2.1배 높은 처리량을 보였다. 또한 중간 상태 재사용에 초점을 맞춘 SGLang 대비 최대 3.5배 낮은 첫 토큰 생성 시간과 최대 1.8배 높은 처리량을 달성했다.
Stats
문서 길이 평균: 3,717.52 토큰
요청 길이 평균: 348.04 토큰