본문 바로가기

딥러닝

RAG, Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks - 언어 모델은 어떻게 위키피디아를 읽고 대답하게 되었나?

반응형


일러두기 (Disclaimer)

본 글은 AI의 도움을 받아 작성되었습니다. 최대한 정확한 정보를 전달하기 위해 검수를 거쳤으나, AI 모델의 특성상 내용에 일부 오류나 부정확한 정보가 포함될 수 있습니다. 따라서 실제 논문의 상세한 수식이나 실험 세부 조건 등은 반드시 원문을 직접 확인하시기 바랍니다.

 

 

논문 링크 : https://arxiv.org/abs/2005.11401

 

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

Large pre-trained language models have been shown to store factual knowledge in their parameters, and achieve state-of-the-art results when fine-tuned on downstream NLP tasks. However, their ability to access and precisely manipulate knowledge is still lim

arxiv.org

 

 

초록 (Abstract)

사전 학습된 대형 언어 모델(Large pre-trained language models)은 매개변수(parameters) 내에 사실적 지식을 저장하는 것으로 알려져 있으며, 다운스트림 자연어 처리(NLP) 과제에 미세 조정(fine-tuned)될 때 최고 수준의 성능(state-of-the-art)을 달성합니다. 그러나 지식에 접근하고 이를 정밀하게 조작하는 능력은 여전히 제한적이며, 이로 인해 지식 집약적(knowledge-intensive) 과제에서는 특정 과제 전용 아키텍처에 비해 성능이 뒤처집니다. 또한, 모델이 내린 결정의 출처(provenance)를 제공하거나 세계 지식을 업데이트하는 것은 여전히 해결되지 않은 연구 과제입니다. 명시적인 비매개변수적 메모리(non-parametric memory)에 미분 가능한(differentiable) 접근 메커니즘을 갖춘 사전 학습 모델은 지금까지 추출형(extractive) 다운스트림 과제에서만 연구되어 왔습니다.

이 연구에서는 언어 생성을 위해 사전 학습된 매개변수적 메모리와 비매개변수적 메모리를 결합한 모델인 검색 증강 생성(Retrieval-Augmented Generation, RAG)을 위한 범용 미세 조정 레시피를 탐구합니다. 우리는 매개변수적 메모리가 사전 학습된 seq2seq 모델이고, 비매개변수적 메모리가 사전 학습된 신경망 검색기(neural retriever)를 통해 접근하는 위키피디아의 밀집 벡터 인덱스(dense vector index)로 구성된 RAG 모델을 소개합니다. 생성된 전체 시퀀스에 걸쳐 동일한 검색 문서에 조건을 부여하는 방식과, 토큰마다 다른 문서를 사용할 수 있는 두 가지 RAG 공식을 비교합니다. 다양한 지식 집약적 NLP 과제에서 모델을 미세 조정하고 평가하여 3개의 오픈 도메인 질의응답(QA) 과제에서 최고 성능을 경신했으며, 매개변수적 seq2seq 모델 및 특정 과제 전용 검색-추출 아키텍처를 능가했습니다. 언어 생성 과제에서 RAG 모델은 최신 매개변수 전용 seq2seq 베이스라인보다 더 구체적이고, 다양하며, 사실에 기반한 언어를 생성하는 것을 확인했습니다.

 

1. 한줄 요약 & 3줄 핵심 (Executive Summary)

사전 학습된 대형 언어 모델의 내부 지식 한계를 극복하기 위해, 외부 데이터베이스에서 관련 문서를 검색하여 이를 바탕으로 답변을 생성하는 하이브리드 아키텍처인 검색 증강 생성(RAG) 모델을 제안합니다.

  1. 기존의 문제점 (Pain point): 언어 모델은 신경망 매개변수 내에 지식을 저장하므로 지식의 확장 및 수정이 어렵고, 답변의 출처를 알 수 없으며, 사실이 아닌 내용을 지어내는 환각(Hallucination) 현상이 발생합니다.
  2. 이 논문의 해결책 (Solution): 질문이 입력되면 외부 문서(위키피디아)에서 밀집 벡터 기반으로 관련 문서를 검색(Retriever)한 뒤, 이를 언어 모델(Generator)에 맥락으로 제공하여 유창한 답변을 생성하게 하는 구조를 도입했습니다.
  3. 달성한 성과 (Key Result): 오픈 도메인 질의응답 과제에서 기존 모델을 뛰어넘는 최고 성능(SOTA)을 달성했으며, 환각을 줄이고 사실에 기반한 구체적인 텍스트를 생성함과 동시에 외부 인덱스만 교체하여 모델의 지식을 실시간으로 업데이트할 수 있음을 증명했습니다.

 

