전체 그래프
RAG

Reranking

ai-mlrag

상위: Advanced RAG Techniques

1단계의 빠른 검색(retrieval) 결과에 만족하지 않고, 검색된 상위 후보군을 대상으로 더 정교하고 강력한 2단계 모델을 이용해 순위를 다시 매기는(re-rank) 후처리 기법

Reranking

  • 작동방식
    1. 후보군 확보 (Initial Retrieval): Vector Search처럼 빠른 검색기로 질문과 관련된 문서 후보군을 넉넉하게(예: 상위 20개) 확보
    2. 리랭커 모델 투입 (Reranking): 확보된 후보 문서들을 하나씩 원본 질문과 짝지어, LLM이나 크로스-인코더 같은 고성능 '리랭커' 모델에 전달하여 깊이 있는 관련성 평가를 수행
    3. 정확한 순위 부여 (Re-ordering): 리랭커 모델이 매긴 새로운 관련성 점수를 기준으로 후보 문서들의 순위를 다시 매김
    4. 최종 컨텍스트 구성 (Final Selection): 새롭게 정렬된 순위에서 최상위 문서(예: 상위 3~5개)만을 선택하여 LLM에게 전달할 최종 컨텍스트로 구성
  • 장점
    • 정확도 향상: 1단계 검색기가 놓칠 수 있는 미묘한 문맥적 관련성을 포착하여, 최종적으로 LLM에게 전달되는 컨텍스트의 질을 크게 높임
    • 효율적인 균형: 빠른 1단계 검색과 정확하지만 느린 2단계 리랭킹을 결합하여, 전체 시스템의 속도 저하를 최소화하면서도 높은 정확도를 달성
    • 노이즈 감소: 키워드는 일치하지만 실제로는 관련 없는 '가짜' 관련 문서를 효과적으로 필터링
  • 구현
    1. LLM 기반: LLM에게 직접 프롬프트를 보내 문서와 질문의 관련성을 점수로 평가하도록 요청. 구현은 쉽지만 비용과 시간이 더 많이 소요될 수 있음.
    2. 크로스-인코더 기반: sentence-transformers 라이브러리의 CrossEncoder 모델처럼, 리랭킹에 특화된 모델을 사용. LLM보다 빠르고 비용 효율적이며, 우수한 성능.
    • 두 방식 모두 사용자 정의 Retriever 클래스로 구현하여 LangChain의 QA 파이프라인에 쉽게 통합 가능