treeru.com
AI

BGE-M3 vs mE5-Large — 한국어 RAG 검색 품질을 직접 비교해보니

2026-05-21
Treeru

RAG를 만들 때 임베딩 모델은 조용히 전체 품질을 결정합니다. LLM이 똑똑해도 검색이 틀리면 답변은 틀립니다. 반대로 검색이 정확하면 작은 모델도 꽤 안정적으로 답합니다. 그래서 한국어 문서 검색에서 자주 후보로 올라오는 BGE-M3mE5-Large를 같은 조건으로 비교했습니다.

결론부터 말하면, 이번 작은 실험에서는 BGE-M3가 더 안정적이었습니다. 10개 한국어 질문 기준 Top-3 Recall은 BGE-M3 100.0%, mE5-Large 86.7%였습니다. mE5-Large가 더 빨랐지만, 실제 서비스에서는 검색 누락 하나가 잘못된 답변으로 바로 이어질 수 있습니다.

10개

한국어 질문

9개

검색 청크

100%

BGE-M3 Top-3 Recall

86.7%

mE5-Large Top-3 Recall

왜 따로 비교했나

이전 RAG 구축기에서는 임베딩 모델 선정이 전체 파이프라인의 한 단계였습니다. 그런데 실제로는 이 부분만 따로 봐야 합니다. RAG 장애의 원인은 대부분 생성 모델보다 앞단 검색에 있습니다. 필요한 문서를 못 찾았는데도 LLM은 답을 만들어냅니다. 사용자는 그것을 검색 실패가 아니라 AI의 자신 있는 오답으로 받아들입니다.

특히 한국어는 질문 표현이 많이 흔들립니다. 문서에는 “주차 가능”이라고 되어 있는데 사용자는 “차 댈 수 있어요?”, “주차할 수 있나요?”, “근처에 세울 데 있나요?”처럼 묻습니다. 임베딩 모델이 이 구어체를 같은 의미로 묶지 못하면 검색은 쉽게 무너집니다.

이 글의 목적은 “어떤 모델이 항상 더 좋다”고 단정하는 것이 아닙니다. 실제 서비스 문서와 질문에 가까운 작은 테스트를 만들고, 모델 선택을 감이 아니라 수치로 결정하는 방법을 공유하는 것입니다.

테스트 조건

테스트는 일부러 작게 잡았습니다. 실제 서비스 도입 전에는 거대한 벤치마크보다 우리 문서에서 자주 나올 질문 10~50개를 먼저 통과하는지가 더 중요합니다. 이번에는 샘플 카페 문서 4개를 9개 청크로 나누고, 한국어 자연어 질문 10개를 던졌습니다.

항목
문서메뉴, 매장 정보, FAQ, 이벤트 성격의 마크다운 문서 4개
청크9개
질문한국어 구어체 질문 10개
평가질문당 기대 키워드 3개를 정하고 Top-3 검색 결과 안에 들어왔는지 확인
환경CPU 추론, sentence-transformers 기반

평가 기준은 단순합니다. 예를 들어 “주차할 수 있나요?”라는 질문에는 주차 가능 여부, 가능한 대수, 대체 주차 안내 같은 핵심 키워드가 들어와야 합니다. Top-3 안에 이 키워드가 없으면 LLM은 답을 만들 근거를 잃습니다.

결과: 100% vs 86.7%

항목BGE-M3mE5-Large
모델BAAI/bge-m3intfloat/multilingual-e5-large
벡터 차원1,0241,024
모델 로드 시간4.2초3.3초
9개 청크 임베딩 시간0.18초0.05초
Top-3 평균 Recall100.0%86.7%

둘 다 1,024차원이라 저장 비용은 같습니다. 차이는 검색 품질과 임베딩 속도에서 났습니다. mE5-Large는 9개 청크 임베딩에서 0.05초로 빨랐고, BGE-M3는 0.18초였습니다. 하지만 평균 Recall은 BGE-M3가 100.0%, mE5-Large가 86.7%였습니다.