2. 들어가며: 왜 이 연구가 필요했나? (The "Why")

자연어 처리 분야는 GPT-2나 T5, BART와 같은 사전 학습 대형 언어 모델의 등장으로 큰 전환점을 맞이했습니다. 이 모델들은 방대한 양의 텍스트 데이터를 학습하여 네트워크의 가중치, 즉 매개변수 안에 상당한 양의 암묵적 지식을 저장하게 되었습니다. 외부의 데이터베이스나 검색 엔진 없이도 모델 자체가 하나의 거대한 지식 베이스 역할을 할 수 있다는 사실은 학계와 산업계에 큰 충격을 주었습니다. 사용자가 질문을 던지면 모델은 자신이 학습한 수억 개의 문장 패턴을 바탕으로 가장 자연스러운 답변을 생성해 냈습니다.

 

하지만 텍스트 생성 능력의 비약적인 발전에도 불구하고, 이 '매개변수 전용(Parametric-only)' 모델들은 실제 지식 집약적인 업무에 적용하기에는 치명적인 단점들을 안고 있었습니다.

 

첫째, 지식의 확장이 불가능에 가깝습니다. 세상의 지식은 끊임없이 변합니다. 새로운 질병이 발생하거나 특정 국가의 대통령이 바뀌었을 때, 기존의 언어 모델은 과거의 데이터로 학습되었기 때문에 과거의 사실을 정답으로 출력합니다. 이를 수정하려면 모델 전체를 처음부터 다시 학습시키거나 대규모의 미세 조정을 거쳐야 하는데, 이는 막대한 컴퓨팅 자원과 시간을 요구합니다.

 

둘째, 환각(Hallucination) 문제입니다. 언어 모델은 본질적으로 주어진 문맥 다음에 올 확률이 가장 높은 단어를 예측하도록 설계되었습니다. 따라서 자신이 모르는 사실에 대해서도 침묵하기보다는, 그럴듯해 보이는 거짓 정보를 생성해 내는 경향이 강합니다. 예를 들어 회사의 내부 정책표에 없는 내용을 물어보면, 언어 모델은 일반적인 상식을 바탕으로 그럴싸한 가짜 규정을 만들어냅니다.

 

셋째, 출처의 불투명성입니다. 모델이 정답을 맞히더라도, 그 지식을 학습 데이터의 어떤 문서에서 가져왔는지 추적할 수 없습니다. 이는 의료, 법률, 금융 등 정확성과 신뢰성이 생명인 산업 분야에서 언어 모델을 도입하는 데 큰 장애물이 되었습니다.

 

이러한 배경 속에서 연구자들은 근본적인 고민을 시작했습니다. 언어 모델이 모든 지식을 자신의 신경망 안에 저장하게 할 필요가 있을지에 대한 의문이었습니다. 인간이 복잡한 시험을 볼 때 모든 것을 암기하는 대신 오픈북 시험처럼 필요한 참고 서적을 찾아보게 만들면 어떨까 하는 공감대가 형성되었습니다. 본 논문은 언어 모델의 뛰어난 언어 이해 및 생성 능력은 그대로 활용하되, 사실적 지식은 외부의 신뢰할 수 있는 문서에서 실시간으로 찾아오는 구조를 통해 기존 모델들의 치명적인 단점을 극복하고자 했습니다.

 

3. 이 논문의 뿌리 (Key Reference)

