:)

[RAG] Retrieval-Augmented Generation for Large Language Models: A Survey 본문

Paper Review

[RAG] Retrieval-Augmented Generation for Large Language Models: A Survey

andre99 2024. 11. 22. 17:39

I. INTRODUCTION

 

  • 문제 정의
    • LLM은 뛰어난 성능을 보이지만, 환각(hallucination) 문제, 최신 정보 부재, 고비용 문제 존재
    • Fine-tuning은 모델을 업데이트해야 하므로 최신 데이터 반영에 시간이 걸림.
  • 해결책
    • RAG는 외부 데이터베이스의 지식을 검색하여 최신 정보와 높은 신뢰성을 보장.
    • 검색한 정보를 기반으로 생성 과정에 활용함으로써 LLM의 단점을 보완.
  • 기술 발전
    • 검색과 생성 기술의 조합이 AI 응답의 정확성과 유용성 향상.
    • 다양한 작업에 적합한 솔루션으로 자리잡음.

 

 

II. OVERVIEW OF RAG 

  • A. Naive RAG
    • 초기 방식으로 단순히 검색한 정보를 생성 모델의 입력으로 사용
    • 검색된 데이터는 필터링이나 가공 없이 사용됨
  • B. Advanced RAG
    • 검색된 데이터를 필터링하거나 재정렬(Contextual Re-ranking)하여 더 유용한 정보를 생성에 활용.
    • 불필요한 데이터 제거, 관련성이 높은 데이터 강화.
    • 검색 결과의 품질이 전체 성능에 중요한 영향을 미침.
  • C. Modular RAG 
    • 검색 모듈과 생성 모듈을 별도로 최적화하여 독립적으로 조정 가능.
    • 모듈 교체가 가능하며, 특정 도메인 작업에 쉽게 적용.
  • D. RAG vs Fine-tuning
    • RAG: 외부 지식 소스를 통해 즉각적으로 새로운 정보를 통합.
    • Fine-tuning: 모델을 새로 학습시켜야 하므로 비용이 높고 시간이 오래 걸림

III. RETRIEVAL 

  • A. Retrieval Source
    • 검색 데이터베이스의 선택은 성능에 중요한 영향을 미침
  • B. Indexing Optimization
    • Dense Indexing: 신경망 기반으로 더 정밀한 검색.
    • Sparse Indexing: 기존 검색 엔진 방식(TF-IDF, BM25) 활용
  • C. Query Optimization
    • 검색 쿼리를 최적화하여 관련성이 높은 검색 결과 획득.
    • Query Expansion: 쿼리에 동의어나 유사어 추가.
    • Re-ranking: 검색 결과를 재정렬하여 더 유용한 정보를 상위에 배치
  • D. Embedding
    • 검색과 생성 간 매핑을 위한 벡터 표현 사용.
    • Dense Embedding: LLM에서 학습된 임베딩으로 더 나은 검색 성능 제공
  • E. Adapter
    • 검색 결과를 생성 모델 입력 형식에 맞게 변환

IV. GENERATION 

  • A. Context Curation
    • 검색된 데이터를 선별 -> 생성 모델에 적합한 형식으로 전달
  • B. LLM Fine-tuning
    • Generative Pre-training의 일부로 검색 데이터 활용

V. AUGMENTATION PROCESS IN RAG 

  • A. Iterative Retrieval
    • 초기 쿼리와 현재까지 생성된 텍스트를 기반으로 반복적으로 지식 베이스 검색
    • 문제점: 의미적 불연속성(Semantic Discontinuity) & 불필요한 정보의 축적
  • B. Recursive Retrieval
    • 이전 검색 결과를 기반으로 검색 쿼리를 점진적으로 개선하여, 더 깊고 관련성 높은 정보를 반복적으로 찾는 검색 방식
    • IRCoT: Chain-of-Thought(CoT)을 사용해 검색 프로세스를 개선.
    • ToC: 쿼리의 모호한 부분을 체계적으로 최적화하는 Clarification Tree 생성
    • 긴 문서나 PDF를 요약한 후, 요약된 내용을 바탕으로 추가 검색 수행.
    • Multi-hop Retrieval과 결합하여 그래프 구조 데이터를 심층 탐색
  • C. Adaptive Retrieval
    • LLM이 검색이 필요한 시점과 내용을 스스로 결정하여 효율성과 정확성 향상
    • Flare: 생성 신뢰도가 낮아질 경우 검색 시스템 자동 활성화.
    • Self-RAG: "Reflection Tokens"로 모델이 스스로 검색 필요성을 판단

