Retrieval-Augmented Generation for Large Language Models: A Survey (Yunfan Gao et al.)

2025. 8. 29. 17:43·AI Research Paper Review/Post-Transformer

 

 

본 논문은 대규모 언어모델(LLMs)의 Hallucination, Outdated Knowledge, 비투명한 추론 문제를 해결하기 위한 RAG의 발전을 종합적으로 정리한 Survey다. RAG는 외부 지식베이스에서 관련 정보를 검색해 LLM의 응답에 통합함으로써 사실성·최신성·신뢰성을 강화하며, 발전 과정은 Naive RAG(단순 Retrieve-Read) → Advanced RAG(인덱싱·쿼리·포스트리랭크 최적화) → Modular RAG(메모리·라우팅·멀티쿼리 등 모듈화된 구조)로 요약된다. 논문은 Retrieval, Generation, Augmentation의 세 축에서 핵심 기술을 분석하고, 26개 태스크·50여 개 데이터셋·다양한 벤치마크를 통해 평가 체계를 체계화하였다. 또한 RAG와 파인튜닝의 비교, 롱컨텍스트 LLM과의 상호작용, 잡음 내성 강화, 하이브리드 기법, 멀티모달 확장 등 미래 연구 방향을 제시한다. 결국 RAG는 LLM을 현실 세계 지식과 연결하는 핵심 기술 스택으로 자리 잡았으며, 학문적·산업적 응용에서 점차 필수적인 역할을 하게 될 것임을 보여준다.

 

 

Introduction

LLM은 GPT 계열의 발전 이후 자연어처리의 패러다임을 바꿔 놓았지만, hallucination·구식 정보(Outdated Knowledge)·추론 불투명성(Non-Transparent Reasoning)이라는 심각한 문제를 여전히 안고 있다.

이 문제를 해결하기 위해 고안된 것이 Retrieval-Augmented Generation (RAG)이다.

  • 핵심 아이디어: LLM이 응답을 생성하기 전에, 외부 데이터베이스(위키피디아, 뉴스, PDF, 논문 등)에서 관련 문서 청크를 검색 → LLM 입력 컨텍스트로 삽입 → 사실성과 최신성을 확보
  • 장점:
    1. Hallucination 억제
    2. 도메인 특화 지식의 주입
    3. 최신 정보 반영
    4. 추적 가능성(출처 명시 가능)

RAG의 발전사는 크게 세 시기로 요약된다.

  1. Naive RAG – GPT-3 및 ChatGPT 초기에 단순 Retrieve-Read 구조로 시작
  2. Advanced RAG – 인덱싱, 쿼리 변환, 검색 후 재정렬, 컨텍스트 압축 등 고도화
  3. Modular RAG – 모듈 단위 기능을 추가/교체 가능, 기억·라우팅·멀티쿼리 검색 등 새로운 패턴 등장

논문의 기여:

  • RAG 연구 패러다임(Naive/Advanced/Modular) 정리
  • Retrieval, Generation, Augmentation의 세 축에서 최신 기술 리뷰
  • 26개 과제·50여 개 데이터셋·다양한 벤치마크와 평가체계 정리
  • 미래 연구 과제(롱컨텍스트 LLM과의 관계, 견고성, 하이브리드 접근, 멀티모달 확장 등) 제시

 

 

Overview of RAG

대표적 프로세스

  • Indexing: 문서를 잘게 나눠 청크(chunk) 단위로 임베딩하고 벡터DB에 저장
  • Retrieval: 질문을 임베딩으로 변환, 유사도 기반 Top-k 검색
  • Generation: 질문+검색 결과를 프롬프트로 구성, LLM이 최종 응답을 생성

RAG의 발전 3단계

  • Naive RAG: 단순 Retrieve → Read. 성능은 개선되지만 부정확성·중복성·불필요 맥락 문제 존재
  • Advanced RAG: 쿼리 재작성, 포스트리랭크, 메타데이터 활용 등으로 효율성 강화
  • Modular RAG: 모듈 단위로 확장·교체 가능. 반복 검색, 적응 검색, 메모리 모듈, 라우팅 등 새로운 기능을 지원

 

 

Naive RAG

구성 요소

  1. 인덱싱: 문서를 일괄 전처리 → 토큰 단위 청크화 → 임베딩 변환 → 벡터DB 저장
  2. 검색: 사용자 질문을 임베딩으로 변환 후 벡터DB에서 유사도 기반 Top-k 검색
  3. 생성: 질문+검색 문서 조합 → LLM 입력 → 응답 생성

한계

  • 검색 부정확: 중요한 문서 누락, 불필요한 문서 포함
  • 생성 환각: 검색 문서와 무관한 답변, 유해/편향된 텍스트 발생
  • 증강 실패: 중복/불일치, 맥락 불연속, 불필요한 길이, 의미 없는 반복

 

 