RAG 아키텍처는 아래의 핵심 연구들로부터 깊은 영감을 받았으며, 이들의 장점을 결합하고 단점을 보완하는 방향으로 발전했습니다. 단순히 과거의 논문들을 나열하는 것을 넘어, 이들이 어떻게 RAG의 탄생을 이끌었는지 그 관계를 살펴보겠습니다.

  • REALM (2020) & ORQA (2020): 이 두 논문은 언어 모델에 미분 가능한 검색기(Differentiable retriever)를 결합하여 외부 지식을 활용한다는 개념을 선도적으로 제시했습니다. 언어 모델이 빈칸 채우기(Masked Language Modeling)를 수행할 때 외부 문서를 참고하도록 학습시켰습니다. 하지만 이 모델들은 근본적으로 '추출형(Extractive)' 질의응답에 머물러 있었습니다. 즉, 검색된 문서 내에 존재하는 특정 단어나 구문을 그대로 잘라내어 정답으로 제시하는 방식이었습니다. 본 논문은 이들로부터 "신경망 기반 검색기와 언어 모델을 결합한다"는 아이디어를 계승하되, 정답을 그대로 추출하는 것을 넘어 검색된 정보를 바탕으로 완전히 새로운 문장을 만들어내는 '생성형(Generative)' 구조로 확장했습니다.
  • Dense Passage Retrieval (DPR) (2020): 이 논문은 기존의 키워드 매칭 방식(TF-IDF나 BM25)을 뛰어넘어, 질문과 문서를 밀집 벡터(Dense Vector)로 변환하여 의미적 유사도를 바탕으로 문서를 검색하는 방법을 제안했습니다. 단순한 단어 일치가 아닌 문맥의 의미를 파악하여 문서를 찾는 방식입니다. 본 논문은 DPR의 사전 학습된 이중 인코더(Bi-encoder) 구조를 RAG의 검색기(Retriever) 백본으로 채택하여 정보 검색의 정확도를 극대화했습니다.
  • BART (2019): 입력된 텍스트의 노이즈를 복원하는 과정에서 뛰어난 자연어 이해 및 텍스트 생성 능력을 갖춘 인코더-디코더(Encoder-Decoder) 구조의 모델입니다. 본 논문은 BART를 RAG의 생성기(Generator) 백본으로 사용하여, 검색된 여러 문서의 정보를 자연스러운 문장으로 엮어내는 역할을 부여했습니다.

 

4. 핵심 아이디어: 무엇이 다른가? (The "Aha!" Moment)

이 논문의 가장 돋보이는 발상의 전환은 '매개변수적 메모리(Parametric Memory)'와 '비매개변수적 메모리(Non-parametric Memory)'의 융합입니다.

 

기존의 언어 모델을 '고집스러운 학자'에 비유해 볼 수 있습니다. 이 학자는 자신이 과거에 읽은 수많은 책(학습 데이터)의 내용을 머릿속(매개변수)에 모두 암기하고 있습니다. 누군가 질문을 하면 오직 자신의 기억에만 의존해서 답을 합니다. 기억이 모호할 때는 상상력을 발휘해 그럴싸하게 말을 지어냅니다. 반면, 외부 데이터베이스는 지식은 완벽하지만 스스로 말을 할 줄 모르는 '거대한 도서관'과 같습니다.

 

본 논문이 제시한 RAG 모델은 이 둘을 결합한 '유능한 탐정(검색기)'과 '말솜씨 좋은 작가(생성기)'의 협업 시스템에 비유할 수 있습니다.

  1. 사용자가 질문을 던지면, 작가(언어 모델)는 자신의 기억에만 의존하지 않습니다.
  2. 탐정(Retriever)이 거대한 도서관(외부 벡터 데이터베이스)으로 달려가 질문과 가장 의미가 통하는 책의 페이지들(Top-K 문서)을 찾아옵니다.
  3. 작가(Generator)는 사용자의 질문과 탐정이 찾아온 참고 문헌들을 함께 읽고, 이를 종합하여 정확하고 유창한 답변을 작성합니다.

[데이터 흐름의 발상의 전환]

  • 기존 방식: 입력(질문) $\rightarrow$ 신경망(암기된 지식) $\rightarrow$ 출력(답변)
  • RAG 방식: 입력(질문) $\rightarrow$ 외부 도서관 검색(문서 확보) $\rightarrow$ 신경망(질문 + 검색 문서) $\rightarrow$ 출력(답변)

