RAG 검색 정확도를 높이는 하이브리드 검색과 리랭킹 기초
벡터 검색만으로 부족한 지점을 키워드 검색과 리랭킹 단계로 보완하는 방법
LLM을 활용한 RAG 시스템을 구축할 때, 의미 기반의 벡터 검색만으로 충분하다고 생각하기 쉽다. 벡터 검색은 분명 강력하지만 사용자 질문의 의도를 완벽히 파악하지 못하거나 검색 정확도에 한계를 보이는 경우가 종종 있다. 예를 들어 특정 전문 용어나 고유 명사가 포함된 질문에 대해 의미적으로는 비슷하지만 해당 키워드가 없는 문서를 찾아오거나, 반대로 키워드는 일치해도 전체 맥락이 다른 문서를 상위에 올리는 문제가 생길 수 있다. 이는 결국 LLM이 부정확한 정보를 근거로 답변을 만들어내는 환각으로 이어져 RAG 시스템의 신뢰도를 떨어뜨린다.
하이브리드 검색과 리랭킹이 필요한 이유
하이브리드 검색이란
하이브리드 검색은 전통적인 키워드 기반 검색과 의미 기반 벡터 검색의 장점을 결합한 방식이다. 키워드 기반 검색은 문서에 특정 단어가 얼마나 자주 등장하는지를 통계적으로 계산해 관련성을 평가하므로 전문 용어나 고유 명사처럼 단어 자체가 중요한 경우에 효과적이다. 의미 기반 벡터 검색은 문장이나 문서 전체의 의미를 벡터로 변환해 질문과 의미적으로 가까운 문서를 찾아내므로 문맥적 유사성을 파악하는 데 강점이 있다. 두 방식의 검색 결과를 결합하면 키워드의 정확성과 의미의 유사성을 함께 고려한, 어느 한쪽에 치우치지 않는 검색 결과를 얻을 수 있다.
리랭킹이란
리랭킹은 검색의 두 번째 단계에서 품질을 높이는 과정이다. 1차 검색에서 비교적 넓은 기준으로 상위 후보 문서를 가져온 뒤, 이 후보군을 대상으로 더 정교하고 연산 비용이 높은 모델로 다시 순위를 매긴다. 1차 검색이 속도를 중시하며 관련 있을 법한 문서를 넓게 가져오는 역할을 한다면, 리랭킹은 정확도를 중시하며 그중 실제로 가장 관련 있는 문서를 골라내는 역할을 한다. 질문과 후보 문서를 함께 입력받아 관련성 점수를 계산하는 모델을 주로 사용하며, 이는 1차 검색 모델보다 훨씬 세밀한 판단을 할 수 있다.
실제 팁: RAG 파이프라인에 적용하는 방법
하이브리드 검색 점수 결합하기
가장 일반적인 방법은 키워드 검색 점수와 벡터 검색 점수에 각각 가중치를 부여해 최종 점수를 계산하는 것이다. 이 가중치는 0과 1 사이의 값으로, 데이터셋과 사용 사례에 따라 최적값을 찾아야 한다. 보통 절반 정도의 비중에서 시작해 성능을 평가하며 조정한다. 두 점수를 결합하기 전에는 점수의 범위가 서로 다르므로 정규화 과정을 거치는 것이 중요하며, 최소-최대 스케일링이 자주 쓰인다.
효과적인 리랭커 모델 선택하기
리랭킹에는 관련성 판단에 특화된 모델이 필요하다. API 형태로 제공되는 상용 리랭킹 서비스는 다국어를 지원하고 성능도 안정적이어서 도입 부담이 적다. 오픈소스 진영에서는 특정 데이터셋으로 사전 훈련된 교차 인코더 모델을 활용할 수 있는데, 이런 모델은 질문과 후보 문서를 함께 입력받아 하나의 점수를 출력하므로 독립적으로 벡터를 계산하는 일반적인 검색 모델보다 세밀한 문맥적 관련성을 평가할 수 있다.
전체 파이프라인 구성하기
- 사용자의 질문이 들어오면 하이브리드 검색으로 상위 후보 문서를 넓게 검색한다.
- 검색된 후보 문서를 리랭커 모델에 질문과 함께 전달해 관련성 점수를 다시 계산하고 정렬한다.
- 리랭킹된 결과에서 최종적으로 사용할 상위 문서 몇 건만 선택해 질문과 함께 LLM에 전달한다.
주의사항
복잡성과 지연 시간 증가
RAG 파이프라인에 키워드 검색 엔진, 벡터 데이터베이스, 리랭커 모델 등 관리해야 할 구성 요소가 늘어나므로 각 컴포넌트의 성능과 상호작용을 함께 고려해야 한다. 특히 리랭킹 과정은 상당한 연산량을 요구해 전체 응답 시간을 늘릴 수 있으므로, 실시간 서비스에서는 정확도와 속도 사이의 균형점을 찾고 필요하면 더 가벼운 리랭커 모델을 고려해야 한다.
지속적인 튜닝이 필요하다
하이브리드 검색의 가중치, 1차 검색에서 가져올 문서 수, 리랭킹 후 최종 선택할 문서 수, 사용할 리랭커 모델은 모두 조정 가능한 값이다. 데이터 특성과 사용자 요구가 바뀌면 최적의 조합도 함께 바뀌므로, 한 번 설정하고 끝내기보다 주기적으로 실험하고 값을 다시 확인하는 과정이 필요하다.
정리
단순한 벡터 검색만으로는 RAG 시스템의 검색 정확도에 한계가 있다. 하이브리드 검색은 키워드 기반 검색과 의미 기반 검색을 결합해 서로의 단점을 보완하고, 리랭킹은 더 정교한 모델로 검색 결과의 최종 순위를 다듬어 가장 관련성 높은 정보를 선별한다. 두 기법을 함께 도입하면 파이프라인의 복잡성과 지연 시간은 다소 늘어나지만, LLM이 더 정확한 근거를 바탕으로 답변을 생성하도록 도와 서비스 전체의 품질을 끌어올릴 수 있다.
핵심 요약
- 벡터 검색만으로는 전문 용어나 고유 명사가 포함된 질문에서 정확도가 떨어질 수 있다.
- 하이브리드 검색은 키워드 검색과 벡터 검색의 점수를 결합해 균형 잡힌 결과를 만든다.
- 리랭킹은 1차 검색 결과를 더 정교한 모델로 재정렬해 정확도를 높이는 단계다.
- 가중치, 후보 문서 수, 최종 선택 문서 수는 지속적으로 튜닝해야 하는 값이다.
초보자가 자주 실수하는 포인트
- 벡터 검색 점수와 키워드 검색 점수를 정규화 없이 그대로 합산하는 경우
- 모든 서비스에 동일한 가중치와 후보 문서 수를 그대로 적용하는 경우
- 리랭킹 도입 시 지연 시간 증가를 고려하지 않고 실시간 서비스에 그대로 적용하는 경우
체크리스트
- 하이브리드 검색의 키워드 점수와 벡터 점수를 정규화했는가
- 가중치 값을 데이터셋에 맞게 조정해보았는가
- 리랭커 모델 도입에 따른 지연 시간을 측정했는가
- 1차 검색 후보 수와 최종 선택 문서 수를 서비스 요구사항에 맞게 정했는가
이 글은 초보자 기준으로 이해하기 쉽게 정리되었으며, 내용은 운영 과정에서 순차적으로 보완될 수 있습니다.