논문 원본
https://arxiv.org/pdf/2412.15605
본 연구에서는 기존의 실시간 검색(RAG) 기반 시스템을 개선한 (Context-Aware Generation) 시스템을 제안합니다. CAG는 대규모 문서 집합을 미리 Key-Value (KV) 캐시 형식으로 인코딩하여 저장하고, 이를 이용해 실시간 검색 없이 질의에 대한 답변을 생성하는 방식입니다. 이를 통해, 검색 지연을 없애고, 검색 오류를 줄이며, 시스템 복잡도를 최소화하는 장점이 있습니다. 이 방식은 특히 제한된 지식 기반에 대해 효율적이고 간소화된 대안을 제공할 수 있습니다.
RAG(Retrieval-Augmented Generation)는 외부 지식 출처를 통합하여 대규모 언어 모델의 성능을 향상시킬 수 있는 강력한 접근법으로 주목받고 있다. 그러나 실시간 검색이 필요하며, 이는 검색 지연과 문서 선택 오류를 초래할 수 있다. 이에 대한 대안으로, 본 논문은 CAG (Context-Aware Generation) 방법을 제안한다. CAG는 문서를 미리 로드하고 KV 캐시를 계산하여 저장함으로써, 실시간 검색을 생략하고 검색 지연을 제거한다. 이 방법은 특히 지식 기반이 제한적이고 관리 가능한 크기일 때 유용하다.

*추론 중 실시간 검색 및 참조 컨텍스트 입력을 포함하여, 하단 섹션에는 KV-캐시를 미리 로드하여 추론 시 검색 단계와 참조 텍스트 입력을 제거하는 CAG 접근 방식
CAG는 LLM의 확장된 컨텍스트 기능을 활용하여 외부 지식 출처를 사전 로드하고, 이를 KV 캐시로 인코딩하여 저장한다. CAG의 작업 흐름은 다음 세 가지 단계로 나뉜다:
본 실험에서는 SQuAD 1.0과 HotPotQA 두 개의 대표적인 질문 응답 데이터셋을 사용하여 성능을 평가했습니다. 실험에서는 문서 수와 참고 텍스트의 길이가 시스템 성능에 미치는 영향을 분석했습니다. 각 실험은 CAG와 두 가지
RAG 시스템(Sparse Retrieval (BM25)와 Dense Retrieval(OpenAI Indexes))
간의 성능 비교를 기반으로 진행되었습니다.
사용된 모델:
모델 작업 방식:
위 수식에서 CKV는 문서 D의 키-값 캐시입니다. 이 캐시는 문서 D의 텍스트가 KV-Encode 함수에 의해 사전 계산되어 저장된 값입니다. 이후 이 값들을 사용하여 질문에 대한 답을 생성하는데, 이는 모델의 빠른 응답 생성에 기여합니다.
목표: 주어진 문서에서 질문에 대한 정확한 답을 찾는 것.
(단일 문서의 기반의 질문 응답 시스템을 평가하는데 사용)
구성: 각 질문은 하나의 문서에 대한 질문으로, 그 문서 내에서 답이 존재
데이터:
특징: 문제는 일반적으로 “where”, “who”, “what”과 같은 정보에 대한 질문이 포함
목표: 다중 문서에서의 추론을 요구하는 질문 응답 시스템을 평가하는 데이터셋. 주어진 질문에 대해 여러 문서에서 관련 정보를 결합해 답을 도출
(multi-hopreasoning, 다단계 추론을 필요로함)
구상: 하나의 질문에 대해 두 개 이상의 문서에서 정보를 종합해야하는 경우가 많음
데이터:
특징:
Sparse Retrieval System (BM25): BM25는 전통적인 텍스트 검색 알고리즘으로, 질의와 문서 간의 단어 빈도와 문서 길이를 기반으로 순위를 매깁니다. 질의와 문서 간의 일치도를 계산하고, 이를 바탕으로 적합한 문서를 검색합니다. 질의 q에 대해 BM25는 다음과 같이 문서 D를 평가합니다.
여기서 는 문서 D에서 용어 의 빈도, 는 문서의 길이, 은 문서들의 평균 길이, 과 는 하이퍼파라미터입니다.
여기서 와 는 각각 질의와 문서의 임베딩 벡터입니다. 이 벡터들은 고차원 공간에서의 유사성을 기반으로 계산되며, 단어의 의미적 관계를 반영합니다.

*표 설명: 위 표는 BERTScore를 기반으로 한 CAG와 RAG 시스템의 성능 비교를 나타냅니다. CAG 시스템은 대부분의 실험에서 상위 점수를 기록하며, 특히 Top-1 BERTScore에서 월등히 높은 성과를 보였습니다.

*표 설명: CAG 시스템은 생성 시간 면에서도 크게 향상된 결과를 보여줍니다. 기존의 RAG 시스템에 비해 생성 시간이 현저히 빠름을 확인할 수 있습니다.
생각한 한계점 예상