이러한 구조적 변화를 통해 모델의 크기, 즉 매개변수의 수를 무한정 키우지 않고도 모델이 활용할 수 있는 지식의 양을 무한대로 확장할 수 있게 되었습니다. 또한, 도서관의 책만 새것으로 교체해 주면 모델을 다시 학습시키지 않고도 최신 지식을 즉각적으로 반영할 수 있는 놀라운 유연성을 확보했습니다.

 

5. 작동 원리: 어떻게 돌아가는가? (The "How")

데이터가 입력되어 결과물이 출력될 때까지의 흐름은 두 개의 주요 컴포넌트인 검색기(Retriever)생성기(Generator)의 상호작용으로 이루어집니다.

 

Step 1: 데이터 입력 및 문서 검색 (Retrieval)

사용자의 텍스트 입력값(질문)이 시스템에 들어오면, 검색기(DPR)는 외부 문서 데이터베이스에서 이와 관련된 문서를 찾습니다. 이때 사용되는 핵심 기술이 최대 내적 검색(Maximum Inner Product Search, MIPS)입니다.

 

사용자의 질문과 외부의 수많은 문서는 각각 신경망을 통과하여 숫자들의 배열인 밀집 벡터로 변환됩니다. 공간상에서 두 벡터의 방향과 크기가 비슷할수록, 즉 두 벡터를 곱한 내적 값이 클수록 의미가 유사하다는 뜻입니다. 이 방식을 통해 단순한 단어 일치를 넘어 의미적 연관성을 파악하며, 수천만 개의 위키피디아 문서 중에서 입력값과 가장 관련 있는 상위 K개(보통 5개에서 10개)의 문서를 순식간에 골라냅니다.

 

Step 2: 정보의 통합 및 생성 (Generation)

검색된 K개의 문서와 원래의 입력값(질문)은 하나의 텍스트로 연결되어 생성기(BART)에 전달됩니다. 생성기는 이전까지 생성된 단어들과 주어진 문맥을 바탕으로 다음 단어를 차례대로 예측합니다.

 

논문은 검색된 여러 개의 문서를 어떻게 활용하여 최종 문장을 생성할 것인지에 따라 두 가지 모델 아키텍처를 제시합니다.

 

1. RAG-Sequence 모델 이 모델은 하나의 완성된 출력 문장을 만들 때, 처음에 검색된 문서를 처음부터 끝까지 일관되게 참고하는 방식입니다. 탐정이 5개의 단서를 찾아왔다면, 작가는 1번 단서만을 보고 첫 번째 답안을 처음부터 끝까지 다 씁니다. 그다음 2번 단서만을 보고 두 번째 답안을 씁니다. 이런 식으로 5개의 완성된 답안을 만든 뒤, 각각의 확률 점수를 최종적으로 합산하여 가장 높은 점수를 받은 답안을 최종 선택합니다. 이 방식은 질문에 대한 답이 하나의 특정 문서 안에 온전히 포함되어 있을 때 매우 효과적입니다.

 

2. RAG-Token 모델 이 모델은 출력 문장의 단어(토큰)를 하나씩 생성할 매 순간마다 5개의 문서를 동시에 참고하여 확률을 합산하는 방식입니다. 작가가 첫 번째 단어를 적을 때 5개의 단서를 모두 훑어보고 가장 적절한 단어를 선택합니다. 두 번째 단어를 적을 때도 다시 5개의 단서를 모두 평가합니다.

 

이 방식은 여러 문서에 흩어진 지식을 종합해야 할 때 매우 유연합니다. 예를 들어 "해밍웨이의 소설 중 태양은 다시 떠오른다와 무기여 잘 있거라가 있습니다"라는 문장을 만들 때, 앞부분을 작성할 때는 '태양은 다시 떠오른다'를 다룬 문서를 중점적으로 참고하고, 뒷부분을 작성할 때는 '무기여 잘 있거라'를 다룬 문서를 참고하여 정보의 조각을 자연스럽게 이어 붙일 수 있습니다. 여러 출처를 융합해야 하는 복잡한 질의응답에서 더 우수한 성능을 발휘합니다.

 

6. 작동 원리: 어떻게 학습하는가? (The "How")