VI. TASK AND EVALUATION 

RAG 모델의 성능 평가는 다양한 응용 시나리오에서 검색 및 생성 능력을 최적화하고 이해하기 위한 중요한 연구 주제.

평가의 주요 목표: 다양한 응용 시나리오에서 RAG 모델의 성능 이해 및 최적화

  • A. Downstream Task

Question Answering (QA), Information Extraction (IE), dialogue generation, code search 등

  • B. Evaluation Target

과거 평가 방법: 특정 작업에서의 성능에 중점 ⇒ RAG 모델의 고유한 특성을 평가하는 연구 부족

RAG 평가 핵심: Retrieval Quality & Generation Quality

  • Retrieval Quality: 검색된 문맥의 적합성과 효과성 평가

주로 사용되는 지표: Hit Rate, MRR, NDCG 등

  • Generation Quality: 검색된 문맥을 기반으로 생성된 답변의 품질 평가. (unlabeled, labeled 콘텐츠로 나눠서)
    • unlabeled 콘텐츠의 평가 기준: 사실성, 관련성, 비유해성
    • labeled 콘텐츠의 평가 기준: 정보의 정확성
  • C. Evaluation Aspects
    최근의 RAG 모델 평가 관행은 세 가지 주요 품질 점수(Quality Scores)와 네 가지 필수 능력(**Required Abilities)**을 강조 → RAG 모델의 두 가지 주요 목표인 검색과 생성에 대한 평가를 종합적으로 알려줌.
  • Quality Scores:
    • 문맥 관련성: 검색된 문맥이 질문과 얼마나 일치하는지 평가 → 불필요한 콘텐츠로 인한 처리 비용을 줄임.
    • 답변 사실성: 생성된 답변이 정확하고 신뢰할 만한지 평가
    • 답변 관련성: 생성된 답변이 질문에 적합한지 평가
  • Required Abilities:
    • 노이즈 내성: 질문과 관련은 있지만 실질적인 정보가 없는 노이즈 문서를 잘 처리하는 능력. (불필요한 정보로부터 핵심 내용을 추출)
    • 부정 응답 거부: 필요한 정보가 없을 때 답변을 회피
    • 정보 통합: 여러 문서에서 종합적인 답변을 도출
    • 반사실적 내성: 잘못된 정보가 포함된 문서에서 오류를 인식하고 무시하는 능력.
  • D. Evaluation Benchmarks and Tools
    • 주요 벤치마크: RGB, RECALL, CRUD
    • 자동화 도구: RAGAS, ARES, TruLens8

 

