임베딩 검색은 많은 문서에서 후보를 빠르게 줄이고, Reranking은 그 후보를 질문과 함께 더 정밀하게 비교합니다.
대규모 문서 검색은 모든 질문과 모든 문서를 복잡한 모델로 비교하기 어렵습니다. 그래서 먼저 각 문서를 미리 벡터로 만들어 빠르게 후보를 찾고, 소수 후보만 더 비싼 비교 모델로 다시 평가하는 두 단계 구조가 흔합니다. 두 점수는 같은 의미가 아닙니다.
AI 핵심 지식 52편 중 28편입니다. 제품 화면이 바뀌어도 남는 원리와 판단 기준을 다룹니다.
회수와 재정렬의 역할
| 단계 | 계산 방식 | 최적화 질문 |
|---|---|---|
| 임베딩 회수 | 질의·문서를 따로 벡터화해 근접 검색 | 정답 후보를 놓치지 않는가 |
| Reranking | 질의와 후보를 함께 읽어 관련성 재평가 | 정답을 상위 문맥으로 올리는가 |
| 문맥 선택 | 중복·권한·길이를 반영해 최종 구성 | 생성기가 쓸 근거가 충분한가 |
두 단계 검색을 설계하는 순서
- 정답 문단이 포함된 질문 세트로 후보 회수율을 측정한다.
- 정답을 놓치지 않는 범위에서 후보 수를 정한다.
- Reranker의 상위 순위 개선과 지연·비용을 비교한다.
- 중복 제거·권한 필터 후 최종 문맥의 근거 충분성을 평가한다.
임베딩 검색은 넓은 문서군을 빠르게 줄인다
문장 임베딩 방식은 질문과 문서를 각각 고정 길이 벡터로 바꾸고 코사인 유사도나 내적 같은 거리 함수를 사용해 가까운 후보를 찾습니다. 문서 벡터를 미리 계산해 색인할 수 있어 질문이 들어올 때 대규모 문서군을 비교적 빠르게 탐색할 수 있습니다. 이 구조는 질문과 문서의 표현이 달라도 의미가 비슷하면 연결할 수 있다는 장점이 있습니다. 그러나 질문과 문서를 따로 인코딩하므로 두 텍스트 사이의 세밀한 단어 상호작용을 압축된 벡터 하나에 담아야 합니다. 숫자, 부정, 희귀 코드, 조건의 순서가 약하게 표현될 수 있고 비슷한 주제지만 답은 다른 문서가 가까이 올 수 있습니다. 따라서 임베딩 점수는 ‘정답 확률’이 아니라 사용한 표현 공간에서의 근접 신호입니다. 첫 단계의 목표는 완벽한 순위보다 정답 후보를 다음 단계에 남기는 것입니다. 후보 수가 너무 작으면 재정렬할 기회 자체가 사라지므로, 질문별 정답 문단이 후보 집합에 포함되는 회수율을 먼저 측정해야 합니다.
Reranker는 질문과 후보의 상호작용을 다시 읽는다
Reranking 단계는 첫 검색이 가져온 소수 문단을 질문과 함께 입력해 관련성을 다시 평가합니다. 교차 인코더 계열은 질문의 특정 단어와 문단의 조건을 한 문맥에서 비교할 수 있어 세밀한 순위 판단에 유리합니다. 대신 후보마다 모델 추론이 필요해 전체 문서를 직접 비교하기에는 비용과 지연이 큽니다. 그래서 회수 단계와 경쟁하는 기술이 아니라 역할을 나눈 후속 단계로 보는 편이 정확합니다. 재정렬 모델이 학습한 도메인과 실제 문서가 다르면 순위가 오히려 나빠질 수 있고, 긴 문단이 입력 한도를 넘으면 중요한 부분이 잘릴 수 있습니다. 첫 검색에서 정답이 누락된 경우 reranker는 존재하지 않는 후보를 복구할 수 없습니다. 평가할 때는 후보 집합이 동일한 상태에서 정답의 평균 순위와 상위 몇 개 포함률이 개선되는지 봅니다. 개선 폭뿐 아니라 질문당 지연, 처리량, 후보 수에 따른 비용을 함께 기록해야 운영 가능한 지점을 찾을 수 있습니다.
유사도와 재정렬 점수는 절대값이 아니다
벡터 유사도 0.8이나 reranker 점수 7 같은 값은 그 자체로 보편적인 관련성 확률이 아닙니다. 임베딩 모델, 거리 함수, 벡터 정규화, 색인 설정, 문서 도메인이 바뀌면 점수 분포도 바뀝니다. Reranker의 출력도 학습 목표와 구현에 따라 로짓, 정규화 점수, 순위 신호 등 의미가 다를 수 있습니다. 다른 단계의 점수를 단순 비교하거나 동일한 임계값으로 거절을 결정하면 오류가 생깁니다. 정답이 표시된 평가 세트에서 점수 분포와 실제 관련성의 관계를 보고 질문 유형별 임계값을 검토합니다. 결과 없음이 정상인 질문도 넣어 낮은 관련성 후보를 억지로 선택하지 않는지 확인합니다. 하이브리드 검색에서 키워드 점수와 벡터 점수를 결합할 때도 정규화 또는 순위 결합이 필요합니다. 점수는 후보 정렬을 위한 신호이며 최종 사실성과 권한을 보증하지 않습니다. 운영 화면에는 원점수만 보여 주기보다 어떤 단계에서 몇 위였고 어떤 필터를 통과했는지 추적 정보를 남기는 편이 진단에 도움이 됩니다.
최종 문맥 선택은 세 번째 판단이다
재정렬 상위 문단을 그대로 모두 생성기에 넣으면 중복과 권한, 문맥 길이 문제가 남습니다. 같은 문서의 인접 청크가 상위를 차지하면 근거 다양성이 줄고, 서로 다른 버전이 함께 있으면 충돌합니다. 사용자가 접근할 수 없는 문서는 검색 점수가 높아도 제외해야 합니다. 최종 선택 단계에서는 정답 충분성, 출처 다양성, 중복, 문서 버전, 문맥 예산을 함께 봅니다. 여러 문단을 결합해야 답할 수 있는 질문이라면 한 문단의 점수만 높은 것보다 필요한 하위 질문을 각각 덮는 후보 구성이 중요합니다. 반대로 단일 사실 질문에 많은 문서를 넣으면 잡음이 늘 수 있습니다. 문맥 선택 뒤에는 실제 정답 근거가 포함되었는지 확인하고, 생성 단계에서는 답이 그 근거를 사용했는지 별도로 평가합니다. 회수율, 재정렬 순위, 최종 문맥 충분성, 생성 충실성을 각각 기록하면 성능 변화의 원인을 찾을 수 있습니다. 두 단계 검색의 목적은 복잡성을 늘리는 것이 아니라 빠른 탐색과 정밀 판단의 역할을 분리해 통제 가능한 경로를 만드는 것입니다.
판단 체크리스트
- 재정렬 전에 질문별 정답 후보 회수율을 측정했는가
- 후보 수에 따른 순위 개선·지연·비용을 함께 보는가
- 모델과 도메인별 점수 분포를 정답 세트로 확인했는가
- 최종 문맥의 중복·권한·버전·근거 충분성을 검사하는가
자주 생기는 오해
- 유사도 점수가 높으면 사실일 확률도 높다 — 유사도는 표현 공간의 근접 신호이며 사실성이나 권한을 측정하지 않습니다.
- Reranker가 첫 검색의 모든 누락을 고친다 — 첫 후보 집합에 없는 문서는 재정렬 단계가 평가할 수 없습니다.
두 단계 검색의 실패 진단
| 상황 | 해석 | 다음 행동 |
|---|---|---|
| 정답이 후보 집합에 없다 | 임베딩 회수 실패 | 질의·청킹·후보 수·검색 방식을 점검한다 |
| 후보에는 있으나 순위가 낮다 | 재정렬 판단 실패 | 도메인·입력 길이·학습 기준을 평가한다 |
| 상위 문단은 맞지만 답이 불충분하다 | 최종 문맥 구성 실패 | 중복·다중 근거·권한과 길이를 조정한다 |
자주 묻는 질문
Reranking 후보는 많을수록 좋은가요?
정답 회수 기회는 늘지만 지연과 비용, 잡음도 늘어 실제 질문 세트로 균형을 찾아야 합니다.
임베딩과 reranker는 같은 모델이어야 하나요?
그럴 필요는 없습니다. 각 단계의 역할과 도메인 적합성을 독립적으로 평가하면 됩니다.
유사도 임계값 아래면 답을 거절해도 되나요?
정답 세트에서 보정하지 않은 절대 임계값은 위험합니다. 검색 없음과 생성 거절 기준을 분리합니다.
최종 상위 문서 한 개만 쓰면 더 정확한가요?
단일 사실에는 유리할 수 있지만 여러 근거를 결합해야 하는 질문은 충분성을 잃을 수 있습니다.
관련 좌표
작성·검증 정보
- 작성·검토: AI좌표 편집부
- 원문 확인일: 2026-07-27
- 다음 재검토일: 2027-07-27
- 재검토 조건: 원 논문의 정정·철회, 표준 정의 변경, 장기 평가에서 핵심 반례가 확인될 때