본문 바로가기
성공지식백과 로고성공지식백과
GLOSSARY

역순위 융합 (Reciprocal Rank Fusion, RRF)

중급AI 에이전트

이 페이지는 AI 에이전트 문맥에서 자주 쓰이는 역순위 융합 (Reciprocal Rank Fusion, RRF)의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 5개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.

역순위 융합(Reciprocal Rank Fusion, RRF)은 여러 검색 결과 목록에서 문서가 차지한 순위를 이용해 하나의 순위로 합치는 방법입니다. 원래 검색 점수의 크기를 직접 비교하지 않고, 여러 목록에서 상위에 나온 문서가 더 높은 점수를 받도록 계산합니다.

검색 점수의 크기를 바로 비교할 수 없는 이유

키워드 검색과 벡터 검색은 관련성을 평가하는 방식과 점수 범위가 다를 수 있습니다. 한쪽에서 12점을 받은 문서가 다른 쪽의 0.8점 문서보다 더 관련 있다고 바로 판단할 수는 없습니다. 점수가 다른 단위를 쓴다면 단순 합산에서 수치가 큰 검색 방식이 결과를 지배할 수 있습니다. 하이브리드 검색은 두 방식의 후보를 함께 쓰므로, 이런 점수 차이를 다룰 방법이 필요합니다.

RRF는 각 검색기가 정한 순서를 입력으로 사용합니다. Cormack 등의 원 논문은 별도의 학습 예시 없이 여러 검색 순위를 합치는 간단한 점수식을 제시했습니다. 어떤 문서가 키워드 검색에서도 높고 벡터 검색에서도 높다면 여러 목록에서 점수를 받습니다. 한쪽에서만 나온 문서도 해당 목록의 순위에 따른 점수를 얻습니다. 모든 검색기에 공통으로 등장한 문서만 남기는 교집합 방식과는 다릅니다.

합칠 대상은 반드시 키워드 검색 하나와 벡터 검색 하나일 필요는 없습니다. 서로 다른 임베딩으로 검색한 목록이나, 재작성한 여러 질의의 결과를 합치는 데도 사용할 수 있습니다. Azure AI Search의 RRF 안내 역시 여러 질의에서 얻은 순위 목록을 통합하는 구조를 설명합니다. 무엇을 몇 개 합쳤는지가 최종 점수에 영향을 주므로, 검색 구조가 바뀌었는데 이전 점수 기준을 그대로 쓰지 않도록 주의해야 합니다.

순위를 점수로 바꾸는 방법

문서의 순위를 1부터 센다고 할 때, 기본 계산은 각 목록에서 1 / (k + 순위)를 구해 더하는 것입니다. 여기서 k는 상위 순위에 쏠리는 영향을 조절하는 상수입니다. 해당 목록에 문서가 없으면 그 목록에서는 점수를 더하지 않습니다. 합산 점수가 큰 순서대로 문서를 정렬하면 최종 목록이 됩니다. 원 논문은 실험에서 k = 60을 사용했지만, 이 숫자가 모든 구현과 검색 환경의 필수값은 아닙니다.

예를 들어 A 문서가 두 목록에서 각각 1위와 10위, B 문서가 두 목록 모두 2위라고 가정해 보겠습니다. k = 60이면 A의 점수는 1/61 + 1/70 ≈ 0.03068, B는 1/62 + 1/62 ≈ 0.03226입니다. 이 예에서는 한 목록의 1위인 A보다 두 목록에서 꾸준히 상위에 있는 B가 앞섭니다. 계산을 설명하기 위한 가상 순위이며, 특정 검색 서비스의 품질 측정 결과는 아닙니다.

k가 커지면 같은 목록 안에서 높은 순위와 낮은 순위의 상대적인 점수 차이가 완만해집니다. 후보를 몇 개 가져올지 정하는 수와는 역할이 다릅니다. Elasticsearch의 RRF 문서는 순위 상수와 검색별 후보 범위를 별도 설정으로 설명합니다. 벡터 검색에서 가까운 결과를 몇 개 찾는지 뜻하는 k와 RRF의 상수를 혼동하면, 바꾼 설정이 예상과 다른 부분에 영향을 줄 수 있습니다.

구현을 비교할 때는 순위를 0부터 세는지 1부터 세는지도 확인해야 합니다. Qdrant의 결과 융합 안내는 0부터 시작하는 순위와 자체 기본 상수, 가중치 옵션을 설명합니다. 같은 RRF라는 이름을 쓰더라도 상수와 순위 시작점이 다르면 숫자가 달라질 수 있습니다. 문서에 적힌 공식을 그 구현의 순위 정의와 함께 읽어야 하며, 한 제품의 예제 점수를 다른 제품의 정답으로 삼아서는 안 됩니다.

후보 품질과 리랭킹의 역할을 구분한다

RRF 점수는 문서 내용이 사실일 확률이나 사용자가 만족할 확률이 아닙니다. 순위와 참여한 목록 수로 계산한 정렬용 값입니다. 여러 목록이 비슷한 잘못된 문서를 상위에 두면 그 문서가 높은 점수를 받을 수 있습니다. 순위 융합이 검색기의 오류를 자동으로 없애는 것은 아닙니다. 문서의 최신성, 접근 권한, 질문에 필요한 근거 여부는 검색과 답변 단계에서 따로 다뤄야 합니다.

후보 목록에 들어오지 않은 문서는 RRF가 살려낼 수 없습니다. 검색별 상위 결과를 너무 적게 가져오면 좋은 문서가 융합 전에 빠질 수 있고, 너무 많이 가져오면 검색과 후처리 비용이 늘 수 있습니다. 여러 목록의 같은 문서를 하나로 합칠 수 있도록 식별 기준도 필요합니다. 문서 전체와 문서 조각을 섞는다면 어느 단위의 순위를 합치는지 먼저 정해야 합니다. 서로 다른 조각을 내용이 비슷하다는 이유만으로 같은 항목으로 취급하면 결과를 잘못 합칠 수 있습니다.

리랭킹은 질문과 후보의 내용을 다시 평가해 순서를 조정하는 단계로 쓰입니다. RRF가 여러 목록의 순위를 합친 뒤 리랭커가 상위 후보를 자세히 평가하는 구성이 가능합니다. Azure 문서도 의미 기반 순위 조정이 RRF 뒤에 수행되며 별도의 점수를 반환한다고 설명합니다. 이 두 점수는 서로 다른 단계의 결과이므로, 숫자 크기만 비교해 어느 쪽이 더 정확하다고 말할 수 없습니다.

RRF는 원래 점수의 크기 차이를 직접 보존하지 않는다는 한계도 있습니다. 1위와 2위의 원래 점수 차이가 아주 크든 작든 기본 RRF는 순위만 봅니다. 점수를 적절히 정규화해 합치는 방법이 더 나은 데이터도 있을 수 있습니다. Qdrant는 순위 기반 RRF와 점수 분포를 정규화하는 융합 방식을 구분하고, 실제 평가 자료로 선택하도록 안내합니다. 각 검색 방식이 찾은 후보와 융합 뒤의 순위, 지연을 함께 비교하면 알맞은 방법을 고를 수 있습니다.

RELATED TERMS

관련 용어

역순위 융합 (Reciprocal Rank Fusion, RRF)와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.