RAG 시스템이 성공적으로 작동하려면 검색기와 생성기가 서로 호흡을 맞추도록 최적화되어야 합니다. RAG 학습 방식의 가장 독특한 점은 "어떤 문서를 찾아야 정답인지"를 직접적으로 가르쳐주지 않는다는 점입니다. 연구진은 오직 질문(입력)과 정답(출력) 쌍만 모델에 제공합니다. 모델은 정답을 맞히기 위해 오차를 줄여가는 역전파(Backpropagation) 과정에서 스스로 "이런 질문에는 저런 종류의 문서를 찾는 것이 유리하다"는 것을 학습하게 됩니다.

 

이를 위해 사용된 구체적인 데이터 세팅은 다음과 같습니다.

 

1. 입력 데이터 (Input Data)

학습과 추론을 위해서는 두 가지 유형의 입력 데이터가 필요합니다. 하나는 배경지식이 되는 거대한 문서 저장소이고, 다른 하나는 모델을 훈련시킬 질의응답 쌍입니다.

  • 비매개변수적 지식 소스 (외부 데이터베이스): 연구진은 2018년 12월 기준의 위키피디아 덤프 데이터를 사용했습니다. 길이가 긴 위키피디아 문서를 그대로 사용하지 않고, 정보의 밀도를 높이기 위해 100단어 단위의 덩어리(Chunk)로 잘게 쪼갰습니다. 이렇게 만들어진 총 2,100만 개의 텍스트 덩어리를 사전 학습된 문서 인코더를 통해 768차원의 밀집 벡터로 변환하여 저장해 두었습니다.
  • 학습용 데이터셋: 모델이 검색과 생성을 연습할 수 있도록 다양한 과제의 텍스트 쌍을 입력합니다.
    • 오픈 도메인 QA: 자연어 질문과 그에 대한 짧은 정답. 예를 들어, "워싱턴 주에 있는 국립공원은?"이라는 질문 데이터가 입력됩니다. Natural Questions (약 79,000개), TriviaQA (약 78,000개), WebQuestions (약 3,400개), CuratedTrec (약 1,300개) 데이터셋을 활용했습니다.
    • 생성 과제: MS-MARCO 추상적 질의응답 (약 153,000개) 데이터와 Jeopardy 질문 생성 데이터 (약 97,000개)를 통해 단순히 단어를 추출하는 것이 아니라 문장을 구성하는 방법을 학습합니다.
    • 분류 과제: FEVER 사실 검증 데이터 (약 145,000개)를 입력하여 주어진 주장의 진위를 판별하도록 합니다.

2. 출력 데이터 (Output Data)

출력 데이터는 모델이 주어진 입력에 대해 최종적으로 생성해야 하는 텍스트 타겟입니다.

  • 단답형 및 서술형 텍스트: 질의응답 과제에서는 정답이 되는 단어나 구문을 텍스트 형태로 출력합니다. 예를 들어 "마운트 레이니어 국립공원"과 같은 짧은 정답이나, "스코틀랜드에서 필요한 통화는 파운드 스털링입니다."와 같은 완전한 문장을 생성합니다.
  • 분류 라벨의 텍스트화: FEVER 같은 사실 검증 과제에서는 모델의 출력을 단순한 숫자가 아닌 텍스트 라벨로 설정합니다. 입력된 주장이 참이면 "Supports(지지함)", 거짓이면 "Refutes(반박함)"라는 단어를 출력 데이터로 사용합니다.

학습 과정에서 효율성을 높이기 위해 2,100만 개의 문서를 벡터화한 인덱스는 고정(Freeze)해 두고, 질문을 벡터로 바꾸는 인코더와 답변을 작성하는 생성기만 미세 조정했습니다. 이는 학습 비용을 크게 줄이면서도 충분히 높은 성능을 달성하기 위한 전략입니다.

 

7. 결과: 얼마나 좋아졌나? (Results)

RAG 모델은 지식 집약적 과제에서 매개변수 크기의 한계를 검색으로 극복하며 압도적인 성능을 증명했습니다. 단순한 정확도 향상뿐만 아니라, 문장의 질적 향상과 실용성 측면에서도 괄목할 만한 성과를 보였습니다.

 

오픈 도메인 질의응답(QA)에서 최고 성능 달성

RAG 모델은 Natural Questions(NQ), WebQuestions(WQ), CuratedTrec(CT) 등 주요 질의응답 데이터셋에서 최고 성능(SOTA)을 경신했습니다. 아래 표는 유사한 시기에 발표된 모델들과의 정확도(Exact Match)를 비교한 결과입니다.

