요약
단일 검색 방식의 한계를 극복하기 위해 키워드 검색(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)— 속도와 품질의 균형
관련 노트
- Fusion Retrieval · Ensemble Retrieval — 결과 융합 관점
- Reranking — 재순위화 기법