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: 상수 (기존 순위에 부여할 가중치를 결정)
- 각 문서의 점수를 누적하고, 최종 점수에 따라 문서를 재정렬