모델 (분류) 매개변수 NQ TQA WQ CT
T5-11B (폐쇄형) 110억 개 34.5 50.1 37.4 -
REALM (오픈북) 약 3억 개 40.4 - 40.7 46.8
DPR (오픈북) 약 2억 개 41.5 57.9 41.1 50.6
RAG-Sequence 약 6억 개 44.5 56.8 45.2 52.2

 

주목할 점은 모델의 효율성입니다. 무려 110억 개의 매개변수를 가진 거대한 T5-11B 모델이 내부 지식에만 의존하여 34.5점을 기록한 반면, 총 6억 개의 매개변수만을 가진 RAG 모델은 외부 검색을 활용하여 44.5점을 기록했습니다. 매개변수를 무리하게 늘리지 않고도 검색을 통해 훨씬 더 똑똑하고 정확한 답변을 낼 수 있음을 숫자로 증명한 것입니다.

 

환각 감소 및 사실성 증대

Jeopardy 질문 생성 과제에서 진행된 인간 평가(Human Evaluation) 결과는 RAG의 또 다른 강점을 보여줍니다. 평가자들은 기본 BART 모델과 RAG 모델이 생성한 문장을 비교했는데, RAG가 더 사실에 기반한다고 응답한 비율이 42.7%에 달한 반면, BART가 더 사실적이라고 응답한 비율은 7.1%에 불과했습니다. 또한, 생성된 문장에 사용된 어휘의 다양성을 측정하는 지표(Distinct n-gram)에서도 RAG가 높은 점수를 기록하여 기계적이고 뻔한 답변 패턴에서 벗어났음을 확인했습니다.

 

인덱스 교체(Hot-swapping)를 통한 지식 업데이트

RAG의 가장 강력한 실용적 장점이 증명된 실험입니다. 연구진은 2016년 세계 지도자 목록을 기반으로 구축된 데이터베이스 인덱스를 사용하여 모델을 테스트한 후, 모델의 가중치를 전혀 재학습시키지 않고 데이터베이스만 2018년 기준으로 교체(Hot-swap)했습니다. 그 결과, "페루의 대통령은 누구인가?"와 같은 질문에 대해 모델은 새로운 인덱스에 맞춰 2018년 기준의 정답을 완벽하게 생성해 냈습니다. 이는 시간이 지남에 따라 정보가 변하는 실제 비즈니스 환경에서 모델 자체를 다시 학습시키는 막대한 비용 없이, 문서를 교체하는 것만으로 지식을 쉽게 업데이트할 수 있음을 의미합니다.

 

실패 케이스 및 한계점

물론 완벽한 모델은 없습니다. 실험 결과, 검색기가 처음부터 완전히 엉뚱한 문서를 찾아오거나 문서 내에 혼란을 주는 상충된 정보가 포함되어 있을 경우, 생성기 역시 이를 맹신하여 잘못된 답을 만들어내는 현상이 관찰되었습니다. 답변의 품질이 1단계인 검색의 품질에 지나치게 종속된다는 점이 이 초기 RAG 구조의 솔직한 한계점으로 지적되었습니다.

 

8. 이 논문의 계보와 발전 (Impact & Follow-ups)

2020년에 발표된 이 논문은 단순히 학계의 성과로 끝나지 않았습니다. 대형 언어 모델의 치명적인 단점인 환각 현상과 지식 한계를 극복하는 가장 현실적인 대안으로 평가받으며, 현재 산업계(Enterprise AI) 전반에 걸쳐 가장 널리 쓰이는 표준 아키텍처로 자리 잡았습니다. 이 논문이 뿌린 씨앗은 2021년부터 2026년에 이르기까지 수많은 후속 연구와 파생 모델들을 탄생시켰으며, 그 계보는 다음과 같이 크게 네 가지 흐름으로 발전했습니다.

 

아키텍처의 모듈화 (Naive $\rightarrow$ Advanced $\rightarrow$ Modular RAG)