BGE-M3

  • • 10개 질문 모두 Top-3 안에 기대 키워드 포함
  • • 주차, 와이파이 같은 시설성 질문에서 안정적
  • • Dense, Sparse, ColBERT 계열 검색 확장 가능

mE5-Large

  • • 임베딩 속도는 더 빠름
  • • 일반 메뉴, 가격, 영업시간 질문은 정확
  • • 일부 구어체 시설 질문에서 핵심 청크 누락
질문BGE-M3mE5-Large메모
아메리카노 가격이 얼마예요?100%100%둘 다 정확
카페 영업시간 알려주세요100%100%둘 다 정확
주차할 수 있나요?100%0%mE5가 주차 관련 청크를 놓침
디카페인 메뉴 있어요?100%100%둘 다 정확
케이크 종류 뭐가 있어요?100%100%둘 다 정확
와이파이 비밀번호가 뭐예요?100%66.7%mE5가 일부 키워드를 놓침
텀블러 할인 되나요?100%100%둘 다 정확
반려동물 데려갈 수 있나요?100%100%둘 다 정확
딸기 음료 있어요?100%100%둘 다 정확
노트북 사용 가능한가요?100%100%둘 다 정확

검색이 무너진 질문

평균 86.7%라는 숫자만 보면 mE5-Large도 충분해 보입니다. 하지만 RAG에서는 평균보다 실패한 질문의 성격을 봐야 합니다. 이번 테스트에서 가장 큰 차이는 “주차할 수 있나요?”였습니다. BGE-M3는 관련 청크를 가져왔지만, mE5-Large는 기대 키워드를 Top-3에 넣지 못했습니다.

왜 이게 큰 문제인가

주차 질문은 단순한 정보 검색이 아닙니다. 고객이 방문 여부를 결정하는 질문입니다. RAG가 주차 관련 문서를 못 가져오면 LLM은 “주차 가능합니다”, “근처 공영주차장을 이용하세요”처럼 그럴듯한 말을 만들 수 있습니다. 실제 정책과 다르면 바로 클레임이 됩니다.

와이파이 질문에서도 차이가 있었습니다. mE5-Large는 일부 근거는 찾았지만, 기대 키워드 전체를 안정적으로 회수하지 못했습니다. 이런 경우 답변은 맞을 수도 있고, 반쯤 빠질 수도 있습니다.

이 지점이 모델 선택에서 중요합니다. 임베딩 모델은 “대부분 맞는 모델”보다서비스에서 위험한 질문을 놓치지 않는 모델이 더 좋습니다. 가격, 영업시간, 환불, 예약, 배송, 주차, 법적 고지처럼 틀리면 곤란한 질문을 따로 모아 테스트해야 합니다.

속도 차이를 어떻게 봐야 하나

mE5-Large는 빠릅니다. 이번 테스트에서 9개 청크 임베딩 시간이 0.05초였고, BGE-M3는 0.18초였습니다. 숫자만 보면 3배 이상 차이가 납니다. 하지만 실제 운영에서는 이 차이를 그대로 사용자 응답 지연으로 보면 안 됩니다.

문서 임베딩은 보통 사전에 해둡니다. 사용자가 질문할 때는 질문 하나만 임베딩하고, 벡터DB에서 Top-K를 검색한 다음 LLM에 넘깁니다. 서비스 병목은 대개 LLM 생성 시간, 네트워크, 권한 체크, 후처리 쪽에서 생깁니다. 그래서 임베딩 모델 선택에서는 0.1초 차이보다 검색 누락 비용을 먼저 봐야 합니다.

빠른 모델이 나쁜 것은 아닙니다. 다만 RAG의 목적이 정확한 근거 회수라면, 먼저 품질 하한선을 정하고 그 안에서 속도를 최적화하는 순서가 더 안전합니다.

실무 선택 기준

BGE-M3를 먼저 볼 때

  • • 한국어 고객지원, FAQ, 정책 문서 검색이 많다
  • • 사용자가 구어체로 질문한다
  • • 시설, 조건, 예외, 규정처럼 놓치면 위험한 정보가 있다
  • • 추후 하이브리드 검색이나 rerank 확장을 고려한다