Advanced RAG

Naive RAG의 한계를 해결하기 위해 고안된 고급 기법들

Pre-retrieval 최적화

  • 인덱싱 개선:
    • 슬라이딩 윈도우로 문맥 보존
    • 세밀한 청크 분리
    • 메타데이터(저자, 시간, 출처) 추가
  • 쿼리 최적화:
    • Query rewriting (LLM으로 질문 재작성)
    • Query expansion (질문을 여러 변형 쿼리로 확장)
    • Sub-question 분해 (복잡한 질문을 단일 소질문들로 쪼개 검색)

Post-retrieval 최적화

  • Reranking: 더 관련 있는 문서를 프롬프트 앞부분에 배치
  • Context 압축: 중요 문단만 추출, 요약 후 제공

 

 

Modular RAG

가장 진보된 형태. 기존 단일 체인 구조에서 벗어나 모듈 단위 확장/교체 가능

새로운 모듈

  • Search 모듈: 웹 검색, DB, 지식그래프를 직접 질의
  • Fusion 모듈 (RAG-Fusion): 하나의 질문을 여러 쿼리로 확장 후 병렬 검색 → 재랭킹
  • Memory 모듈: LLM의 메모리·히스토리를 활용해 장기적 맥락 보존
  • Routing 모듈: 질문을 보고 어떤 파이프라인을 사용할지 자동 선택
  • Predict 모듈: 불필요한 검색 없이 LLM 내부 지식 활용
  • Task Adapter: 과제별 맞춤 검색기

새로운 패턴

  • Rewrite-Retrieve-Read, Generate-Read, Recite-Read, Hybrid Retrieval, Iterative Retrieve-Read
  • Iter-RETGEN: 검색과 생성을 번갈아 반복
  • Self-RAG: LLM이 스스로 “retrieval 필요/불필요”를 결정

 

 

RAG vs Fine-tuning

  • Prompt Engineering: 외부지식X, 모델 수정X. 간단하지만 한계
  • Fine-tuning: 특정 지식을 모델 파라미터에 주입. 형식/스타일 맞춤 가능. 그러나 최신성 떨어지고 연산비용 큼
  • RAG: 외부 지식 이용, 최신성·추적성 강점. 하지만 latency 증가

결론: RAG와 FT는 상호 보완적이며, 특정 도메인에서는 병행이 최적

 

 

Retrieval 단계 상세

Retrieval Source

  • 비정형 텍스트 (위키피디아, 뉴스, 도메인 문헌).
  • 반정형 데이터 (PDF, 표).
  • 구조화 데이터 (Knowledge Graph).
  • LLM 생성 데이터 (자체 메모리, 가상 문서).

Retrieval Granularity

  • 텍스트: 토큰, 구, 문장, 청크, 문서
  • KG: Entity, Triplet, Subgraph
  • Fine granularity는 정확성↑, 그러나 비용↑. Coarse granularity는 문맥 풍부하지만 노이즈↑

Indexing 최적화

  • 청크 전략: 고정 토큰 길이 vs 슬라이딩 윈도우
  • Metadata: 시간/저자/요약 정보 추가
  • 구조화 인덱스: 계층형 구조, KG 기반

Query 최적화

  • Query Expansion, Sub-query decomposition, Chain-of-Verification(CoVe)
  • Query Rewriting (BEQUE, HyDE)
  • Query Routing (Semantic Router, Metadata Router)

Embedding

  • Sparse(BM25) vs Dense(BERT)
  • 최신 임베딩 모델: BGE, AngIE, Voyage 등
  • 도메인 데이터 파인튜닝 필요
  • LLM supervised retriever (LSR), RLHF 기반 피드백 학습

Adapter

  • PRCA, AAR 등 플러그인 방식 어댑터
  • 브릿지 모델을 두어 retriever–generator 간 alignment 강화

 

 

Generation 단계 상세

Context 관리

  • Reranking: Cohere reranker, GPT reranker
  • Context 압축: LLMLingua, RECOMP(contrastive learning 기반)
  • Filter-Reranker: 소형 모델(SLM)로 필터링 → LLM 재정렬

LLM Fine-tuning

  • 도메인 적응
  • 생성 스타일/형식 제어
  • RA-DIT: Retriever–Generator 간 KL divergence 최소화
  • Distillation (강력한 모델 지식을 작은 모델에 전달)
  • RLHF 기반 Alignment

 

Augmentation 과정

Iterative Retrieval

  • 검색–생성을 반복하면서 정보 점진적 보강
  • 예: ITER-RETGEN

Recursive Retrieval

  • 쿼리를 단계별로 재정제, sub-question planning
  • IRCoT, ToC(Tree of Clarification)

