Reranking은 검색 결과를 한 번 더 정렬해서 상위 결과의 정확도를 끌어올리는 단계다. 벡터 검색이나 하이브리드 검색만으로는 상위 5개가 충분히 안정적이지 않은 경우가 많고, 그때 reranking이 품질 차이를 만든다.
개요 #
Reranking은 후보 문서를 다시 점수화해서 순서를 바꾸는 과정이다. 보통은 검색 단계에서 넓게 찾고, reranking 단계에서 좁게 정제한다.
- 검색은 recall을 담당하고 reranking은 precision을 담당한다.
- Hybrid Search 뒤에 두면 키워드와 의미 검색의 장점을 같이 살릴 수 있다.
- RAG 시스템에서는 답변 품질의 체감 차이를 가장 빠르게 만드는 지점 중 하나다.
왜 중요한가 #
RAG 품질 문제는 종종 검색 자체의 실패가 아니라 상위 문서 순서의 실패에서 시작된다. 좋은 문서가 검색되더라도 순위가 낮으면 LLM은 그 문서를 보지 못한다.
- 첫 번째 후보군이 넓을수록 reranking의 효과가 커진다.
- 도메인 용어가 많거나 문서가 길수록 reranking이 더 유리하다.
- 사용자 질문이 짧고 모호할수록 reranking이 상위 정답을 잡아줄 가능성이 높다.
운영/튜닝 포인트 #
기본 구조는 candidate retrieval -> rerank -> top-k context -> LLM이다.
top-k를 너무 작게 잡으면 reranking의 장점이 줄어든다.top-k를 너무 크게 잡으면 지연시간과 비용이 급격히 늘어난다.nprobe,efSearch,score threshold같은 retrieval 파라미터와 reranking을 함께 조정해야 한다.
실무에서는 아래 순서로 튜닝하는 편이 낫다.
- 검색 후보군의 recall을 먼저 확보한다.
- reranker가 실제로 상위 정답을 끌어올리는지 본다.
- 최종
k를 줄여 비용과 지연시간을 맞춘다. - 질문 유형별로 reranking 적용 여부를 다르게 둔다.
아키텍처 도식 #
운영 관점에서 보면 reranking은 검색 엔진과 LLM 사이에 있는 품질 게이트다. 이 게이트가 있어야 검색이 조금 흔들려도 답변 품질이 크게 무너지지 않는다.
체크리스트 #
- 검색 단계와 reranking 단계를 분리해서 로깅하고 있는가.
- reranker가 적용된 뒤의
MRR,nDCG,answer hit rate를 보고 있는가. - 지연시간이 증가한 만큼 품질이 실제로 개선되는가.
- 질문 유형별로 reranking을 끄거나 켤 수 있는가.
결론 #
Reranking은 검색 품질을 보정하는 마지막 실무 장치다. 검색이 넓고 거칠수록 reranking의 가치는 커지고, 운영 지표가 갖춰질수록 비용 대비 효과도 명확해진다.