RAG vs. CAG 기술적 비교: 고정 지식은 캐싱하고, 유동 데이터는 RAG로
자주 변하지 않는 지식은 CAG로 캐싱해 레이턴시를 줄이고, 나머지는 RAG로 처리하는 하이브리드 아키텍처 가이드.
요약
표준 RAG(Retrieval-Augmented Generation)는 모든 쿼리마다 벡터 DB를 검색하고 모델이 프리필(prefill) 과정을 반복해야 하므로 지연 시간이 발생합니다. 반면 CAG(Cache-Augmented Generation)는 쿼리 이전에 문서를 모델에 미리 입력하여 생성된 KV 텐서를 저장해두고, 쿼리 시점에는 벡터 검색과 프리필 없이 디코딩부터 시작하는 방식입니다. 다만 CAG는 저장 가능한 컨텍스트 양이 GPU 메모리에 의해 제한되며, 70B 모델(BF16 기준)의 경우 토큰당 약 300KB의 캐시가 필요해 대규모 데이터 관리에 자원 소모가 큽니다. 따라서 실무에서는 정책이나 제품 매뉴얼처럼 사용 빈도가 높은 정적 정보는 CAG로 처리하고, 드물게 참조되는 문서는 RAG를 사용하는 혼합 전략이 권장됩니다. 현재 Transformers 라이브러리를 사용하면 별도의 서빙 스택 구축 없이도 KV 캐시를 객체 형태로 유지하고 재사용하는 구현이 가능합니다.
AI가 원문을 요약한 내용으로, 부정확할 수 있습니다.
원문 제목 @_avichawla: RAG vs. CAG, clearly explained! In a standard RAG setup, every query hits the vector DB, including queries about a product manual
원문 보기 ↗