CompactRAG: Reducing LLM Calls and Token Overhead in Multi-Hop Question Answering
CompactRAG는 오프라인 코퍼스 구조를 원자적 QA 지식 베이스로 재구조화하는 단계와 밀집 검색 및 답변 추출에 의존하는 온라인 추론 단계를 분리함으로써, 추론의 복잡도와 관계없이 LLM 호출을 단 두 번으로 제한하여 LLM 호출과 토큰 오버헤드를 최소화하는 비용 효율적인 멀티홉 질의응답 프레임워크이다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 복잡한 미스터리를 풀려고 노력 중이라고 상상해 보세요. 예를 들어 특정 영화의 감독이 누구인지 알아내는 것과 같은 일입니다. 하지만 정답은 한 곳에 있지 않습니다. 책을 읽어서 감독의 이름을 찾아낸 다음, 그 감독의 전기(biography)를 찾아 태어난 곳을 알아내고, 마지막으로 지도를 확인하여 도시를 찾아내야 합니다.
이것이 바로 **멀티홉 질의응답(Multi-Hop Question Answering)**이 작동하는 방식입니다. 즉, 최종 정답을 얻기 위해 서로 다른 정보 조각들 사이를 건너뛰어야(hop) 하는 퍼즐을 푸는 것입니다.
문제점: "과로하는 사서"
현재의 시스템(RAG 또는 Retrieval-Augmented Generation이라 불리는 기술)은 이 문제를 해결하기 위해 매우 똑똑한 AI(대규모 언어 모델, LLM)에게 일을 시킵니다. 하지만 그 방식은 비효율적입니다.
현재의 방식을 아주 비싼 고액 연봉의 사서가 미스터리를 해결하도록 고용하는 것에 비유해 보겠습니다.
- 당신이 사서에게 질문을 던집니다.
- 사서는 서가로 달려가 책을 집어 들고, 읽은 뒤, 메모를 작성합니다.
- 사서는 당신에게 다시 돌아와 메모를 읽고 이렇게 말합니다. "알겠습니다, 이제 감독이 어디서 태어났는지 알아야 하군요."
- 당신이 다시 질문합니다. 사서는 서가로 다시 달려가서 다른 책을 집어 들고, 읽고, 또 다른 메모를 작성합니다.
- 미스터리의 모든 단계마다 이 과정을 반복합니다.
그 결과는 어떨까요? 사서는 지치고, 과정은 너무 오래 걸리며, 사서가 왔다 갔다 할 때마다 엄청난 비용(토큰 또는 컴퓨팅 파워)을 지불해야 합니다. 또한, 두 번째 단계에서 사서가 "그(he)"가 누구를 가리키는지 헷갈려 하여 잘못된 답을 내놓기도 합니다.
해결책: CompactRAG (The "Pre-Packaged Knowledge Box")
이 논문의 저자들은 더 똑똑한 방법을 제안합니다. CompactRAG는 사용자가 질문을 하기 전에, 비싼 사서가 도서관을 매번 뛰어다니게 하는 대신 도서관을 미리 재구성합니다.
1단계: 오프라인 준비 (The "One-Time Setup")
사용자가 질문을 하기 전, 시스템은 AI를 사용하여 도서관의 모든 문서를 단 한 번 읽습니다.
- 시스템은 모든 문서를 작고 완벽하며 독립적인 "사실 카드(fact cards)"로 분해합니다.
- "영화는 1953년에 아서 크랩트리(Arthur Crabtree)에 의해 제작되었다"라는 전체 문단 대신, 다음과 같이 구체적인 카드를 만듭니다: "질문: 'The Wedding of Lilli Marlene'을 감독한 사람은 누구인가? 답변: 아서 크랩트리."
- 도서관의 모든 사실에 대해 이 작업을 수행합니다. 이것이 **컴팩트 지식 베이스(Compact Knowledge Base)**가 됩니다.
비유하자면, 엉망진 상태인 도서관 대신, 완벽하게 정리된 인덱스 카드 상자를 가지고 있는 것과 같습니다. 모든 카드 앞면에는 특정 질문이 있고, 뒷면에는 정확한 답변이 적혀 있습니다. 군더더기나 불필요한 단어는 없습니다.
2단계: 온라인 추론 (The "Two-Trip Rule")
이제 사용자가 복잡한 질문을 하면, 시스템은 다음과 같이 작동합니다.
- 분해 (첫 번째 여정/Trip 1): 큰 미스터리를 작고 단순한 단계로 나누기 위해 비싼 사서(LLM)를 단 한 번만 호출합니다.
- 사용자: "그 영화의 감독은 어디서 태어났나요?"
- LLM: "좋습니다. 1단계: 영화를 감독한 사람은 누구인가? 2단계: 그 사람은 어디서 태어났는가?"
- 검색 (사서 불필요): 시스템은 더 이상 비싼 사서를 호출하지 않습니다. 대신, 저렴하고 빠른 로봇을 사용하여 미리 만들어진 "사실 카드" 상자에서 답을 찾습니다.
- 로봇은 "누가 감독했는가..."에 대한 카드를 찾아 "아서 크랩트리"라는 답을 얻습니다.
- 그런 다음 로봇은 다음 질문을 명확하게 다시 씁니다: "아서 크랩트리는 어디서 태어났는가?" (이를 통해 "그"가 누구인지 헷갈리는 문제를 방지합니다.)
- 로봇은 "아서 크랩트리는 어디서 태어났는가?"에 대한 카드를 찾아 "런던"이라는 답을 얻습니다.
- 최종 답변 (두 번째 여정/Trip 2): 로봇이 모든 작은 답변들을 모으면, 비싼 사서를 마지막으로 한 번 더 호출하여 조각들을 합치고 최종 답변을 내놓게 합니다.
핵심적인 마법: 미스터리가 몇 단계(hop)로 이루어져 있든 상관없이, 비싼 사서는 질문당 단 두 번만 호출됩니다. 퍼즐이 2단계이든 10단계이든 비용은 동일하게 유지됩니다.
이것이 왜 중요한가요?
- 비용 절감: 사서가 왔다 갔다 하며 발생하는 비싼 비용을 줄일 수 있습니다. 사서는 딱 두 번만 호출하면 됩니다.
- 시간 절약: "사실 카드"는 찾고 읽기가 매우 쉽기 때문에 과정이 훨씬 빠릅니다.
- 오류 감소: 질문을 구체적인 이름(예: "그" 대신 "아서 크랩트리")을 포함하여 다시 작성함으로써, 시스템이 대상을 혼동하지 않게 합니다.
결과
논문은 세 가지 어려운 퍼즐 데이터셋(HotpotQA, 2WikiMultiHopQA, MuSiQue)을 통해 테스트를 진행했습니다.
- 정확도: CompactRAG는 기존의 비싼 방식만큼이나 퍼즐을 잘 해결했습니다.
- 효율성: CompactRAG는 훨씬 더 적은 "토큰"(AI 컴퓨팅 자원)을 사용했습니다. 어떤 경우에는 다른 방식보다 절반도 안 되는 자원을 사용했습니다.
요약
CompactRAG는 혼란스럽고 비싼 왕복 조사 과정을 효율적이고 미리 패키징된 운영 체제로 바꾸는 것과 같습니다. 지식을 미리 정리하는 무거운 작업을 사전에 단 한 번 수행함으로써, 새로운 미스터리를 해결하는 과정을 빠르고 저렴한 2단계 프로세스로 만듭니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.