Adaptive Retrieval

  • Flare: 생성 확률이 낮아질 때 자동 검색
  • Self-RAG: reflection tokens로 스스로 retrieval 필요성 판단

 

 

Task & Evaluation

주요 다운스트림 태스크

  • QA: 단일/다중 hop, 장문 QA, 도메인 QA
  • 대화: 오픈도메인, 개인화, Task-oriented
  • IE: 이벤트/관계 추출
  • 추천/요약/코드 검색/팩트체킹 등

평가 목표

  • Retrieval 품질: Hit Rate, MRR, NDCG
  • Generation 품질: Faithfulness, Relevance
  • 추가 능력: Noise Robustness, Negative Rejection, Information Integration, Counterfactual Robustness

벤치마크 & 툴

  • 벤치마크: RGB, RECALL, CRUD
  • 툴: RAGAS, ARES, TruLens

 

 

Discussion & Future

  1. RAG vs Long Context LLM
    • 최근 LLM은 200k 토큰 이상 처리 가능. 그러나 RAG는 여전히 효율성과 출처 추적 측면에서 필요
  2. RAG Robustness
    • 잡음/상충 정보에 취약. NoiseRAG, Chain-of-Verification 등 견고성 강화 연구 필요
  3. Hybrid Approaches
    • Fine-tuning과 RAG를 병행
    • 소형 모델(SLM)과 RAG 협업 구조
  4. Scaling Laws of RAG
    • LLM에는 scaling law가 확립되었으나, RAG에선 불확실
    • 작은 모델이 더 잘 작동할 가능성(Inverse Scaling Law)도 연구 중
  5. Production-ready RAG
    • 속도, 보안, 데이터 프라이버시 문제 해결 필요
    • LangChain, LlamaIndex, Haystack 등 툴 생태계 성장
  6. Multimodal RAG
    • 텍스트 외 이미지, 오디오, 비디오, 코드까지 확장
    • 예: RA-CM3, BLIP-2, Vid2Seq, TableGPT, RBPS 등

 

 

Conclusion

RAG는 LLM을 현실 세계 지식과 연결하는 핵심 기술이다.

  • Naive → Advanced → Modular로 발전하며 검색·생성·증강 전반에서 고도화되었다.
  • 최신 평가체계, 다양한 태스크 적용, 멀티모달 확장 등으로 산업·학계 모두에 큰 잠재력을 보유한다.
  • 향후 연구는 롱컨텍스트 환경에서의 최적화, 견고성 강화, 하이브리드 기법, 멀티모달 적용, 엔터프라이즈 적용에 집중될 것이다.

'AI Research Paper Review > Post-Transformer' 카테고리의 다른 글

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (BERT) (Jacob Devlin et al.) - [2019 NAACL]  (1) 2025.09.01
Scaling Laws for Neural Language Models (Scaling Laws) (Jared Kaplan et al.)  (0) 2025.08.31
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (RAG) (Patrick Lewis et al.)  (1) 2025.08.29
Language Models are Few-Shot Learners (GPT-3) (TomB. Brown et al.)  (2) 2025.08.28
Language Models are Unsupervised Multitask Learners (GPT-2) (Alec Radford et al.) - [OpenAI 2019]  (2) 2025.08.27
'AI Research Paper Review/Post-Transformer' 카테고리의 다른 글
  • BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (BERT) (Jacob Devlin et al.) - [2019 NAACL]
  • Scaling Laws for Neural Language Models (Scaling Laws) (Jared Kaplan et al.)
  • Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (RAG) (Patrick Lewis et al.)
  • Language Models are Few-Shot Learners (GPT-3) (TomB. Brown et al.)
CKtrace
CKtrace
개인 공부 내용 기록을 위한 블로그입니다.
  • CKtrace
    CKtrace's Devlog
    CKtrace
  • 전체
    오늘
    어제
    • My Traces (74)
      • AI Research Paper Review (26)
        • Basic & Milestones of DL (3)
        • Vision (3)
        • Pre-Transformer (7)
        • Post-Transformer (13)
      • Tech Experiments & Study (7)
        • Advanced (2)
        • Basic (5)
      • .etc (41)
        • Python (6)
        • Statistics (19)
        • DB (16)
        • AI (5)
  • My Links

    • GitHub
  • Categories

    기초 통계학
    Vision
    tag
    llm
    BM25
    Database
    머신러닝
    NLP
    langgraph
    Vector search
    langchain
    딥러닝
    인공지능
    CAG
  • hELLO· Designed By정상우.v4.10.4
CKtrace
Retrieval-Augmented Generation for Large Language Models: A Survey (Yunfan Gao et al.)
상단으로

티스토리툴바