2단계 검색
벡터 검색과 BM25는 쿼리와 각 문서를 따로 표현한 뒤 비교하는 bi-encoder 방식이야. 빠르지만 모델이 쿼리와 문서를 함께 읽지는 않아.
cross-encoder는 쿼리와 후보 문서를 한 쌍으로 transformer에 넣어 둘의 문맥을 함께 반영한 관련성 점수 하나를 만들어. 훨씬 정확하지만 미리 계산할 수 없어 훨씬 느리지. 그래서 표준 구조는 다음과 같아.
- 1단계 — 벡터 검색과 BM25 같은 빠른 검색기가 후보 50개를 반환해.
- 2단계 — cross-encoder가 그 50개의 순위를 다시 매겨 최종 상위 5개를 찾아.
알아둘 만한 오픈소스 cross-encoder
- BGE-reranker-v2-m3 — 다국어를 지원하며 2026년 초 오픈소스 가운데 성능이 뛰어나.
- cross-encoder/ms-marco-MiniLM-L-6-v2 — 영어용 소형 모델로 CPU에서도 작동해.
- jina-reranker-v2-base-multilingual — 빠르고 작으며 여러 언어를 지원해.