mE5-Large를 검토할 때

  • • 검색 문서가 짧고 질문 유형이 비교적 정형적이다
  • • 대량 배치 임베딩 속도가 더 중요하다
  • • 자체 평가셋에서 위험 질문을 충분히 통과했다
  • • 별도 키워드 검색이나 reranker로 누락을 보완한다

우리 기준에서는 BGE-M3 쪽이 기본 선택에 가까웠습니다. 벡터 차원은 같고, 검색 품질은 더 안정적이었고, 속도 차이는 이번 규모에서는 의사결정을 뒤집을 정도가 아니었습니다. 다만 서비스마다 문서와 질문이 다르기 때문에, 최종 선택은 반드시 자기 데이터로 확인해야 합니다.

임베딩 모델 평가 체크리스트

모델을 고를 때는 공개 벤치마크보다 먼저 작은 내부 평가셋을 만드세요. 처음부터 거창할 필요는 없습니다. 10개만 잘 골라도 모델 차이가 보입니다.

  • • 실제 사용자가 할 법한 질문을 그대로 적는다. 검색어처럼 다듬지 않는다.
  • • 가격, 영업시간, 환불, 예약, 배송, 주차처럼 틀리면 곤란한 질문을 반드시 포함한다.
  • • 질문마다 반드시 나와야 하는 키워드나 문서 ID를 미리 정한다.
  • • Top-1만 보지 말고 Top-3 또는 Top-5에서 근거가 들어오는지 본다.
  • • 평균 점수와 함께 실패 질문을 따로 읽는다. 실패 유형이 더 중요하다.
  • • 속도는 문서 임베딩, 질문 임베딩, 검색, LLM 생성 시간을 나눠서 본다.

결론

이번 테스트에서 BGE-M3는 한국어 구어체 질문 10개 모두에서 기대 키워드를 Top-3 안에 회수했습니다. mE5-Large는 더 빨랐지만, 주차 질문과 와이파이 질문에서 누락이 있었습니다. RAG를 고객 대응이나 업무 자동화에 붙인다면 이 차이는 작지 않습니다.

그래서 현재 기준은 단순합니다. 한국어 RAG를 처음 구축한다면 BGE-M3를 기본 후보로 두고, 서비스 문서 20~50개 질문으로 자체 Recall 테스트를 먼저 돌립니다. 그 결과가 충분하면 다음 단계로 벡터DB, reranker, 하이브리드 검색을 붙입니다. 모델 이름보다 중요한 것은 내 서비스 질문에서 실제 근거를 놓치지 않는지입니다.

전체 RAG 파이프라인 구축 과정은 로컬 RAG 파이프라인 구축기에서 이어서 볼 수 있습니다.

T

Treeru

웹 개발, IT 인프라, AI 솔루션 분야의 실무 인사이트를 공유합니다. 기업의 디지털 전환을 돕는 IT 파트너, Treeru입니다.

공유

댓글

(3)
4.67/ 5

로그인 하면 댓글을 작성할 수 있습니다.

2026-05-22
555.0

임베딩 시간보다 검색 누락 비용을 먼저 봐야 한다는 부분이 좋았습니다. RAG는 빠른 오답보다 조금 느린 정답이 더 낫죠.

2026-05-22
454.0

Top-3 키워드 Recall로 작게 시작하는 평가 방식이 현실적입니다. 우리 서비스 문서로도 바로 따라 해볼 수 있겠습니다.

2026-05-21
555.0

평균 점수만 보면 mE5도 괜찮아 보이는데, 주차 질문을 0%로 놓친 사례를 보니 실제 서비스에서는 위험하겠네요.

관련 글

© 2026 TreeRU. All rights reserved.

본 콘텐츠의 저작권은 TreeRU에 있으며, 출처를 밝히지 않은 무단 전재 및 재배포를 금합니다. 인용 시 출처(treeru.com)를 반드시 명시해 주세요.