이 논문에서 제시된 형태는 질문을 던지면 바로 검색하여 답변을 생성하는 가장 기본적인 'Naive RAG(초기 RAG)'로 분류됩니다. 하지만 실제 환경에서는 이 단순한 파이프라인만으로는 성능의 한계가 명확했습니다. 이를 극복하기 위해 문서 검색 전에 질문 자체를 의미에 맞게 재작성(Query Reformulation)하거나, 검색된 문서들이 정말 질문과 관련이 있는지 교차 인코더(Cross-encoder)를 사용해 다시 순위를 매기는(Reranking) 'Advanced RAG(고급 RAG)'가 등장했습니다. 2025년을 전후로는 이러한 과정들을 독립적인 블록처럼 만들어 필요에 따라 조립하고 교체할 수 있는 'Modular RAG(모듈형 RAG)' 구조로 발전하여, 각 기업의 도메인 특성에 맞는 유연한 시스템 구축이 대세가 되었습니다.

 

에이전트 기반 자율 제어 (Agentic RAG)

RAG의 가장 진보된 트렌드는 언어 모델 스스로 결정 권한을 가지는 '에이전트(Agent)' 역할을 부여하는 것입니다. 기존에는 질문이 들어오면 무조건 검색을 수행했지만, 이제는 모델이 스스로 판단합니다.

  • Self-RAG (2023): 생성 과정에서 모델 스스로 '성찰 토큰(Reflection Token)'을 생성하여, 현재 자신이 검색한 정보가 정말 유용한지, 혹은 자신이 생성 중인 답변이 사실과 부합하는지 실시간으로 스스로를 비판하고 궤도를 수정합니다.
  • Corrective RAG (CRAG): 검색된 문서의 품질을 별도의 평가기(Evaluator)가 검사합니다. 만약 검색된 정보의 품질이 낮으면, 과감히 이를 버리고 질문을 수정하여 다시 검색하거나 외부 웹 검색을 통해 정보를 보완하는 등 시스템 스스로 오류를 바로잡는 구조를 갖추었습니다.

 

복잡한 추론을 위한 그래프 RAG (Graph RAG)

기존의 RAG는 문서를 단순한 텍스트 덩어리(Chunk)로 나누어 벡터화했습니다. 이 방식은 단순한 사실 검색에는 유리하지만, 여러 문서에 걸쳐 흩어진 정보들의 복잡한 '관계'를 파악하는 데는 한계가 있었습니다. 이를 해결하기 위해 2024년 이후에는 문서 속의 인물, 장소, 개념 등 개체(Entity)와 그들 간의 관계성을 지식 그래프(Knowledge Graph)로 구축하여 검색에 활용하는 Graph RAG 기술이 크게 각광받고 있습니다. 이를 통해 "A회사와 계약을 맺은 B회사의 대표가 투자한 C프로젝트의 위험성은?"과 같은 다단계(Multi-hop) 추론 질문에 훨씬 더 정확하게 답할 수 있게 되었습니다.

 

거대한 논쟁: Long-Context LLM vs RAG

최근 하드웨어와 모델 아키텍처의 발전으로 100만 토큰 이상(수백 페이지의 책 분량)을 한 번에 입력받을 수 있는 모델(예: Gemini 1.5, GPT-4)이 등장했습니다. 이에 따라 "엄청나게 긴 문맥을 한 번에 다 읽을 수 있다면, 굳이 문서를 잘라 검색하는 RAG는 더 이상 필요 없는 것 아닌가?"라는 거대한 논쟁이 발생했습니다. 그러나 2025~2026년의 다양한 연구 및 산업계의 결론은 "두 기술은 대체재가 아니라 보완재"라는 것입니다. 수천 개의 문서를 모델에 한꺼번에 입력하는 방식은 컴퓨팅 비용이 RAG 대비 수백 배 이상 비싸며, 문서 중간에 있는 핵심 정보를 모델이 무시해버리는 'Lost in the middle' 현상을 유발합니다. 따라서 방대한 데이터베이스에서 필요한 정보만 핀셋처럼 뽑아내어 처리 비용을 낮추는 RAG의 효율성은 여전히 대체 불가능하며, 현재는 RAG로 먼저 문서를 추려낸 뒤 이를 Long-Context 모델이 분석하게 하는 하이브리드 방식이 표준으로 자리 잡고 있습니다.

 

9. 마무리

