Reranker는 검색된 후보 문서 중 정말 질문에 맞는 것을 더 위로 올리는 단계입니다.
retriever가 넓게 후보를 찾는 역할이라면, reranker는 후보를 더 꼼꼼히 읽고 순서를 다시 매기는 역할입니다.
- Rerank
- Reranker
- Bi-Encoder와 Cross-Encoder
- 검색 품질 개선 흐름
1. 한 줄로 정의하면
Reranker는 1차 검색으로 얻은 후보 문서들을 query와 함께 다시 평가해 더 적절한 순서로 정렬하는 모델 또는 단계입니다.
2. 왜 이 개념이 필요했나
embedding search는 빠르지만, query와 문서를 깊게 비교하지는 않습니다. 그래서 상위 결과에 얼핏 비슷하지만 실제로는 덜 맞는 문서가 들어올 수 있습니다.
Reranker는 1차 검색 결과 몇십 개만 대상으로 더 정밀한 판단을 합니다. 전체 문서를 다 읽는 것은 비싸지만, 후보만 다시 보는 것은 현실적입니다.
이 구조는 검색 시스템에서 흔합니다. 먼저 빠르게 후보를 넓게 가져오고, 그 다음 비싼 모델로 상위 후보를 다시 정렬합니다.
3. 동작 흐름
4. 구조를 그림처럼 보면
5. 서비스 예시로 이해하면
지식베이스형 서비스의 초기 버전에서는 cosine similarity로 top-k 콘텐츠를 찾는 수준입니다. 여기서 검색 결과가 애매하다면 다음 단계로 reranker를 붙일 수 있습니다.
예를 들어 query가 '임베딩 작업 실패 재시도'라면, 단순히 embedding이라는 단어가 많은 문서보다 FAILED 처리와 retry 정책을 실제로 설명하는 문서가 더 위에 와야 합니다.
query: "embedding job 실패 시 재시도"
1차 후보:
- 글 A: embedding 개념 설명
- 글 B: FAILED 상태와 attempt_count 설명
- 글 C: OpenAI API 연결 코드
reranker 이후:
1. 글 B
2. 글 C
3. 글 A
6. 헷갈리기 쉬운 비교
| Retriever | 빠름 | 후보를 넓게 찾지만 섬세한 판단은 약함 |
| Reranker | 상대적으로 느림 | 후보를 더 꼼꼼히 비교함 |
| LLM 생성 | 가장 비쌈 | 최종 답변을 생성함 |
7. 실무에서 조심할 점
- reranker는 검색 후보가 이미 망가진 상태에서는 큰 효과를 내기 어렵습니다.
- 후보 개수를 너무 많이 주면 비용과 지연 시간이 커집니다.
- reranker 점수가 높다고 반드시 생성 답변이 좋아지는 것은 아닙니다. 최종 프롬프트 구성도 중요합니다.
8. 구현할 때 먼저 볼 코드 책임
Reranker는 검색을 대신하는 모델이 아니라, 검색된 후보를 다시 정렬하는 두 번째 단계입니다.
비용이 크기 때문에 전체 콘텐츠가 아니라 top-k 후보에만 적용해야 합니다.
retrieved = hybridSearch(query, topK=50)
reranked = reranker.scorePairs(query, retrieved)
references = reranked.take(5)
주의
- topK가 너무 작으면 좋은 후보가 빠짐
- topK가 너무 크면 rerank 비용 증가
- 최종 references 수는 context window에 맞춰 제한
이번 글에서 기억할 것
- Reranker는 검색 결과를 다시 정렬하는 단계입니다.
- Retriever는 빠르게 찾고, reranker는 더 정밀하게 판단합니다.
- 검색 품질을 올리는 중간 단계로 유용합니다.
스스로 점검
- Retriever와 Reranker의 역할 차이를 말할 수 있는가?
- 왜 전체 문서가 아니라 후보만 rerank하는가?
- 지식베이스형 서비스에서 reranker가 필요한 상황을 하나 들 수 있는가?
'개발 > 용어 사전' 카테고리의 다른 글
| AI Agent란? LLM이 도구를 선택하고 실행하는 구조 (0) | 2026.06.12 |
|---|---|
| Job Queue란? 오래 걸리는 작업을 뒤로 미루는 구조 (0) | 2026.06.12 |
| Vector DB란? 벡터 검색을 위한 데이터베이스 (0) | 2026.06.11 |
| Embedding이란? 문장을 숫자 벡터로 바꾸는 이유 (0) | 2026.06.11 |
| BM25란? 검색 엔진에서 키워드 점수를 매기는 방식 (0) | 2026.06.11 |