DeepLearing/NLP(LLM)

[논문리뷰] RAG-FUSION: A NEW TAKE ON RETRIEVAL-AUGMENTEDGENERATION

notdecidedyet 2024. 9. 27. 21:52

 

Abstract

  • RAG와 RRF(Reciprocal Rank Fusion)를 결합한 방식
  • 여러 개의 질문을 만들고, 이 질문들에 대한 답변을 순위 매기고 합치는 방식으로 작동

MemoRAG에서 이와 비슷한 논의를 한적이 있음.
- 사용자 쿼리는 의미가 애매모호할 수 있음.
- 사용자 쿼리와, DB와의 간극이 있음.
- MemoRAG를 통해 극복

허나 이 논문에서는 이 간극을, 다양한 사용자 쿼리를 만들고 답변을 만들며
RANKING하는 방법으로 풀어나간 것으로 보임.

 

Introduction

RRF(Reciprocal rank fusion):

  • RRF는 여러 소스에서 문서의 순위를 매기고 이를 결합하는 재순위화 알고리즘
  • 다른 문서 재순위화 방법보다 성능이 우수한 것으로 나타남

연구의 목적:

  • 기존의 RAG 챗봇을 RAG-Fusion으로 변경하여 성능을 평가했습니다.

 

RAG vs RAG-Fusion

 

 

  • RAG-Fusion
    • 원래 쿼리를 LLM에 전송하여 여러 개의 새로운 검색 쿼리를 생성
    • 각 생성된 쿼리에 대해 벡터 검색을 수행하여 관련 문서를 찾음
    • 검색된 문서들에 대해 Reciprocal Rank Fusion (RRF) 알고리즘을 적용하여 재순위화
    • 재순위화된 문서들, 생성된 쿼리들, 그리고 원래 쿼리를 함께 LLM에 전송하여 최종 응답을 생성
  • RRF (Reciprocal Rank Fusion) 알고리즘:
    • 각 문서에 점수를 할당. 점수 계산식: 1 / (rank + k)
    • rank: 벡터 거리로 정렬된 문서의 현재 순위
    • k: 상수 (기존 순위에 부여할 가중치를 결정)
    • 각 문서의 점수를 누적하고, 최종 점수에 따라 문서를 재정렬