"모든 것을 외우게 하려는 오만을 버리고, AI에게 검색이라는 도구를 쥐어주다"

 

오늘 리뷰한 RAG 논문은 딥러닝과 자연어 처리 분야의 패러다임을 근본적으로 바꾼 핵심적인 연구입니다. 언어 모델의 매개변수를 늘려 모든 지식을 뇌 안에 욱여넣으려던 학계의 흐름에 제동을 걸고, "필요한 외부 지식을 검색하여 가져오는 것이 훨씬 효율적이고 정확하며, 모델의 크기를 가볍게 유지할 수 있다"는 것을 실증했습니다. 이 논문이 없었다면 현재 기업들이 자사의 내부 데이터를 활용해 사내 보안 규정 챗봇을 구축하거나 특정 도메인에 특화된 고객 지원 AI를 빠르고 저렴하게 만드는 일은 불가능했을 것입니다.

 

실무 적용 시 주의할 점 (Practical Implementation Tips in 2026)

이 논문의 아이디어를 기반으로 실제 비즈니스에 RAG 시스템을 도입하려는 개발자와 기획자라면 다음의 현실적인 한계와 고려사항을 반드시 인지해야 합니다.

  1. 청킹의 딜레마 (The Chunking Conflict): 원본 문서를 어느 정도 크기로 쪼갤 것인가(Chunking)는 RAG 성능의 핵심입니다. 너무 작게 자르면(100~256 토큰) 특정 단어 검색의 정확도는 높아지지만 문서의 앞뒤 맥락이 잘려나가 LLM이 제대로 된 문장을 짓지 못합니다. 반대로 크게 자르면(1024 토큰 이상) 맥락은 유지되지만 쓸데없는 내용이 섞여 검색의 정확도가 떨어집니다. 단순하게 글자 수로 자르지 않고 문맥의 의미 단위로 자르는 '의미론적 청킹(Semantic Chunking)'이 권장되며, 문서 내의 표(Table)나 그림이 분할되지 않도록 전처리하는 것이 오류를 막는 지름길입니다.
  2. 교차 인코더(Cross-Encoder) 재정렬의 필수성: 기존의 밀집 벡터 검색만으로는 1위로 검색된 문서가 실제로 정답을 포함할 확률이 50% 수준에 머무는 경우가 많습니다. 검색된 10~20개의 문서 간의 미묘한 문맥 차이를 LLM을 통해 다시 한번 꼼꼼하게 채점하고 순위를 매기는 Reranking 단계를 추가해야 정확도를 80~90% 수준으로 끌어올릴 수 있습니다.
  3. 인프라 병목 현상 (GPU 및 Latency): Reranking이나 복잡한 검색 과정을 파이프라인에 추가하면 응답 시간(Latency)이 200~500ms에서 길게는 수 초까지 늘어날 수 있습니다. 실시간 챗봇 서비스에서는 이는 치명적일 수 있습니다. 잦은 질문에 대해서는 결과를 저장해두는 의미론적 캐싱(Semantic Caching)을 활용하고, 벡터 데이터베이스의 인덱스 크기를 관리하여 메모리 한계를 극복하는 설계가 요구됩니다.

앞으로의 발전 방향 앞으로는 텍스트뿐만 아니라 내부의 복잡한 표, 차트 구조, 그리고 동영상 내용까지 검색하여 종합적으로 답변을 생성하는 멀티모달 RAG(Multi-modal RAG) 기술이 더욱 고도화될 것입니다. 또한 의료나 금융처럼 데이터 외부 유출이 엄격히 금지된 환경에서, 각 사용자의 기기나 보안 서버 내부에서 로컬로 문서를 검색하고 지식을 취합하는 연합 검색 증강 생성(Federated RAG) 방식의 중요성도 커질 전망입니다.

 

결론적으로, RAG는 언어 모델의 뛰어난 '이해 및 생성 능력'과 데이터베이스의 방대한 '지식'을 결합한 가장 실용적이고 우수한 아키텍처입니다. 한계를 보완하기 위한 기술 생태계가 모듈형과 에이전트 형태로 완벽히 진화하고 있는 만큼, 앞으로 AI를 실무에 도입함에 있어 가장 핵심적인 주춧돌 역할을 할 것임이 틀림없습니다.

 

반응형