VII. DISCUSSION AND FUTURE PROSPECTS

  • A. RAG vs Long Context : LLM의 발전으로 긴 문서를 처리할 수 있는 능력이 확장되었음을 언급하며, RAG가 여전히 중요한 역할을 하는 이유에 대해 설명
    • LLM의 긴 문맥 처리 능력 확대에도 불구하고 RAG는 여전히 운영 효율성 및 원본 참조 검증을 위한 필수 기술로 중요.
    • 긴 문맥 의존은 추론 속도를 저하시킴. RAG는 청크 검색을 통해 효율성 보장.
  • B. RAG Robustness: RAG의 출력 품질에 영향을 미치는 요소로 노이즈나 모순된 정보의 문제
    • 노이즈 및 모순 정보 처리 능력은 RAG의 중요한 연구 주제.
    • 문맥 평가를 통해 문서의 적절성을 사전 평가하는 방법에 대란 연구 결과, 관련 없는 문서가 포함되면 품질이 떨어질 것이라는 예상과 달리, 정확도가 30% 이상 향상될 수 있음.
    ⇒ 검색 및 생성 모델의 통합을 위한 더 정교한 접근 방식이 요구
  • C. Hybrid Approaches: RAG와 fine-tuning의 결합
    • RAG와 fine-tuning 결합은 주요 전략으로 떠오르고 있음.
      • RAG와 fine-tuning의 최적 통합 방식(순차적, 교차적, 또는 end-to-end 공동 훈련 등)과 매개변수화된 및 비매개변수화된 장점 활용 방법은 연구할 만한 분야임.
    • 또 다른 트렌드는 특정 기능을 가진 SLMs(생성된 언어 모델)을 RAG 시스템 결과를 통해 fine-tuning하는 것.
      • EX) CRAG: 경량화된 검색 평가기를 활용해 쿼리 문맥 적합성 향상
  • D. Scaling laws of RAG: RAG 모델의 파라미터와 스케일링 법칙
    • End-to-end RAG 모델과 RAG 기반 사전 훈련 모델은 여전히 현재 연구의 주요 초점 중 하나.
      • 이 모델들의 파라미터는 중요한 요소로 작용함.
    • LLM에 대한 스케일링 법칙은 확립되었지만, RAG에의 적용 가능성은 불확실함.
      • 초기 연구인 RETRO++가 이를 다루기 시작했으나, RAG 모델의 파라미터 수는 여전히 LLM보다 적음.
    • Inverse Scaling Law: 작은 모델이 큰 모델보다 잘 수행될 가능성 제기→ 추가 연구가 필요함.
  • E. Production-Ready RAG: RAG 기술의 실용성과 엔지니어링 요구 사항
    • 해결해야 할 주요 과제:
      • 검색 효율성 개선: 대규모 데이터에서 필요한 정보를 빠르게 검색.
      • 데이터 보안 강화: LLM이 민감한 문서 출처나 메타데이터를 실수로 유출하지 않도록 방지.
    • RAG 생태계 개발은 기술 스택의 발전에 크게 영향을 받음.
      • 주요 도구: LangChain, LLamaIndex
      • 새로운 기술 스택
        • EX) Flowise AI: 저코드 방식으로 드래그 앤 드롭을 통해 RAG 애플리케이션 쉽게 배포
        • HayStack, Meltano, Cohere Coral 등
    • 기술 발전 방향:
      1. 맞춤화: RAG를 특정 요구 사항에 맞게 조정.
      2. 단순화: RAG 사용을 쉽게 하여 초기 학습 곡선 감소.
      3. 전문화: RAG를 생산 환경에 최적화하여 서비스 제공.
    • 소프트웨어 및 클라우드 서비스 제공업체 확장
      • EX) Weaviate Verba(개인 비서 애플리케이션을 위한 서비스 제공), Amazon Kendra(기업 콘텐츠를 탐색 가능한 지능형 검색 서비스).
    • RAG 모델과 기술 스택의 상호 성장.
      • 기술 발전이 기존 인프라에 새로운 표준을 설정하고, 기술 스택의 향상이 RAG 기능 개발을 촉진.
      • RAG 도구 키트: 고급 기업 애플리케이션을 위한 기반을 마련.
      • 완전히 통합된 포괄적인 플랫폼 개념은 아직 미래의 과제..
  • F. Multi-modal RAG: RAG가 멀티모달 데이터를 처리하는 방식
    • Image
      • RA-CM3, BLIP-2 : 이미지와 텍스트 기능 통합
      • "Visualize Before You Write" 방법: 이미지 생성 후 텍스트 생성을 유도
    • Audio & Video
      • GSS Method: 오디오 클립 검색 및 음성 번역 데이터 변환
      • UEOP: 외부 오프라인 전략을 통합한 end-to-end 자동 음성 인식(ASR)의 중요한 발전.
      • KNN 기반 주의 집중 융합: 오디오 임베딩과 의미적으로 관련된 텍스트 임베딩을 활용하여 ASR 성능 향상, 도메인 적응 가속화.
      • Vid2Seq: 특수한 시간적 표식을 통해 이벤트 경계 및 텍스트 설명 예측을 통합된 출력 시퀀스로 제공.
    • Code
      • RBPS Method: 코드 검색 및 생성 최적화
      • CoK Method: 지식 그래프를 활용하여 정확한 사실 추출과 질의 응답 성능 개선

VIII. CONCLUSION

 

  • RAG:  LLM의 한계를 극복하고 다양한 작업에서 뛰어난 성능을 보임
  • 검색과 생성을 통합하여 최신 정보와 신뢰성 있는 응답 제공
  • 향후 방향
    • 도메인 특화 RAG 개발
    • 멀티모달 데이터 통합
    • 검색 및 생성 효율성 극대화