Reranking
리랭킹
검색이 1차로 넉넉히 뽑아 온 후보 문서를, 질문과의 관련도를 더 정교하게 다시 계산해 순서를 매기는 2차 정렬 단계입니다. 보통 질문과 문서를 한 쌍으로 함께 읽는 교차 인코더(cross-encoder)를 써서, 빠르지만 거친 1차 검색의 순위를 바로잡습니다. 계산이 무거워 전체가 아니라 상위 후보 수십 개에만 적용합니다. RAG에서 상위 몇 개만 LLM에 넘길 때 정답 문서를 위로 끌어올리는 역할을 합니다.
쉽게 말하면?
리랭킹은 검색 결과를 '한 번 더 꼼꼼히 줄 세우는' 단계입니다. 1차 검색은 빠르게 후보 수십 개를 널널하게 가져오는데, 그중 진짜 관련 있는 문서가 아래쪽에 묻히기도 해요. 리랭커는 질문과 각 문서를 짝지어 다시 채점하고 순서를 바로잡습니다. 1차로 접수된 지원서를 실무자가 빠르게 추린 뒤, 팀장이 요건과 하나씩 대조해 최종 면접 순서를 다시 정하는 것과 비슷해요. RAG에서 상위 몇 건만 LLM에 넘길 때 정답을 위로 올려 주는 핵심 장치입니다.
한 줄로 비유하면?
1차로 추린 지원서를 팀장이 요건과 대조해 면접 순서를 다시 정합니다.
어디에 쓰이나?
케이스 1노게이라·조경현(2019) — BERT 리랭커로 검색 순위 재정렬
뉴욕대 연구진은 2019년 BERT로 질문-문단 쌍을 다시 채점하는 리랭킹 기법을 발표했습니다 [1]. 검색 벤치마크 MS MARCO 리더보드 1위에 올랐습니다 [1]. 교차 인코더 방식 신경망 리랭킹의 출발점으로 꼽힙니다 [1]. 이후 대부분의 RAG 파이프라인이 1차 검색으로 후보를 넓게 모은 뒤 교차 인코더로 정밀 재정렬하는 이 2단계 구조를 표준으로 따릅니다 [1].
도입효과: MS MARCO 문단 검색 MRR@10 기존 최고 대비 +27%(상대) 향상 [1]
케이스 2Elastic — 검색 엔진용 리랭커 모델 공개
Elastic은 2024년 검색 엔진에 바로 붙는 교차 인코더 리랭커 모델을 공개했습니다 [2]. 21개 이상의 데이터셋에서 성능을 측정했습니다 [2]. 훨씬 큰 리랭커보다 좋은 결과를 냈다고 밝혔습니다 [2]. 질의응답 과제에서 향상 폭이 가장 컸습니다 [2].
도입효과: 21개 이상 데이터셋 평균 nDCG@10 +13점 향상 (리랭킹 미적용 검색 대비) [2]
케이스 3Cohere — Rerank 3로 RAG 검색·비용 최적화
Cohere는 2024년 기업용 리랭킹 모델 Rerank 3를 공개했습니다 [3]. 4천 토큰 길이 문서와 100개 이상 언어를 지원합니다 [3]. 직전 버전 Rerank 2와 지연 시간을 비교했습니다 [3]. 리랭킹으로 상위 문서만 추려 LLM 호출 비용을 낮추는 구조를 제시했습니다 [3].
도입효과: 지연 시간 최대 2~3배 단축(Rerank 2 대비), Rerank+Command R+ 기반 RAG 비용 다른 생성 LLM 대비 80~93% 절감 [3]
케이스 4AWS 코리아·ko-reranker(한국) — 한국어 RAG 리랭커
AWS 코리아 한국어 기술 블로그는 한국어 특화 리랭커 ko-reranker를 RAG에 적용하는 방법을 공개했습니다 [4]. 이 모델은 BAAI의 bge-reranker-large를 한국어로 미세조정한 것입니다 [4]. 1차 검색 뒤 리랭킹을 얹는 2단계 구조를 설명했습니다 [4]. 리랭커를 쓰면 정답이 든 문서가 문맥 상위로 올라온다고 정리했습니다 [4].
도입효과: 리랭커 적용 시 한국어 RAG의 Retriever Hit Rate·MRR 상승 (정답 문서가 상위 랭크로 이동, 리랭커 미적용 대비 — 공식 블로그 기준) [4]
주의할 점은?
오늘 바로 해보기
01. Cohere Rerank 또는 오픈소스 bge-reranker를 붙여 같은 질문에 리랭킹 전/후 상위 5개 문서를 비교합니다.
02. 정답이 든 문서의 순위가 리랭킹 후 몇 위에서 몇 위로 올라오는지 기록합니다.
03. 1차 검색 후보 수(top-k)를 20→50→100으로 늘려 가며 리랭킹 품질 변화를 봅니다.
04. 리랭커 추가로 늘어나는 지연 시간(ms)을 측정해 정확도 이득과 저울질합니다.
05. 노게이라·조경현 논문 초록에서 'MRR@10 +27%'의 측정 맥락(MS MARCO)을 확인합니다 [1].
한계와 진화
리랭킹의 한계는 계산 비용과 지연입니다. 교차 인코더는 질문과 문서를 매번 함께 읽어 점수를 내므로 미리 계산해 둘 수 없고, 문서 하나하나가 느립니다 [1]. 그래서 전체가 아니라 1차 검색이 추린 상위 후보에만 적용하는 것이 원칙입니다 [6]. 1차 검색의 재현율이 낮아 애초에 정답이 후보에 없으면, 리랭커도 끌어올릴 대상이 없습니다 [6]. 후보를 몇 개까지 다시 볼지(top-k)를 늘리면 정확도는 오르지만 지연과 비용이 함께 늘어, 적정선을 찾아야 합니다 [6]. 교차 인코더는 문서를 미리 벡터로 저장해 둘 수 없어, 질의가 들어올 때마다 실시간으로 점수를 계산합니다 [1]. 그래서 대량 트래픽에서는 언제 리랭킹을 켜고 끌지까지 함께 관리해야 합니다 [6]. 즉 리랭킹은 1차 검색을 대체하는 게 아니라 그 위에 얹는 보정 단계입니다 [6].
진화 방향은 두 갈래입니다.
- 검색에 바로 붙이는 전용 리랭커 모델이 늘고 있습니다. Cohere Rerank 3, Elastic Rerank, BAAI의 bge-reranker처럼 API·오픈소스로 쉽게 얹을 수 있습니다 [2][3][5].
- 다국어·한국어 리랭커로 확산되는 흐름입니다. AWS 코리아가 소개한 ko-reranker는 다국어 리랭커를 한국어로 미세조정해 한국어 RAG의 검색 순위를 개선했습니다 [4]. RAG 정확도를 끌어올리는 표준 구성으로 자리 잡는 중입니다 [4]. Cohere는 리랭킹으로 상위 문서만 추려 LLM 호출 비용을 낮추는 구조를 제시했고, Elastic은 검색 엔진에 리랭커를 기본 탑재하는 방향으로 나아갔습니다 [2][3]. 다국어 리랭커가 늘면서, 1차 검색과 리랭킹을 짝지어 쓰는 2단계 구성이 RAG의 기본기로 굳어지는 흐름입니다 [4]. 검색 정확도가 곧 답변 품질로 이어지는 RAG에서 특히 효과가 큰 단계입니다 [4].
참고 자료
- Passage Re-ranking with BERT — arXiv 논문·Nogueira & Cho·2019 — https://arxiv.org/abs/1901.04085
- Introducing the Elastic Rerank model — 공식 기술블로그·Elastic(Elasticsearch Labs)·2024 — https://www.elastic.co/search-labs/blog/elastic-rerank-model-introduction
- Introducing Rerank 3 — 공식 제품블로그·Cohere·2024 — https://cohere.com/blog/rerank-3
- 한국어 Reranker를 활용한 검색 증강 생성(RAG) 성능 올리기 — 공식 기술블로그(한국어)·AWS·2024 — https://aws.amazon.com/ko/blogs/tech/korean-reranker-rag/
- BAAI/bge-reranker-v2-m3 (모델 카드) — 공식 모델 카드·BAAI·2024 — https://huggingface.co/BAAI/bge-reranker-v2-m3
- Retrieve & Re-Rank (교차 인코더 문서) — 공식 문서·sentence-transformers·2026 접속 — https://www.sbert.net/examples/applications/retrieve_rerank/README.html
대표 출처
arXiv 논문 (2019) · Nogueira & Cho, Passage Re-ranking with BERT이 페이지에 대한 의견을 남겨주세요
여러분의 의견은 다음 갱신에 반영됩니다.