dev.Log
RAG 캐시 본문
RAG 엔진 만든거에 캐싱 기능을 추가해보려한다.
| 캐시 종류 | 적용 단계 | 작동 방식 |
| 최종 응답 캐싱 (Response Caching) |
생성(Generation) 후 | 사용자의 질문과 LLM이 생성한 최종 답변을 저장하고, 동일한 질문이 들어오면 LLM 호출 없이 저장된 답변을 반환합니다. |
| 문서 검색 캐싱 (Retrieval Caching) |
검색(Retrieval) 후 | 질문(쿼리)과 검색된 관련 문서 목록을 저장하고, 유사한 질문이 들어오면 검색 과정을 생략하고 저장된 문서를 LLM에 전달합니다. |
| 시맨틱 캐싱 (Semantic Caching) |
전체 파이프라인 | 단순히 문자열이 동일한지(Key-Value) 확인하는 것이 아니라, 질문과 저장된 쿼리 간의 의미적 유사성(Vector Embedding Distance)을 비교하여 유사한 질문에도 캐시된 결과를 재사용합니다. RAG 시스템에서 특히 중요합니다. |
| KV 캐시 활용 (KV Cache) |
LLM 내부 | 검색된 문서를 LLM의 컨텍스트에 넣고 추론할 때, 해당 문서의 Key-Value(KV) 텐서를 캐시하여, 이후 요청에서 해당 문서가 다시 사용될 경우 토큰 처리 연산을 재수행하지 않고 캐시된 값을 재사용합니다. (예: RAGCache 논문에서 제안) |
RAG 캐싱 외에도, **CAG (Cache-Augmented Generation)**라는 유사하지만 다른 접근 방식도 있습니다.
- RAG (검색 증강 생성): 실시간으로 외부 지식을 검색하여 답변에 활용합니다. 최신 정보나 방대한 지식 기반에 적합하지만 지연 시간이 발생할 수 있습니다.
- CAG (캐시 증강 생성): 제한된 크기의 중요하고 정적인 지식을 LLM의 확장된 컨텍스트 윈도우에 미리 로드(Preload)하고, 이 정보를 LLM의 KV 캐시 형태로 저장하여 검색 과정을 완전히 생략하고 빠른 추론만으로 답변을 생성합니다. 빈번하게 변경되지 않는 데이터셋(예: 매뉴얼, 교육 자료)에 낮은 지연 시간으로 응답이 필요한 경우에 유용합니다
이 비디오에서는 RAG 애플리케이션의 검색 성능을 최적화하기 위해 시맨틱 캐싱을 구현하는 방법을 자세히 설명합니다.
Super Fast RAG app with Semantic Cache (Optimized RAG) - YouTube
'인공지능' 카테고리의 다른 글
| ONNX란 무엇인가? (0) | 2025.11.26 |
|---|---|
| 블랙웰(Blackwell) 아키텍처 (0) | 2025.11.26 |
| 임베딩 생성과 모달 정렬의 차이 (RAG와 LLM-ASR 관점에서) (0) | 2025.07.14 |
| 모델 양자화(Quantization)란? (0) | 2025.04.22 |
| 프롬프팅 확장 테크닉 (2) | 2024.12.14 |
Comments