컴팩트RAG: 다중 홉 질문응답의 비용을 획기적으로 낮추다
초록
CompactRAG는 대규모 코퍼스를 한 번만 LLM으로 전처리해 원자 수준의 질문‑답변(QA) 쌍으로 변환하고, 온라인 추론 단계에서는 질문을 서브 질문으로 분해한 뒤 두 번의 LLM 호출만으로 최종 답을 생성한다. 이 설계는 기존의 반복적 RAG 파이프라인에 비해 토큰 사용량과 지연 시간을 크게 줄이며, 홉 수와 무관하게 일정한 비용을 유지한다. HotpotQA·2WikiMultiHopQA·MuSiQue에서 정확도는 기존 최첨단 모델에 근접하면서도 토큰 소비는 40 % 이상 절감한다.
상세 분석
CompactRAG는 “오프라인‑온라인 분리”라는 핵심 아이디어를 통해 다중 홉 QA의 두 가지 주요 병목을 동시에 해결한다. 첫 번째 병목은 반복적인 LLM 호출이다. 기존 Self‑Ask, IRCoT, Iter‑RetGen 등은 매 홉마다 LLM을 호출해 서브 질문을 생성·검증하고, 그때마다 전체 프롬프트에 이전 단계의 검색 결과를 추가한다. 이 과정은 홉이 깊어질수록 토큰 수가 기하급수적으로 늘어나고, 비용과 지연이 급증한다. CompactRAG는 오프라인 단계에서 LLM을 한 번만 사용해 원시 문서를 원자 QA 쌍으로 재구성한다. 여기서 “원자”란 하나의 사실을 완전하게 표현하는 최소 단위이며, 질문‑답변 형태이기 때문에 이후 검색 시 질문과 정답이 동시에 인코딩돼 의미적 매칭이 강화된다.
두 번째 병목은 엔터티 드리프트와 중복 검색이다. 서브 질문을 생성할 때 원문에서 명시된 엔터티가 사라지면 “그는 어디서 태어났는가?”와 같은 모호한 질의가 발생해 검색 정확도가 떨어진다. CompactRAG는 오프라인 전처리 시 SpaCy 기반 엔터티 태깅을 수행하고, 생성 프롬프트에 엔터티를 강제 삽입함으로써 각 QA 쌍에 핵심 엔터티를 보존한다. 온라인 단계에서는 LLM을 한 번만 사용해 질문을 의존성 그래프 형태의 서브 질문 집합으로 분해하고, 각 서브 질문은 경량 RoBERTa 기반 Answer Extractor와 Sub‑Question Rewriter가 담당한다. 이 두 모듈은 순수 트랜스포머 모델이므로 비용이 낮고, 엔터티 일관성을 유지하도록 설계돼 있다.
검색은 dense retriever를 이용해 QA 쌍을 임베딩하고, 질문‑답변을 하나의 텍스트 블록(
댓글 및 학술 토론
Loading comments...
의견 남기기