두 번째 모델은 각 쿼리와 후보를 함께 읽고, 첫 단계의 벡터 비교로는 표현하기 어려운 더 세밀한 관련성 신호를 적용하여 증거의 순서를 바꿉니다.
비공개 아카이브는 수십 개의 그럴듯한 청크를 몇 밀리초 만에 검색할 수 있지만, 가장 유용한 구절이 쿼리와 어휘를 공유하는 일반적인 자료 아래에 놓일 수 있습니다. 리랭커는 이 작은 후보 집합에 더 많은 연산을 사용하고 각 쌍에 대해 새로운 점수를 산출합니다. 문서, 임베딩, 사용자 질문이 전혀 바뀌지 않아도 최종 컨텍스트는 개선될 수 있습니다.
첫 단계 검색은 속도 예산 안에서 포괄 범위를 최적화합니다
밀집 검색 또는 하이브리드 검색은 전체 코퍼스에서 압축된 표현을 비교합니다. 많은 후보를 스캔하거나 탐색할 수 있을 만큼 빨라야 하므로 현재 쿼리와 독립적으로 각 문서를 인코딩합니다. 이 방식은 폭넓은 재현율을 높이는 대신 부정, 역할, 시간 순서, 정확한 제약 조건 같은 세밀한 관계를 놓칠 수 있습니다.
쿼리-문서 쌍에 대한 개요에서는 리랭커를 쿼리와 문서를 함께 평가하는 크로스 인코더로 설명합니다. 이러한 공동 어텐션은 별도로 생성된 벡터를 비교하는 것보다 표현력이 뛰어나지만, 대규모 라이브러리의 모든 문서에 적용하기에는 비용이 너무 큽니다.
2단계 검색은 작업을 나눕니다. 첫 번째 모델이 후보 풀을 만들고, 두 번째 모델이 그 풀에 정밀도를 집중합니다. 올바른 증거가 후보 풀에 처음부터 들어오지 않으면 리랭킹으로 복구할 수 없으므로 후보 재현율은 필수적인 의존 조건입니다.
공동 점수 산정은 생성기에 전달되는 증거를 바꿉니다
리랭커는 각 후보 옆에 전체 쿼리를 놓고 확인하며, 정확한 함의, 일치하는 엔터티, 필수 조건을 높게 평가할 수 있습니다. 질문에 직접 답하는 좁은 범위의 문단보다 폭넓게 유사한 개요의 순위를 낮출 수도 있습니다. 따라서 LLM에 전달되는 top-k에는 서로 다른 증거가 포함됩니다.
크로스 인코더 상호작용에 대한 자세한 설명에서는 크로스 인코더가 공동 처리를 통해 바이 인코더 유사도의 한계를 해결하는 방식을 다룹니다. 이 추가 상호작용이 더 나은 순서를 만드는 메커니즘이며, 두 번째 벡터 조회가 아닙니다. 이러한 차이는 최종 가정 내 의사결정의 결과를 바꿉니다.
컨텍스트 창과 어텐션은 한정되어 있으므로 순서가 중요합니다. 더 나은 첫 번째 구절은 초기에 답변의 근거를 잡아줄 수 있지만, 순위가 낮은 중복 내용이 상호 보완적인 증거를 밀어낼 수 있습니다. 따라서 리랭킹은 단순히 한 가지 사실을 열 가지 버전으로 제시하는 것이 아니라 관련성과 범위 모두를 고려해야 합니다.
리랭킹이 비공개 검색을 악화시키는 경우
리랭커는 학습 과정에서 형성된 선호를 그대로 물려받습니다. 표보다 다듬어진 산문을, 가정에서 사용하는 방언보다 우세한 언어를, 암묵적인 증거보다 명시적인 키워드 일치를 선호할 수 있습니다. 작은 후보 풀은 첫 단계의 누락을 증폭시키고, 큰 후보 풀은 지연 시간을 늘려 대화형 검색의 반응을 고르지 않게 만들 수 있습니다.
증거 다양성에 대한 최근 논의에서는 관련성만을 기준으로 한 리랭킹이 증거의 다양성을 낮출 수 있다고 지적하며, 이후에 다양성 단계를 추가할 필요성을 제시합니다. 이는 더 높은 관련성 점수가 자동으로 더 완전한 증거 집합을 의미하지 않음을 보여줍니다. 이후의 증거 검토에서도 이러한 한계는 분명하게 드러납니다.
리랭커가 해당 도메인과 맞지 않거나 지연 시간이 상호작용 예산을 초과하면 이 주장은 성립하지 않습니다. 검증된 답변의 순위를 지속적으로 낮추거나, 출처의 다양성을 축소하거나, 근거가 있는 응답의 개선 없이 순서만 바꾼다면 리랭커를 우회하거나 교체해야 합니다.
쌍으로 실행한 검색을 통해 순서를 평가합니다
쿼리, 허용 가능한 증거 구절, 중요한 출처 범주를 포함하는 테스트 세트를 구축합니다. 각 쿼리에 대해 첫 단계 순위와 리랭킹된 순서를 저장한 다음, 후보 풀의 재현율, 최종 컷오프에서의 정밀도, 역순위, 인용 근거, 지연 시간을 측정합니다.
첫 단계 리랭킹에서 제시한 접근 방식에 따라 기억에 남는 데모 질문이 아니라 반복 가능한 평가를 사용합니다. 특히 스프레드시트, 다국어 텍스트, 부정 표현, 날짜, 거의 중복되는 청크에서 순위 역전을 수동으로 점검합니다. 따라서 실제 환경에서는 이 의존성을 별도로 측정해야 합니다.
테스트 세트 전반에서 허용할 수 없는 지연 시간이나 다양성 손실 없이 근거가 있는 증거의 순위를 높일 때만 리랭커를 유지합니다. 최종 답변 점수가 낮아지면 후보 재현율과 리랭커 품질을 별도로 조사해야 합니다. 두 단계는 서로 다른 방식으로 실패하기 때문입니다.
기술 및 AI 허브
더 읽어보기

다국어 임베딩: 하나의 벡터 공간이 여러 언어의 가정용 문서를 연결하는 방법
정렬된 임베딩이 언어 간 문서를 어떻게 연결하는지, 검색 품질이 달라지는 이유와 언어 간 근거 커버리지를 로컬에서 테스트하는 방법을 알아보세요.

에이전트 메모리 충돌: 최근 수정 사항이 반복되는 오래된 사실에 밀릴 수 있는 이유
중복된 오래된 메모리가 어떻게 정정을 압도하는지, 최신성 규칙이 실패하는 경우와 개인 에이전트 메모리 저장소에서 대체 여부를 테스트하는 방법을 알아보세요.

로컬 LLM 샘플링: 디코딩 설정이 반복과 안정성을 바꾸는 이유
temperature, top-p, min-p, 시드, 페널티가 어떻게 상호작용하는지, 그리고 무작위성과 품질을 혼동하지 않고 디코딩 설정을 테스트하는 방법을 알아보세요.

