ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [논문리뷰] Corrective Retrieval Augmented Generation(CRAG, 2024)
    카테고리 없음 2024. 4. 4. 12:23

    1. 요약

    - 검색 증강 생성(RAG)은 LLM의 할루시네이션을 보완할 수 있지만 검색된 문서에 크게 의존

    - RAG의 답변 품질을 개선하기 위해 수정 검색 증강 생성(CRAG)을 제안

    - Retrieval evaluator를 통해 쿼리에 대해 검색된 문서의 전반적인 품질을 평가

    - 검색된 문서의 정보가 불충분한 경우, 대규모 웹 검색을 통해 검색 결과를 보강

    - 검색된 문서가 핵심 정보에 선택적으로 집중하고 관련 없는 정보를 걸러낼 수 있도록 분해 후 재구성

    - CRAG는 플러그 앤 플레이 방식으로 다양한 RAG에 쉽게 결합 가능

    - 다양한 데이터 세트에 대한 실험 결과, CRAG가 기존 RAG 대비 성능이 우수함

     

     

    2. 인트로

    - 검색 증강 생성(RAG)은 LLM의 할루시네이션을 보완할 수 있지만 검색된 문서의 관련성과 정확성에 크게 의존

    - 품질이 낮은 검색기는 상당한 양의 관련 없는 정보를 가져오며, LLM이 정확한 지식을 습득하는 데 방해가 됨

    - 기존 RAG 는 검색된 문서의 관련성 여부에 관계없이 무차별적으로 통합함(Figure1 참조)

     

    - CRAG(Corrective Retrieval-Augmented Generation) : 검색 결과를 스스로 수정하고 증강 생성된 문서의 활용도를 높임

    - Retrieval evaluator로 쿼리에 대해 검색된 문서의 관련성과 신뢰도를 평가

    - 신뢰도는 {정답, 부정확, 모호}으로 평가되며, 부정확, 모호에 해당될 경우, 대규모 웹 검색 실시

    - 검색된 문서에서 RAG에 도움이 되지 않는 컨텍스트를 제거하기 위해 검색 및 활용 프로세스 전반에 걸쳐 분해 후 재구성

     

    - CRAG는 Plug-and-Play 방식으로 기존 RAG에 연동 가능함

    - PopQA, Biography, Pub Health, Arc-Challenge의 4개 데이터 세트에 테스트 결과 표준 RAG와 최첨단 Self-RAG의 성능을 크게 향상시킴

     

    3. 제안

     

    3.1 Background - RAG Formulation

    - P (Y|X ) = P(D|X )P(Y, D|X )

    - 입력 X와 대량의 지식 문서 C = {d1, ..., dN }가 주어졌을때 출력 Y를 생성

    - 리트리버 R은 코퍼스 C에서 입력 X와 관련된 상위 K 문서 D = {dr1 , ..., drk }를 검색

    - 입력 X와 검색된 결과 D에 따라 생성기 G가 출력 Y를 생성

    - 검색된 결과가 출력 Y의 품질에 크게 영향

     

    3.2 CRAG(Corrective Retrieval Augmented Generation)

    3.2.1 Overview of Model Inference

    - Retrieval evaluator로 검색된 문서와 입력 쿼리의 관련성을 평가

    - 관련성은 세 단계로 평가(정답, 부정확, 모호)되며 평가 결과에 따라 각각 다른 Action을 실시

      ①Correct(정답) => 검색된 문서를 더 정확한 지식으로 정제(Knowledge Refinement)

      ②Incorrect(부정확) => 검색된 문서 제거 후 웹 검색을 통해 지식 증강(Web Search)

      ③Ambiguous(모호) => 검색 결과 정제 및 웹 검색 둘다 실행

     

    3.2.2  Retrieval Evaluator

    - PopQA 등의 데이터셋으로 T5-large를 Fine-tuning하여 Retrieval evaluator 모델 구성

    - Self-RAG의 평가모델(LLaMA-2, 7B) 대비 매우 가벼움(0.77B)

     

    3.2.3  Knowledge Refinement

    - 검색된 관련 문서가 주어지면, 몇 문장 수준의 작은 단위로 다시 나눔

    - 나눠진 단위(strip)은 Retrieval evaluator로 관련성을 평가하며, 관련성이 낮은 지식을 제거하여 더 정확한 지식으로 정제

     

    3.2.4  Web Search

    검색된 결과가 모두 관련성이 없는 경우 웹 검색 실행

    - 웹 검색은 Google Search API 사용하며, 위키피디아를 우선적으로 검색

    - GPT 3.5를 사용하여 입력 쿼리 내용을 웹검색을 위한 검색 쿼리(키워드)로 재작성 (Table 5 참고)

    - 키워드로 검색된 웹 페이지를 탐색하며 Knowledge Refinement 방법으로 관련된 웹 지식을 도출

     

    4. 결과

    - PopQA, Biography, PubHealth, Arc-Challenge 데이터셋으로 검증

    - RAG와 Self-RAG에 CRAG 적용전과 후를 비교하는 방식으로 테스트

    - CRAG 적용시 성능 크게 향상(Table 1)

    - Retrieval evaluator의 평가 결과별 Action의 효과에 대해 검증하기 위해 각 액션을 제거한 후 성능검증 결과 하나의 액션이라도 제거시 성능이 저하됨 => 모든 액션이 성능 개선에 기여함을 확인(Table 2)

    - Knowledge Refinement  , 검색 쿼리 재작성, 외부 지식 선택의 작업을 개별적으로 제거하여 성능 검증

    => 각 지식 활용 작업이 지식의 활용도를 높이는 데 기여했음을 확인(Table 3)

    - Retrieval evaluator의 품질에 따른 답변 성능 검증을 위해 본 논문에서 적용된 T5-based Model과 ChatGPT, ChatGPT-CoT 및 ChatGPT-fewshot을 비교함 => T5-based Retrieval evaluator의 성능이 가장 우수

     

     

    5. 한계점

    - 잘못된 지식을 정확하고 효과적으로 감지하고 수정하는 다양한 방법에 대해 추가 연구 필요

    - CRAG은 Retrieval evaluator를 반드시 Fine-tuning 해야하는 단점이 있음

    웹 검색 결과의 잠재적 편향으로 인해 출력에 노이즈가 발생하거나 잘못된 정보가 포함되는 위험 존재

     

     

    # 참고한 자료

    https://arxiv.org/abs/2401.15884

     

    Corrective Retrieval Augmented Generation

    Large language models (LLMs) inevitably exhibit hallucinations since the accuracy of generated texts cannot be secured solely by the parametric knowledge they encapsulate. Although retrieval-augmented generation (RAG) is a practicable complement to LLMs, i

    arxiv.org

     

Designed by Tistory.