일러두기 (Disclaimer)
본 글은 AI의 도움을 받아 작성되었습니다. 최대한 정확한 정보를 전달하기 위해 검수를 거쳤으나, AI 모델의 특성상 내용에 일부 오류나 부정확한 정보가 포함될 수 있습니다. 따라서 실제 논문의 상세한 수식이나 실험 세부 조건 등은 반드시 원문을 직접 확인하시기 바랍니다.
논문 링크 : https://arxiv.org/abs/2312.10997
Retrieval-Augmented Generation for Large Language Models: A Survey
Large Language Models (LLMs) showcase impressive capabilities but encounter challenges like hallucination, outdated knowledge, and non-transparent, untraceable reasoning processes. Retrieval-Augmented Generation (RAG) has emerged as a promising solution by
arxiv.org
초록 (Abstract)
대규모 언어 모델(Large Language Models, LLMs)은 인상적인 능력을 보여주지만, 환각(hallucination) 현상, 오래된 지식에 대한 의존성, 그리고 불투명하고 추적 불가능한 추론 과정과 같은 본질적인 한계에 직면해 있습니다. 검색 증강 생성(Retrieval-Augmented Generation, RAG)은 외부 데이터베이스의 지식을 통합함으로써 이러한 문제를 해결하는 유망한 대안으로 부상했습니다. 이 기술은 특히 지식 집약적인(knowledge-intensive) 작업에서 생성된 결과물의 정확성과 신뢰성을 향상시키며, 지속적인 지식 업데이트와 특정 도메인 정보의 통합을 가능하게 합니다. RAG는 대규모 언어 모델의 내재적 지식(intrinsic knowledge)과 외부 데이터베이스의 방대하고 동적인 저장소를 시너지 효과가 나도록 결합합니다.
본 포괄적인 리뷰 논문은 단순 검색 증강 생성(Naive RAG), 고급 검색 증강 생성(Advanced RAG), 그리고 모듈형 검색 증강 생성(Modular RAG)을 아우르는 RAG 패러다임의 발전 과정을 상세히 조사합니다. 또한, 검색(retrieval), 생성(generation), 증강(augmentation) 기술을 포함하는 RAG 프레임워크의 삼분할 기반을 꼼꼼하게 분석합니다. 본 논문은 이러한 각 핵심 구성 요소에 내장된 최신 기술을 강조하여 RAG 시스템의 발전에 대한 깊은 이해를 제공합니다. 나아가 최신 평가 프레임워크와 벤치마크를 소개하며, 마지막으로 현재 직면한 과제를 설명하고 향후 연구 및 개발을 위한 유망한 방향을 제시합니다.
1. 한줄 요약 & 3줄 핵심 (Executive Summary)
이 논문은 대규모 언어 모델이 외부 지식 베이스를 참조하여 답변을 생성하도록 유도함으로써, 모델의 정보 업데이트 한계를 극복하고 사실성을 높이는 '검색 증강 생성(RAG)' 기술의 진화 아키텍처를 집대성한 가이드입니다.
- 기존의 문제점 (Pain point): 대규모 언어 모델은 학습 데이터에 포함되지 않은 최신 정보나 전문 분야의 질문을 받을 경우, 사실이 아닌 내용을 그럴듯하게 지어내는 환각(Hallucination) 현상을 보이며, 그 추론 과정을 역추적하기 어렵습니다.
- 이 논문의 해결책 (Solution): 질문과 관련된 외부 문서 조각(Chunk)을 의미적 유사도(Semantic Similarity) 기반으로 검색하여 프롬프트에 주입하는 RAG 패러다임을 제안하고, 이를 단순(Naive), 고급(Advanced), 모듈형(Modular) 구조로 체계화했습니다.
- 달성한 성과 (Key Result): 파라미터 재학습(Fine-tuning)에 소모되는 막대한 비용 없이도 모델의 사실 정확도와 신뢰성을 높였으며, 지속적인 정보 업데이트가 가능하고 출처 확인이 투명한 시스템 아키텍처를 확립했습니다.
2. 들어가며: 왜 이 연구가 필요했나? (The "Why")
자연어 처리(Natural Language Processing) 분야에서 대규모 언어 모델의 등장은 인공지능이 인간의 언어를 이해하고 생성하는 방식에 혁명적인 변화를 가져왔습니다. GPT-3, BERT, LLaMA와 같은 언어 모델들은 인터넷에 존재하는 방대한 양의 텍스트 데이터를 사전에 학습하여, 맥락을 파악하고 유창한 문장을 생성하는 능력을 갖추었습니다. 이러한 발전의 이면에는 지식을 모델의 신경망 파라미터(Parameter) 내부에 압축하여 저장하는 '매개변수적 기억(Parametric Memory)' 방식이 자리 잡고 있습니다. 과거에는 모델에게 특정 도메인의 지식을 주입하기 위해 주로 학습 데이터 자체에 모든 지식을 담아 파라미터 내부에 강제로 기억시키는 방식을 사용했습니다.
하지만 이러한 순수 생성형 언어 모델은 실제 산업 현장과 프로덕션 환경에 적용될 때 치명적인 단점들을 드러내기 시작했습니다. 첫 번째이자 가장 심각한 문제는 환각(Hallucination) 현상입니다. 언어 모델은 본질적으로 다음 단어를 확률적으로 예측하는 기계입니다. 자신이 모르는 사실에 대해서 질문을 받거나 학습 데이터가 부족한 영역에 도달했을 때, 모델은 "모른다"고 답하기보다는 통계적으로 그럴듯해 보이는 거짓 문장을 문법적으로 완벽하게 만들어내는 경향이 있습니다. 예를 들어, 존재하지 않는 판례를 인용하거나, 특정 약물의 부작용을 임의로 지어내는 식입니다. 의료 진단 보조, 법률 문서 검토, 기업의 재무 분석과 같이 사실관계의 정확성이 곧 사용자의 안전이나 기업의 존망과 직결되는 분야에서 이러한 환각 현상은 AI 도입을 가로막는 가장 큰 장벽이 되었습니다.
두 번째 문제는 지식의 정체(Knowledge Cutoff) 현상입니다. 대규모 언어 모델이 가진 지식은 사전 학습(Pre-training)이 종료된 시점에 완전히 멈춰 있습니다. 세상은 끊임없이 변하고 새로운 뉴스가 쏟아지며 기업의 내부 규정은 매일 업데이트되지만, 모델은 이러한 변화를 스스로 인지하지 못합니다. 어제 변경된 사내 정책이나 오늘 발표된 글로벌 경제 지표를 모델에 반영하려면 어떻게 해야 할까요? 기존의 방식대로라면 천문학적인 컴퓨팅 자원과 수개월의 시간을 들여 모델을 처음부터 다시 학습시키거나, 비용이 많이 드는 대규모 파인튜닝(Fine-tuning) 작업을 주기적으로 수행해야만 합니다. 이는 급변하는 비즈니스 환경에서 매우 비효율적이고 비현실적인 접근 방식입니다.
세 번째 문제는 정보 출처의 불투명성(Lack of Traceability)입니다. 사용자가 언어 모델로부터 특정 답변을 도출했을 때, 그 답변이 수십억 개의 파라미터 중 어떤 연산 과정을 거쳐 생성되었는지, 어떤 원본 데이터를 근거로 삼았는지 역추적하여 파악하기가 불가능에 가깝습니다. 답변의 근거를 확인할 수 없다는 것은 시스템의 신뢰도를 크게 떨어뜨리며, 감사(Audit)나 규제 준수(Compliance)가 필수적인 엔터프라이즈 환경에서는 치명적인 결함으로 작용합니다.
연구자들과 엔지니어들은 이러한 한계를 극복하기 위해 근본적인 고민을 시작했습니다. "언어 모델의 신경망 내부에 세상의 모든 지식을 강제로 암기시키고 이를 지속적으로 업데이트하는 것이 과연 효율적인 방향인가?"라는 질문이었습니다. 모델의 파라미터 내부에 지식을 저장하는 것(Parametric memory)에 한계가 명확하다면, 외부의 신뢰할 수 있는 거대한 데이터베이스(Non-parametric memory)를 실시간으로 검색하여 모델에게 제공하는 하이브리드 접근법이 필요하다는 결론에 도달했습니다. 이러한 맥락에서 언어 모델이 자신의 기억력에만 의존하지 않고, 외부 문서를 능동적으로 찾아보고 이를 바탕으로 답변을 작성할 수 있도록 돕는 검색 증강 생성(Retrieval-Augmented Generation, RAG) 패러다임이 필수적인 기술로 대두된 것입니다. RAG는 모델이 사실적 근거에 기반하여 답변을 생성하도록 유도함으로써 환각을 억제하고, 외부 데이터베이스만 업데이트하면 모델의 재학습 없이도 항상 최신 지식을 유지할 수 있게 해줍니다. 본 논문은 이러한 RAG 아키텍처가 지난 몇 년간 어떻게 진화해 왔으며, 앞으로 어떤 방향으로 나아갈 것인지를 종합적으로 조망하는 이정표 역할을 합니다.
3. 이 논문의 뿌리 (Key Reference)
오늘날 자연어 처리 분야의 표준으로 자리 잡은 RAG 아키텍처는 정보 검색(Information Retrieval)의 정확성과 언어 생성(Language Generation)의 유창성을 결합하려는 여러 선구적인 연구들을 비판적으로 계승하며 단계적으로 발전해 왔습니다. 본 리뷰 논문이 다루는 RAG 아키텍처가 탄생하고 진화하는 데 있어 가장 큰 영감을 주었으며, 반드시 짚고 넘어가야 할 핵심 논문 세 가지의 관계와 흐름을 살펴보겠습니다.
이 세 논문은 '검색 기술의 고도화' $\rightarrow$ '검색과 언어 모델의 결합' $\rightarrow$ '생성 모델로의 완벽한 확장'이라는 자연스러운 발전 계보를 형성하고 있습니다.
- DPR - Dense Passage Retrieval for Open-Domain Question Answering (Karpukhin et al., 2020): 현대 RAG 시스템이 외부 문서를 찾아오는 '눈(Eye)'의 역할을 확립한 연구입니다. 과거의 문서 검색은 주로 단어의 빈도수를 기반으로 하는 BM25와 같은 키워드 매칭(Sparse Retrieval) 알고리즘에 전적으로 의존했습니다. 그러나 BM25는 질문과 문서가 의미적으로는 같지만 다른 단어를 사용할 경우(예: "자동차"와 "차량"), 이를 제대로 검색해 내지 못하는 치명적인 한계가 있었습니다. DPR 논문은 이러한 한계를 타파하기 위해 딥러닝 기반의 이중 인코더(Dual-encoder) 구조를 도입했습니다. 사용자 질문과 외부 문서를 각각 고차원의 밀집 벡터(Dense Vector) 공간으로 변환하여 매핑한 뒤, 두 벡터 간의 코사인 유사도(Cosine Similarity)를 계산하여 의미적으로 가장 밀접한 문서를 빠르고 정확하게 찾아내는 발상의 전환을 이루어냈습니다. 이 논문에서 제안한 밀집 벡터 기반의 검색 기술은 현재 모든 RAG 파이프라인에서 벡터 데이터베이스(Vector DB)가 작동하는 핵심 기반 원리로 사용되고 있습니다.
- REALM - Retrieval-Augmented Language Model Pre-training (Guu et al., 2020): 검색된 문서를 언어 모델이 어떻게 이해하고 활용할 것인가에 대한 패러다임을 바꾼 기념비적 연구입니다. 초기 하이브리드 모델들(예: DrQA)은 단순히 문서를 검색해서 정답에 해당하는 텍스트 조각을 그대로 추출(Extraction)하는 수준에 머물렀습니다. REALM은 여기서 한 걸음 더 나아가, 언어 모델이 사전 학습(Pre-training) 단계에서부터 지식을 검색하고 활용하는 방법을 스스로 학습하도록 만들었습니다. 기존에는 검색 모듈과 언어 모델이 분리되어 독립적으로 작동했다면, REALM은 검색기(Retriever)와 생성기(Generator)를 파이프라인으로 연결하여 역전파(Backpropagation)를 통해 공동 훈련(Joint Training)시키는 방식을 최초로 제안했습니다. 비록 빈칸 채우기(Masked Language Modeling) 방식에 초점이 맞춰져 있어 유창한 문장 생성에는 한계가 있었으나, 검색된 정보와 생성된 텍스트 간의 정렬(Alignment)을 크게 향상시켰다는 점에서 RAG 아키텍처의 직접적인 토대를 마련했습니다.
- RAG - Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (Lewis et al., 2020): 본 서베이 논문의 제목이자, 현재 우리가 부르는 'RAG'라는 용어와 아키텍처를 최초로 공식화한 연구입니다. Lewis 연구팀은 앞서 언급된 DPR(2020)의 밀집 벡터 검색 기술을 그대로 차용하여 관련 문서를 가져오는 검색기로 활용하고, 이를 트랜스포머 기반의 시퀀스-투-시퀀스(Sequence-to-Sequence) 생성 모델인 BART와 매끄럽게 결합하는 구조를 완성했습니다. REALM이 사전 학습 단계의 마스크 언어 모델링에 집중했다면, RAG 논문은 외부 지식을 기반으로 질문에 대해 자연스럽고 유창한 문장으로 답변을 생성(Generation)하는 데 초점을 맞추었습니다. 이 연구는 개방형 질문 답변(Open-domain QA)과 같이 지식 집약적인 작업에서 언어 모델에 사실적 근거를 부여하고 환각을 줄이는 데 획기적인 전환점이 되었습니다. 이 논문은 RAG를 생성 프로세스와 직접적으로 통합함으로써, 오늘날 엔터프라이즈 환경에서 사용되는 RAG 파이프라인의 기본 뼈대를 확립했습니다.
요약하자면, 오늘날 우리가 사용하는 RAG 아키텍처는 DPR(2020) 논문에서 제안한 고도의 의미 기반 검색 기술을 베이스로 사용하고, REALM(2020) 논문에서 입증된 검색기와 생성기의 결합 및 훈련 아이디어를 가져오되, Lewis(2020) 논문이 이를 발전시켜 유창한 언어 생성 모델과 완전히 통합함으로써 탄생한 결과물입니다. 본 서베이 논문은 이 Lewis 논문 이후 수년간 폭발적으로 쏟아져 나온 RAG 관련 후속 연구들을 체계적으로 분류하고 집대성한 것입니다.
4. 핵심 아이디어: 무엇이 다른가? (The "Aha!" Moment)
기존의 순수 대규모 언어 모델과 RAG가 적용된 언어 모델의 근본적인 차이는 지식을 대하는 방식, 비유하자면 '시험을 치르는 방식'의 차이로 직관적으로 설명할 수 있습니다.
기존의 대규모 언어 모델은 '폐쇄형(Closed-book) 시험'을 치르는 학생과 같습니다. 이 학생은 시험장에 들어가기 전(사전 학습 기간)에 수백만 권의 책과 인터넷의 정보를 머릿속에 열심히 암기합니다. 막상 시험지에 적힌 질문을 보게 되면, 오직 자신의 흐릿한 기억력(Parametric Memory)에만 의존해서 답안을 작성해야 합니다. 만약 자신이 제대로 배우지 않은 아주 지엽적인 전문 지식이나, 학습 기간 이후에 발생한 최신 뉴스를 묻는 질문이 나오면 어떻게 될까요? 학생은 백지를 내어 감점을 받는 것을 두려워한 나머지, 파편화된 기억들을 짜맞추어 그럴듯한 오답을 유창하게 지어냅니다. 이것이 바로 우리가 겪는 '환각(Hallucination)' 현상의 본질입니다.
반면, RAG 시스템이 적용된 언어 모델은 '오픈북(Open-book) 시험'을 치르는 학생으로 발상의 전환을 이룬 것입니다. 이 학생의 옆에는 실시간으로 새로운 책이 입고되는 방대한 도서관(외부 지식 베이스)과, 원하는 자료를 1초 만에 찾아주는 유능한 사서(검색기)가 함께 존재합니다. 학생이 질문을 받게 되면, 즉시 자신의 기억에 의존해 답을 적는 것이 아닙니다. 먼저 사서에게 질문의 핵심을 전달하고 이와 관련된 가장 정확한 최신 참고 자료를 찾아달라고 요청합니다. 사서가 건네준 자료를 넘겨받은 학생은 그 문서의 내용을 꼼꼼히 읽고 분석하여, 명확한 근거를 바탕으로 답변을 작성합니다.
- A 흐름 (기존 방식): [사용자 질문] $\rightarrow$ [LLM 단독 처리] $\rightarrow$ [부정확하거나 오래된 답변 도출]
- B 흐름 (RAG 방식): [사용자 질문] $\rightarrow$ [벡터 데이터베이스 검색] $\rightarrow$ [관련 문서 추출] $\rightarrow$ [질문과 문서를 결합한 새로운 프롬프트 생성] $\rightarrow$ [LLM 처리] $\rightarrow$ [근거가 명확한 정확한 답변 도출]
기존 방식에서는 사용자의 질문이 언어 모델로 직행했다면, RAG 구조에서는 질문이 1차적으로 지식 저장소(Vector DB)로 향한다는 점이 결정적인 차이입니다. 검색된 문서 파편들이 원래의 질문과 함께 묶여 문맥이 풍부해진 하나의 거대한 프롬프트로 구성된 후, 비로소 언어 모델에 입력되는 순환적이고 확장된 흐름을 보여줍니다.
본 리뷰 논문이 제시하는 가장 핵심적인 통찰은, 이 오픈북 시험의 과정조차도 시간이 흐름에 따라 고도로 정교해졌다는 점을 발견하고 이를 단순(Naive) $\rightarrow$ 고급(Advanced) $\rightarrow$ 모듈형(Modular)이라는 세 가지 발전 패러다임으로 체계화했다는 것입니다. 초기에는 단순히 사서가 찾아준 문서를 학생에게 그대로 던져주는 수준(Naive)이었다면, 이제는 학생의 질문이 모호하면 사서가 알아서 질문을 구체적으로 재작성(Rewrite)하여 검색하고, 찾아온 수백 장의 문서 중에서 중요도에 따라 순위를 매기며(Reranking), 불필요한 서론은 잘라내고 핵심만 압축(Compression)하여 학생에게 전달하는 방식(Advanced)으로 진화했습니다. 더 나아가, 학생 스스로 문서가 불충분하다고 느끼면 스스로 추가 검색을 지시하는 등 각 단계가 유기적인 모듈(Modular) 형태로 발전했다는 것이 이 논문의 "Aha!" 모먼트입니다.
5. 작동 원리: 어떻게 돌아가는가? (The "How")
RAG 시스템의 내부 작동 원리는 복잡한 수식 없이 데이터의 흐름(Flow)을 따라가 보면 쉽게 이해할 수 있습니다. 데이터가 시스템에 들어가서 최종 답변으로 출력될 때까지의 과정은 크게 인덱싱(Indexing), 검색(Retrieval), 생성(Generation)이라는 세 가지 주요 기둥으로 구성됩니다. 본 서베이 논문은 이 흐름이 어떻게 고도화되었는지에 따라 세 가지 아키텍처 패러다임을 상세히 설명합니다.
단계 1. 단순 RAG (Naive RAG) - 기본 뼈대의 확립
초기 RAG의 구조는 "검색하고 읽는다(Retrieve-Read)"는 가장 직관적이고 선형적인 흐름을 따릅니다.
- 데이터 준비 및 인덱싱 (Indexing): 기업이 보유한 다양한 포맷(PDF, 워드 문서, 사내 위키 등)의 원본 데이터를 수집하여 순수한 텍스트 형태로 추출합니다. 대규모 언어 모델이 한 번에 읽고 처리할 수 있는 글자 수(Context Window)에는 명확한 한계가 있으므로, 긴 문서를 적절한 크기의 텍스트 조각(Chunk)으로 잘게 쪼갭니다. 분할된 조각들은 임베딩 모델(Embedding Model)이라는 특수한 함수를 통과하게 되며, 이 함수는 텍스트의 의미를 수백 개의 숫자로 이루어진 고차원 벡터(Vector)로 변환합니다. 변환된 벡터 데이터들은 빠르게 검색할 수 있도록 벡터 데이터베이스(Vector DB)에 차곡차곡 저장됩니다.
- 사용자 질의 및 검색 (Retrieval): 사용자가 "작년 3분기 매출액은 얼마인가요?"라는 질문을 시스템에 입력합니다. 시스템은 인덱싱 단계에서 사용했던 것과 동일한 임베딩 모델을 사용하여, 사용자의 질문 역시 수백 개의 숫자로 이루어진 벡터로 변환합니다. 그런 다음, 질문 벡터와 데이터베이스 내 수많은 문서 조각들의 벡터 간 거리를 측정합니다 (주로 코사인 유사도를 사용합니다). 거리가 가깝다는 것은 의미가 유사하다는 뜻이므로, 질문과 가장 의미적으로 유사한 상위 K개의 문서 조각들을 추출해냅니다.
- 통합 및 생성 (Generation): 추출된 문서 조각들을 원본 질문과 함께 묶어 하나의 거대한 프롬프트(Prompt)를 조립합니다. 이때 프롬프트에는 "다음 제공된 문서의 내용을 바탕으로 사용자의 질문에 답하세요"라는 지시어가 포함됩니다. 언어 모델은 이 풍부한 문맥이 담긴 프롬프트를 입력으로 받아, 외부 지식을 근거로 삼아 최종적이고 정확한 답변을 생성해 냅니다.
단계 2. 고급 RAG (Advanced RAG) - 한계 극복을 위한 파이프라인 고도화
단순 RAG는 훌륭한 아이디어였지만 현실에서는 문제를 일으켰습니다. 사용자의 질문이 너무 모호해서 엉뚱한 문서를 검색해 오거나, 관련 없는 정보가 섞여 들어오면 언어 모델이 길을 잃고 답변의 품질이 훼손되는 단점이 명확했습니다. 이를 보완하기 위해 검색 전후 파이프라인에 정교한 처리 단계를 추가한 것이 고급 RAG입니다.
- 검색 전 처리 (Pre-Retrieval Process): 사용자의 날것 그대로의 질문을 곧바로 검색에 사용하지 않습니다. 대신 질문 최적화(Query Optimization) 과정을 거칩니다. 사용자의 질문이 모호할 경우, 언어 모델을 활용해 질문의 의미를 확장하거나 검색 시스템이 이해하기 쉬운 형태로 재작성(Query Rewrite)합니다. 예를 들어 "그거 최신 버전이 뭐야?"라는 질문을 "사내 결재 시스템의 2025년 최신 업데이트 버전은 무엇인가?"로 자동 변환하는 식입니다. 또한, 질문의 의도나 데이터의 성격에 따라 메타데이터 기반의 필터링을 거치거나, 벡터 검색이 아닌 키워드 검색 채널로 보내는 등 라우팅(Routing) 과정을 거쳐 검색의 품질을 극대화합니다.
- 검색 후 처리 (Post-Retrieval Process): 검색기가 찾아온 수십 개의 문서 조각들에는 여전히 노이즈가 섞여 있습니다. 이 문서들을 그대로 언어 모델에 주입하면 정보 과부하가 발생합니다. 따라서 정말로 관련성이 높은 문서가 프롬프트의 가장자리(언어 모델이 가장 집중력을 잘 발휘하는 위치)에 배치되도록 순위를 재배열(Reranking)합니다. 또한, 언어 모델이 불필요한 정보에 압도되지 않도록, 문서 내용 중 질문과 직결되는 핵심적인 부분만 요약하거나 정보 밀도를 높여 압축(Context Compression)함으로써 프롬프트의 길이를 줄이고 처리 효율성을 높입니다.
단계 3. 모듈형 RAG (Modular RAG) - 동적이고 유연한 조립형 아키텍처
가장 최신 형태의 패러다임으로, 단순한 단방향 선형 구조를 완전히 벗어났습니다. 마치 레고 블록처럼 다양한 기능적 모듈이 유연하게 조립되고 조건에 따라 경로가 바뀌는 구조입니다.
- 새로운 모듈의 도입: 단순히 문서베이스만 뒤지는 것이 아니라, 필요에 따라 외부 웹 검색 엔진을 호출하는 Search 모듈, 지식 그래프(Knowledge Graph)의 연결성을 활용하는 모듈, 이전 대화 맥락을 활용하는 Memory 모듈 등이 추가되었습니다.
- 반복 및 적응형 검색 흐름: 질문에 따라 검색이 단 1회로 끝나는 정적인 방식에서 벗어났습니다. 시스템이 첫 번째 검색 결과를 분석한 후 아직 정보가 부족하다고 판단하면, 하위 질문을 스스로 생성하여 반복적으로 검색(Iterative Retrieval)을 수행합니다. 또한 언어 모델 스스로가 답변을 생성하는 도중에 외부 지식이 필요한 시점을 자율적으로 판단하여 검색 시스템을 능동적으로 호출하는 적응형 검색(Adaptive Retrieval, 예: Self-RAG) 구조로 진화했습니다.
| 특성 | 단순 RAG (Naive RAG) | 고급 RAG (Advanced RAG) | 모듈형 RAG (Modular RAG) |
| 핵심 흐름 | 인덱싱 $\rightarrow$ 검색 $\rightarrow$ 생성 (선형적) | 검색 전/후 최적화 단계 추가 | 유연한 모듈 조립 및 반복/동적 검색 |
| 질문 처리 | 원본 질의 그대로 검색에 사용 | 질의 재작성, 확장, 라우팅 적용 | 모델 스스로 질의를 생성하고 평가 |
| 검색 후 처리 | 검색된 문서를 그대로 병합 | 재배열(Reranking), 문맥 압축 적용 | 지식 융합, 답변 평가 모듈 적용 |
| 비유 | 단순히 책을 찾아주는 도서관 사서 | 요약본과 형광펜을 칠해주는 전문 연구원 | 부족한 자료를 스스로 계속 찾아보는 자율 에이전트 |
6. 작동 원리: 어떻게 학습하는가? (The "How")
RAG 시스템은 단순히 이미 완성된 모델과 데이터베이스를 연결하기만 하면 훌륭하게 작동하는 '마법의 지팡이'가 아닙니다. 시스템이 최고의 성능을 내기 위해서는 검색기(Retriever)가 더 정확한 문서를 찾도록, 그리고 생성기(Generator, 언어 모델)가 검색된 문서를 바탕으로 더 정교하게 답변을 엮어내도록 훈련(Training)시키고 파인튜닝(Fine-tuning)하는 과정이 필수적입니다. 이러한 학습 과정에는 매우 구체적이고 특화된 형태의 실제 데이터가 대량으로 소비됩니다.
학습을 위해 데이터가 어떻게 구성되고 주입되는지 입력(Input)과 출력(Output)의 관점에서 살펴보겠습니다.
1. 입력 데이터 (Input Data) 포맷 및 예시
RAG 시스템의 검색 모델과 생성 모델을 훈련하기 위해서는 질문과 그 질문에 답하기 위한 배경 지식을 짝지어 놓은 데이터셋이 수십만 개 이상 필요합니다.
- 질의-문서 쌍 데이터(Query-Context Pair): 모델이 어떤 문서가 주어진 질문에 적합한지 학습하기 위해 사용됩니다.
- 예시 데이터셋 (HotpotQA): 여러 문서를 교차로 읽고 다단계(Multi-hop) 논리적 추론을 해야 답을 찾을 수 있도록 구성된 약 11만 개의 질의응답 쌍입니다.
- 입력 예시: [Question: "비틀즈의 멤버 중 가장 먼저 태어난 사람은 언제 태어났는가?"], [Context 1: "비틀즈는 존 레논, 폴 매카트니, 조지 해리슨, 링고 스타로 구성된..."], [Context 2: "링고 스타는 1940년 7월에 태어났으며..."]
- 대조 학습용 긍정/부정 데이터(Contrastive Learning Data): 검색 모델(임베딩 모델)을 훈련할 때 매우 중요합니다. 모델에게 정답 문서뿐만 아니라 헷갈리기 쉬운 오답 문서도 함께 주어, 두 문서 간의 미세한 차이를 구분하도록 학습시킵니다.
- 예시 데이터셋 (MS MARCO): 실제 Bing 검색 엔진의 로그를 기반으로 수집된 질문과 문서 단락 데이터입니다.
- 입력 예시: [Query: "고혈압의 원인"]
- 구조화된 지식 데이터(Structured Knowledge): 텍스트뿐만 아니라 관계성이 명확한 지식 그래프(Knowledge Graph) 형태의 데이터도 입력으로 활용되어 모델의 팩트 인지 능력을 높입니다.
- 입력 예시: (주어: 아스피린, 서술어: 부작용을 일으킨다, 목적어: 위장장애)와 같은 트리플(Triplet) 형태.
2. 출력 데이터 (Output Data) 포맷 및 예시
학습 과정에서 모델이 산출해야 하는 정답(Target/Label) 데이터의 포맷은 훈련 목적에 따라 달라집니다.
- 검색기 학습용 점수 출력 (Score Output): 대조 학습 데이터가 입력되었을 때, 검색 모델은 긍정 문서에는 높은 확률 점수(예: 0.95)를, 부정 문서에는 낮은 점수(예: 0.12)를 출력하도록 훈련됩니다.
- 생성기(LLM) 학습용 텍스트 출력 (Text Generation Output): 모델이 단순히 단답형으로 답을 찾는 것을 넘어, 주어진 문맥을 바탕으로 자연스럽고 유창한 문장을 생성하도록 훈련합니다.
- 예시 데이터셋 (Natural Questions): Google 검색에서 추출한 질문과 위키백과 단락을 기반으로 한 장문형 응답 데이터입니다.
- 출력 예시: 단순한 [Answer: "1940년"]이 아니라, ``와 같이 근거를 포함하여 논리적으로 서술한 완전한 문장 포맷입니다.
최근에는 모델의 출력 결과가 인간의 선호도나 사실성에 부합하는지 평가하기 위해, 인간 피드백 기반 강화학습(RLHF)을 도입하여 최종 생성 텍스트의 품질 레이블을 보상(Reward) 값으로 피드백하여 파인튜닝을 고도화하는 추세입니다.
7. 결과: 얼마나 좋아졌나? (Results)
RAG 기술의 도입은 대규모 언어 모델이 텍스트 생성의 유창성을 넘어, 정보의 신뢰성과 투명성이라는 새로운 지평을 열게 만들었습니다. 다양한 지식 집약적 자연어 처리 태스크에서 기존 모델의 한계를 극복하며 도출한 주요 결과와 성과, 그리고 솔직한 한계점들을 살펴보겠습니다.
압도적인 정확성 향상 및 SOTA 달성
RAG 아키텍처를 도입한 언어 모델들은 개방형 질문 답변(Open-domain QA), 사실 검증(Fact Checking), 의료 및 법률 도메인 지식 질의응답 등의 태스크에서, 파라미터 수가 훨씬 큰 순수 생성형 모델이나 파인튜닝만 거친 모델들을 상대로 SOTA(State-of-the-Art) 성능을 경신했습니다. 파인튜닝은 모델의 답변 스타일이나 구조를 맞추는 데는 유리하지만, 완전히 새로운 팩트(Factual knowledge)를 주입하고 환각을 줄이는 데에는 RAG 방식이 일관되게 더 우수한 성과를 보인다는 점이 여러 평가를 통해 입증되었습니다. 생성된 답변이 검색된 원본 문서의 사실에 얼마나 부합하는지를 나타내는 '충실도(Faithfulness)' 지표와 질문의 의도에 얼마나 부합하는지를 보는 '관련성(Answer Relevance)' 지표에서 획기적인 점수 상승을 이루어냈습니다.
비즈니스 관점에서의 효율성 향상
RAG의 도입은 기업 환경에서 직접적인 투자 대비 효과(ROI)로 증명되고 있습니다. 모델의 지식을 업데이트하기 위해 주기적으로 전체 파라미터를 재학습시키는 천문학적인 클라우드 비용을 절감할 수 있었습니다. 지식이 변경될 때마다 단순히 벡터 데이터베이스의 문서만 교체(Drop-in replacement)해 주면 모델이 즉시 새로운 정책을 숙지한 채로 답변을 수행하기 때문입니다. 일부 산업계 적용 사례에 따르면 실제 제약 규정 준수(Compliance) 환경에 5단계 RAG 파이프라인을 구축한 사례에서는 정보 검색 및 분석에 걸리는 시간을 질의당 3~4시간에서 90분 이하로 60% 이상 극적으로 단축시켰으며, 수개월의 감사 기간 동안 환각 발생률 '제로(0)'를 달성하는 성과를 보여주었습니다. 또한 순위 재배열(Reranking) 기술을 추가한 프로덕션 파이프라인에서는 첫 번째 검색 정확도(Top-1 Precision)를 기존 50%대에서 70~90% 수준으로 크게 끌어올려, 고객 지원 부서의 티켓 볼륨을 가시적으로 감소시켰습니다.
의외의 발견과 솔직한 한계점 (실패 케이스)
이 서베이 논문은 단순히 RAG의 장점만을 찬양하지 않으며, 연구 과정에서 발견된 예기치 않은 이상 현상과 실패 케이스들을 가감 없이 보고합니다.
- 노이즈 강건성(Noise Robustness)의 역설: 상식적으로 생각하면, 검색기가 질문과 전혀 관련 없는 엉뚱한 노이즈 문서를 프롬프트에 끼워 넣을 경우 언어 모델이 혼란을 겪고 답변의 품질이 곤두박질칠 것이라 예상합니다. 하지만 Cuconasu 등의 실험 결과는 충격적이었습니다. 프롬프트 문맥 내에 관련성이 다소 떨어지는 문서(노이즈)를 의도적으로 일정 비율 포함시켰을 때, 예상과 반대로 모델의 답변 정확도가 오히려 30% 이상 증가하는 기이한 현상이 관찰되었습니다. 연구자들은 언어 모델이 다양한 문서 간의 미세한 문맥적 단서를 조합하는 방식이 단순한 논리 합(Logical AND)을 넘어선다는 것을 발견했으며, 단순히 100% 완벽하게 일치하는 문서만 제공하는 것이 항상 최선의 결과를 낳는 것은 아님을 시사했습니다.
- 중간에서 길을 잃다 (Lost in the middle): 프롬프트에 너무 많은 검색 문서를 주입할 경우 발생하는 치명적인 한계점입니다. 인간이 긴 글을 읽을 때 처음과 끝만 선명하게 기억하는 것처럼, 언어 모델 역시 주입된 문서 집합의 앞부분과 뒷부분의 정보에는 높은 주의(Attention)를 기울이지만, 정작 중간에 위치한 핵심 정보는 제대로 참조하지 못하고 무시해 버리는 실패 케이스가 빈번하게 발생합니다. 이를 해결하기 위해 고급 RAG에서는 정보 압축(Compression) 단계가 필수로 자리 잡았습니다.
- 다단계 추론(Multi-hop Reasoning)의 취약성: "이전 CEO가 해임된 후 새롭게 취임한 CEO의 출신 학교는 어디인가?"와 같이, 문서 A에서 정보를 찾은 뒤 그 결과를 바탕으로 문서 B를 다시 찾아야 하는 복잡한 인과관계 추론에서 기존의 단순 벡터 검색 기반 RAG는 극도의 취약성을 드러내며 오답을 도출하는 한계를 보였습니다.
8. 이 논문의 계보와 발전 (Impact & Follow-ups)
본 서베이 논문에서 체계화한 RAG 아키텍처는 딥러닝 응용 분야의 판도를 뒤흔들며 산업계와 학계에서 가장 뜨겁게 연구되는 코어 기술로 자리매김했습니다. 특히 2024년 후반부터 2025년, 나아가 2026년을 향하면서 기본 RAG 모델(단순 문장 조각 검색)의 구조적 한계를 돌파하기 위한 기념비적인 후속 연구와 최신 아키텍처 트렌드들이 거대한 물결을 이루고 있습니다. 단순히 텍스트를 읽고 찾는 수준을 넘어, 지능적인 지식 합성 엔진으로 거듭나고 있는 주요 발전 트렌드를 소개합니다.
- GraphRAG (지식 그래프 기반 RAG): 기존 벡터 검색 기반 RAG의 가장 큰 약점은 문서를 잘게 쪼개어(Chunking) 개별적으로 의미를 매칭하다 보니, "우리 회사의 지난 5년 치 계약서들 전반에서 가장 두드러지게 나타나는 규제 리스크의 공통된 패턴은 무엇인가?"와 같은 거시적이고 전역적인(Global) 맥락을 묻는 질문에 처참히 실패한다는 점이었습니다. 최근 학계를 주도하는 GraphRAG 기술은 이러한 약점을 정조준하여 발전했습니다. 문서를 쪼개는 것에 그치지 않고, 언어 모델을 활용해 문서 내부의 개체(Entity)와 그들 간의 복잡한 관계망을 추출하여 거대한 네트워크 지식 지도(Knowledge Graph)를 구축합니다. 이를 통해 모델은 쪼개진 텍스트 조각에 얽매이지 않고, 정보들의 꼬리를 물고 다단계 추론(Multi-hop reasoning)을 수행하여 여러 문서에 흩어진 인사이트를 통찰력 있게 엮어내는 능력을 확보하게 되었습니다.
- Agentic RAG (에이전트 주도형 RAG): 단 한 번 검색 엔진을 호출하고 수동적으로 답변을 도출하던 정적인 파이프라인에서 벗어나, 언어 모델 자체를 자율적인 지능형 에이전트(Agent)로 격상시키는 흐름입니다. 질문이 주어지면 에이전트 스스로 복잡한 문제를 여러 단계의 하위 질문으로 분해(Planning)하고, 필요한 데이터베이스를 단계별로 조회합니다. 만약 검색된 결과에 모순이 있거나 불충분하다고 스스로 판단하면, 검색 쿼리를 스스로 교정하여 재검색(Reflection)을 수행하는 등 능동적이고 반복적인 추론 루프(Reasoning loop)를 돌게 됩니다. 2025년 기준, 유수의 글로벌 엔터프라이즈 기업 절반 이상이 이러한 다이내믹한 에이전트형 RAG를 프로덕션 환경에 투입하며 실질적인 가치를 창출하고 있습니다.
- Multimodal RAG (다중 양식 RAG): 현실 세계와 기업의 지식 자산은 텍스트로만 구성되어 있지 않습니다. 수많은 기술 도면, 제품 사진, 회의 녹음 파일, 그리고 복잡한 수치가 담긴 스프레드시트 테이블 등이 존재합니다. Multimodal RAG는 텍스트 데이터의 경계를 넘어 이미지, 비디오, 오디오 데이터를 하나의 통합된 임베딩 벡터 공간에 매핑하는 기술입니다. 사용자가 제품의 결함 사진을 찍어 업로드하며 질문하더라도, 시스템은 시각적 특징을 텍스트 지식 베이스 및 기존 수리 이력과 교차 검색하여 정밀한 답변과 조치 매뉴얼을 생성하는 진정한 의미의 범용 지식 검색 시스템으로 진화하고 있습니다.
- 초장문맥 모델과의 결합 (Long Context LLMs & LongRAG): 최근 언어 모델 기술의 비약적인 발전으로, 모델이 한 번에 기억하고 처리할 수 있는 입력 데이터의 길이(Context Window)가 수십만 토큰 이상으로 거대해졌습니다. 이러한 트렌드에 발맞추어, 문서를 잘게 쪼개어 발생할 수 있는 문맥 단절의 오류를 원천 차단하기 위해, 관련성이 있는 수백 쪽짜리 보고서나 책 전체를 자르지 않고 통째로 프롬프트에 주입해 버리는 'LongRAG' 접근법이 연구되고 있습니다. 이는 검색 파이프라인을 단순화하고 부분적인 정보 유실을 막아주지만, 폭발적으로 늘어나는 GPU 연산 비용과 응답 지연 시간이라는 새로운 엔지니어링 과제를 낳고 있습니다.
9. 마무리
지금까지 RAG 기술이 어떻게 환각이라는 AI의 고질병을 통제하고, 정체된 지식의 장벽을 허물었으며, 기술 발전의 궤적에 따라 어떻게 고도화되고 있는지를 상세히 조망해 보았습니다. 본 논문은 RAG를 단순히 '검색 엔진과 언어 모델의 기계적인 결합'으로 치부하지 않고, 인덱싱부터 후처리까지 파이프라인의 각 기능적 모듈이 어떻게 유기적으로 협력하고 진화해 왔는지를 명쾌한 프레임워크로 체계화했다는 점에서 매우 큰 학술적, 실용적 의의를 지닙니다.
딥러닝 아키텍처 생태계의 발전과 실무 현장의 적용 사례들을 종합해 볼 때, 전문가적 관점에서 도출할 수 있는 인사이트와 프로덕션 환경 도입 시 반드시 주의해야 할 점은 다음과 같습니다.
첫째, 응답 지연(Latency) 통제와 GPU 자원 관리의 딜레마입니다. 실험실 환경에서 RAG의 성능을 평가할 때는 정확도 지표가 최우선이지만, 실제 기업용 B2B 서비스나 B2C 애플리케이션에 이를 배포할 때 사용자가 체감하는 가장 중요한 요소는 답변이 출력되기 시작하는 시간(Time-to-First-Token, TTFT)입니다. 검색 품질을 높이기 위해 무거운 딥러닝 기반 임베딩 모델을 사용하고, 찾아온 문서의 순위를 다시 매기는 Reranker 모델까지 파이프라인에 추가하면, 시스템은 뛰어난 답변을 내놓지만 그만큼 막대한 연산량이 발생하여 수 밀리초 내에 이뤄져야 할 응답 시간이 몇 초 이상으로 길어지는 치명적인 병목(Bottleneck) 현상이 발생합니다. 초거대 텍스트 조각들을 GPU 메모리(VRAM)로 불러들여 처리하는 과정은 극심한 메모리 대역폭 한계(Memory Wall)에 부딪힙니다. 따라서 실무 아키텍트들은 무작정 복잡한 모델을 덧붙이기보다, 동일하거나 유사한 질문에 대한 연산 부하를 획기적으로 줄여주는 의미론적 캐싱(Semantic Caching) 계층을 필수로 설계해야 하며, 무거운 벡터 검색과 가볍고 빠른 전통적 키워드 검색을 영리하게 혼합하는 하이브리드 검색 아키텍처를 통해 레이턴시와 컴퓨팅 비용(Cost)을 동시에 방어해야 합니다.
둘째, 데이터 보안과 권한 관리 체계의 확립입니다. RAG 시스템은 필연적으로 사내의 민감한 지적 재산, 인사 규정, 재무 데이터 등 내부 문서베이스와 직접적으로 연결됩니다. 검색기가 문서를 가져올 때 질문을 던진 사용자의 열람 권한(Role-Based Access Control)을 식별하지 못한다면, 직급이 낮은 사원이 언어 모델을 통해 임원급 기밀 문서의 내용을 우회하여 열람해 버리는 심각한 보안 사고가 발생할 수 있습니다. 따라서 단순한 문서 검색을 넘어, 검색 단에서부터 철저한 권한 필터링과 개인정보(PII) 마스킹 절차가 파이프라인 깊숙이 통합되어야 합니다.
마지막으로, 향후 AI 생태계에서 RAG의 위상에 대한 전망입니다. 머지않은 미래에 RAG 기술은 단순히 언어 모델을 보조하는 부가적인 플러그인 도구에 머물지 않을 것입니다. 파편화되고 산재되어 있는 기업의 모든 비정형 데이터와 정형 데이터 자산을 지능적으로 매핑, 연결, 조립하여 언어 모델에 최적의 영양분을 공급해 주는 거대한 '범용 컨텍스트 엔진(Unified Context Engine)'이자 기업 데이터 인프라의 새로운 표준(Foundation)으로 자리 잡게 될 것입니다. 지식을 주입하기 위해 컴퓨팅 자원을 쏟아부으며 무리하게 모델 파라미터를 깎고 다듬는 파인튜닝 만능주의의 시대에서 벗어나, 이제는 얼마나 깨끗하고 신뢰할 수 있는 데이터 파이프라인을 구축하고 검색 품질을 정밀하게 제어할 수 있는지가 미래 엔터프라이즈 AI 서비스의 성패를 가르는 가장 핵심적인 경쟁력이 될 것입니다. 본 논문이 제시한 평가 프레임워크와 발전 패러다임은 그 험난한 여정에 나서는 엔지니어와 연구자들에게 매우 견고하고 믿음직한 나침반이 되어줄 것입니다.