전체 그래프
RAG

Hybrid Search

ai-mlragretrieval

상위: Advanced RAG Techniques

요약

단일 검색 방식의 한계를 극복하기 위해 키워드 검색(Sparse)과 의미 검색(Dense)을 결합하는 프로덕션 검색 전략. IBM 연구에 따르면 3-way 검색(BM25 + Dense + Sparse Learned)이 RAG에서 최적 조합이다 (Blended RAG, arXiv:2404.07220).

세 가지 검색 축

  • BM25 (Sparse Retrieval): TF-IDF 기반 고전 알고리즘. 고유명사·품번·에러코드 등 정확한 키워드 매칭에 탁월, 빠르고 해석 가능. 동의어/의미 유사성은 이해 못 함
  • Dense Vector Retrieval (의미 검색): 임베딩 코사인 유사도. 의미적 유사성·다국어 강점. 키워드 정확도↓, 임베딩 모델 의존
  • SPLADE (Sparse Learned): 학습된 희소 표현으로 term expansion 수행. 역색인 호환이라 프로덕션 배포에 유리

결합: Reciprocal Rank Fusion (RRF)

각 검색기의 순위 기반으로 점수를 통합하는 간단·효과적 방법. (점수 가중합 방식은 Fusion Retrieval 참고)

RRF_score(d) = Σ 1 / (k + rank_i(d))    # k는 보통 60

재순위화 모델 (2단계 검색)

검색 단계에서 상위 50100개를 뽑고(recall), 정밀 모델로 최종 510개 선별(precision). recall@50이 90% 이상이어야 재순위화 효과가 있다 — 나쁜 검색을 고치는 게 아니라 좋은 결과를 더 정확히 정렬하는 것. (기법 전반은 Reranking)

모델 유형인코딩 방식속도정확도용도
Bi-Encoder독립 인코딩매우 빠름보통1단계 검색 (recall)
ColBERT독립 인코딩 + Late Interaction빠름 (~60ms)높음재순위화 (speed+quality)
Cross-Encoder결합 인코딩 (all-to-all)느림 (10~50ms/doc)최고재순위화 (최고 정밀도)
  • 프로덕션 추천 파이프라인: SPLADE(recall) ColBERT(rerank) — 속도와 품질의 균형

관련 노트