🍚 깃밥 PRO가 열렸어요 — 월 3,900원 · 알아보기 →
테크 반찬2026년 10월 5일· Tide 제공· 조회 2

로컬 RAG 113문항 평가: 하이브리드 검색이 정확도를 높였을까?

  • 113문항 평가에서 dense·하이브리드 모두 105개 정답
  • 핸드북 자료는 dense 56/58, 하이브리드 54/58
  • 최종 답변 정답률 61/62, 답변 중앙값 48초

문서를 질문하는 로컬 채팅 앱 LocalCortex를 만든 개발자가 113개 평가 질문으로 검색 방식을 비교한 기록이 이번 글의 자료입니다. 결론부터 말하면, 이 문서 세트에서 벡터 검색(dense)에 BM25 키워드 검색을 더한 하이브리드 검색은 rank-1 정확도를 끌어올리지 못했습니다. 이 글은 원문에 나온 수치와 원인 분석만 정리합니다.

배경: 로컬 RAG와 하이브리드 검색

What 113 eval questions taught me building a fully local RAG
dev.to

핵심: 이 실험에서 하이브리드 검색은 dense 검색보다 나은 결과를 내지 못했습니다.

RAG(검색 증강 생성)는 문서에서 관련 부분을 먼저 찾은 뒤, 그 내용을 근거로 모델이 답하게 하는 방식입니다. 원문에 따르면 LocalCortex는 PDF, Word, Markdown 문서를 올리면 출처와 함께 답하고, 문서에 답이 없으면 지어내지 않고 거절하도록 만들어졌습니다. 구성 요소는 Ollama(로컬에서 모델을 실행하는 도구)로 모델을, Qdrant(벡터 데이터베이스)로 검색을, Postgres로 대화 기록을 처리하며, 클라우드 API는 쓰지 않습니다.

임베딩 모델은 nomic-embed-text, 답변 생성 모델은 Llama 3 8B이며 둘 다 Ollama로 실행했습니다. 평가는 직원 핸드북 자료 58문항과 4개 문서로 구성된 정책 코퍼스 55문항, 총 113문항으로 진행되었고, 검색 지표로 Recall@1/3/5와 MRR을 사용했습니다.

원문은 하이브리드 검색을 두고 널리 권장되는 방식이라는 전제에서 시작해, 모든 임베딩 점수 옆에 dense 벡터와 sparse 벡터를 함께 저장하고 RRF로 결합했다고 설명합니다.

핸드북 자료: dense가 앞섰습니다

초기 실험에서 dense 검색은 58문항 중 56개를 rank 1에서 맞혔고, 하이브리드 검색은 54개를 맞혔습니다. 키워드 매칭, 약어 처리, 순위, 관련도 필터를 강화한 뒤 하이브리드는 55/58까지 올랐지만 dense의 56/58을 넘지는 못했습니다.

저자는 핸드북이 너무 작아 BM25가 효과를 내기 어려웠을 것이라는 가설을 세우고, 더 큰 정책 코퍼스를 만들어 다시 비교했습니다.

정책 코퍼스: 격차가 사라진 과정

정책 코퍼스(초기 208개 청크, 55문항)에서는 결과가 반대 방향으로 나타났습니다. 하이브리드는 43/55, dense는 47/55였습니다. 빠져 있던 EAP 확장을 추가하자 하이브리드가 47/55로 올라 rank-1 격차가 사라졌습니다.

평가 자료문항 수Dense (rank 1 정답)하이브리드 (rank 1 정답)
직원 핸드북5856/5854/58, 강화 후 55/58
정책 문서 4건5547/5543/55, EAP 확장 후 47/55

두 자료는 문항 수와 문서 구성이 달라 점수를 하나로 합쳐 해석하기 어렵고, 원문도 두 자료의 결과를 나누어 보고합니다.

105/113dense와 하이브리드의 전체 정답 수(동률)
61/62프로덕션형 실행의 정답 수(98%)
14/14범위 밖 질문 거절 수
48초답변 생성 중앙값

왜 하이브리드가 나빠질 수 있었나

RRF는 점수가 아니라 순위 위치를 합칩니다. dense 1위가 2위를 근소하게 앞서든 압도적으로 앞서든 RRF는 둘 다 1위와 2위로만 보므로, 노이즈가 많은 키워드 순위가 dense가 확신하던 결과를 뒤집을 수 있습니다.

저자는 하이브리드의 비용으로 추가 저장 공간, 추가 관리 로직, 추가 순위 결합 로직, 그리고 검색이 틀어질 수 있는 경로 증가를 꼽습니다. 이 문서 세트에서는 이런 복잡성을 감수할 만한 rank-1 개선이 없었습니다.

LocalCortex의 선택과 한계

원문 발췌에서 LocalCortex는 기본 검색 방식으로 dense 검색을 사용하는 쪽을 택했다고 밝힙니다. 최종 답변은 Llama 3 8B를 CPU에서 실행해 중앙값 48초가 걸렸는데, 저자는 이 속도가 CPU에서 Llama 3를 돌릴 때 감수하는 수준이라고 적었습니다.

이 결과는 저자의 두 평가 세트에 한정된 것입니다. 다른 문서 세트에서도 같은 결과가 나온다는 주장은 원문에 없습니다.

이게 나에게 의미하는 것

문서 질의응답 앱을 직접 만든다면, 하이브리드를 붙이기 전에 dense 검색의 기준선을 같은 질문 세트로 먼저 측정하는 편이 좋습니다.

문서에 약어나 고유 용어가 많아 키워드 검색이 필요해 보인다면, 하이브리드 도입보다 약어 처리와 질의 확장(원문의 EAP 확장처럼)부터 점검하세요.

로컬 모델로 답변 속도가 중요하다면, 원문이 보고한 중앙값 48초를 기준으로 사용자 기대치를 정하고, 하이브리드의 저장·관리 비용과 비교해 판단하세요.

https://dev.to/sekharendu_dey/what-113-eval-questions-taught-me-building-a-fully-local-rag-1923

출처: dev.to | 원문 보기 ↗

정리: 오늘의 시사점

이 평가에서 하이브리드 검색은 dense 검색보다 rank-1 정확도를 높이지 못했고, 전체 정답 수는 두 방식 모두 113문항 중 105개로 같았습니다. 핸드북에서는 dense 56/58 대 하이브리드 54/58(강화 후 55/58)이었고, 정책 코퍼스에서는 dense 47/55 대 하이브리드 43/55였으며, EAP 확장 후 하이브리드가 47/55로 동률이 되었습니다. 따라서 로컬 RAG의 검색 방식은 같은 질문 세트로 측정한 수치를 보고 고르는 것이 먼저입니다.

이 반찬이 맛있었다면
🍚 이 글은 자매 서비스 Tide에서 차려온 반찬입니다.
출처: TechCrunch · TechCrunch · dev.to · dev.to · Hacker News