An Open Benchmark for Testing RAG on Realistic Company-Internal Data
요약
본 기술 기사는 실제 기업 환경의 복잡성을 반영하여 RAG(Retrieval-Augmented Generation) 시스템을 테스트하기 위한 새로운 오픈 벤치마크인 'EnterpriseRAG-Bench'를 소개합니다. 이 벤치마크는 Slack, Gmail, GitHub 등 다양한 내부 소스에서 추출된 약 50만 개의 문서로 구성되어 있으며, 단순한 공개 데이터셋의 한계를 극복했습니다. 개발팀은 단순히 많은 문서를 생성하는 것보다, 문서들이 실제 회사에 속한다는 '현실적인 맥락'과 의존성을 부여하는 데 중점을 두었으며, 랜덤 노이즈와 오류를 추가하여 현실성을 높였습니다. 평가 과정에서는 BM25가 벡터 검색을 능가하고, 관련 증거의 제공이 답변 품질에 결정적임을 발견했습니다.
핵심 포인트
- RAG 벤치마크는 공개 데이터셋 대신 Slack, Gmail 등 실제 기업 내부 소스를 모방한 합성 코퍼스로 구축되어 현실성을 극대화함.
- 데이터 생성 과정은 문서 간의 인과관계와 의존성(예: PR 리뷰 코멘트)을 부여하는 데 초점을 맞추어 높은 충실도를 확보함.
- 평가 결과, BM25 검색 방식이 벡터 검색보다 전반적인 정확도 및 문서 회수율에서 우위를 보였으며, 관련 증거의 제공이 LLM 답변 품질에 가장 중요함을 입증함.
- 벤치마크는 단순 조회부터 오해의 소지가 있는 쿼리, 완전성 질문 등 10가지 범주의 복잡한 검색 실패 모드를 포괄적으로 다룸.
- 최적의 검색 전략(하이브리드, 에이전트, 그래프 트래버스)에 대한 커뮤니티 피드백을 요청하며 실질적인 산업 적용 논의를 유도함.
우리는 실제 회사의 시뮬레이션을 위한 50 만 개의 문서 코퍼스를 구축하고, RAG 시스템이 어느 것이 가장 좋은지 경쟁하게 했습니다.
EnterpriseRAG-Bench, 불완전한 기업 규모의 내부 지식에 대해 RAG 시스템이 얼마나 잘 작동하는지를 테스트하기 위한 벤치마크를 소개합니다.
대부분의 RAG 벤치마크는 공개 데이터를 기반으로 구축됩니다: 위키백과, 웹 페이지, 논문, 포럼 등. 이는 유용하지만, 실제로 많은 사람들이 대항하고 있는 것과 맞지 않습니다: Slack 스레드, 이메일 체인, 티켓, 회의 전사, PRs, CRM 노트, 문서, 위키 등.
그래서 우리는 실제 회사와 더 유사한 행동을 하는 합성 회사를 구축하려고 했습니다.
발행된 데이터셋은 Redwood Inference라는 회사의 시뮬레이션을 포함하며 약 50 만 개의 문서를 다음과 같이 포함합니다:
- Slack
- Gmail
- Linear
- Google Drive
- HubSpot
- Fireflies
- GitHub
- Jira
- Confluence
우리가 가장 많은 시간을 투자한 부분은 "많은 문서를 생성"하는 것이 아니라, 문서를 같은 회사에 속한다는 느낌을 주는 방법론이었습니다.
높은 수준에서, 생성 파이프라인은 다음과 같이 작동합니다:
- 회사 먼저 생성 우리는 회사의 정의 (무엇을 하는지, 제품, 비즈니스 모델, 팀, 프로젝트, 시장, 내부 용어 등) 를 정의하기 위해 인간-인-루프 프로세스를 시작합니다.
- 공유 스프레드 생성 거기서 우리는 상위 수준의 프로젝트, 직원 디렉터리, 소스별 폴더 구조, 각 영역의 문서가 어떻게 보일지 설명하는 agents.md 파일 등을 생성합니다. 예를 들어, 발행된 코퍼스의 GitHub 문서는 랜덤 GitHub 이슈가 아닌 풀 리퀘스트와 리뷰 코멘트입니다.
- 고충실도 프로젝트 문서 생성 우리는 회사의 프로젝트를 더 작은 프로젝트/워크스트림으로 분할합니다. 각 프로젝트는 소스별 관련 문서 세트 (PRDs, Slack 토론, 회의 전사, 티켓, PRs, 고객 노트 등) 를 받습니다. 이러한 문서는 서로에 대한 인식을 가지고 생성되므로, 현실적인 교차 문서 링크와 의존성을 얻습니다.
- 고용량 문서 더 저렴하게 생성 코퍼스의 대부분을 위해, 우리는 소스 유형별 주제 스프레드를 사용합니다. 이는 LLM 이 같은 몇 가지 테마를 반복적으로 붕괴시키지 않도록 방지합니다. 단순한 실험에서, 우리는 회사 개요만 사용하여 100 개의 회사 문서를 요청했을 때, 40% 이상이 매우 가까운 복제/형제였습니다. 주제 스프레드는 이를 우회하는 방법입니다.
- 현실적인 노이즈 추가 실제 기업 데이터는 깨끗하지 않으므로, 우리는 의도적으로 다음을 추가합니다:
- 랜덤으로 잘못 배치된 문서
- LLM-합리적 잘못 파일링 문서
- 사실 변경된 유사 복제본
- 미인용/혼재 파일 (메모, 해커톤 노트, 랜덤 자산 등)
- 충돌/오류 정보
- 검색 실패 모드를 중심으로 설계된 질문 생성 벤치마크는 10 개의 범주에 걸쳐 500 개의 질문을 포함하며:
- 단순 단일 문서 조회
- 의미론적/키워드 중첩 질문
- 하나의 긴 문서에 대한 추론이 필요한 질문
- 다중 문서 프로젝트 질문
- 오해의 소지가 있는 제한된 쿼리
- 충돌 정보 질문
- 모든 관련 문서를 필요로 하는 완전성 질문
- miscellaneous/off-topic 문서
- 상위 수준 종합 질문
- 답변할 수 없는 질문
- 교정 인식 평가 사용 50 만 개의 문서에서, 원래 골드 문서 세트가 완벽하다고 보장하는 것은 어렵습니다. 따라서 평가 허니는 후보 검색 문서를 고려하고, 그들이 필요/유효/무효인지 판단하며, 증거를 지원할 때 골드 세트를 업데이트합니다.
이 논문에서 얻은 기초적인 발견점 몇 가지를 정리해 드립니다:
- BM25는 놀랍도록 강력했습니다, 전체 정확도와 문서 회귀 (document recall) 측면에서 벡터 검색을 압도했습니다.
- 벡터 검색은 의미론적 질문에서도 성능이 저조했습니다. 이는 이러한 질문들이 키워드 중복을 줄이기 위해 설계되었기 때문에 흥미로운 점입니다.
- 에지 기반/바시 스타일의 검색은 관련 파일을 탐색해야 하는 질문에서 특히 가장 높은 완전성 (completeness) 을 보였으나, 속도와 비용 측면에서는 훨씬 느리고 비쌌습니다.
- 일반적으로 맥락에 올바른 문서를 제공하는 것이 매우 중요했습니다. 관련 증거가 검색된 후에는 현재 LLMs 는 대체로 좋은 답변을 생성할 수 있었습니다.
저희 리포지토리는 데이터셋, 생성 프레임워크, 평가 도구 및 리더보드를 포함합니다:
https://github.com/onyx-dot-app/EnterpriseRAG-Bench
내부 회사 데이터를 기반으로 RAG/검색 시스템을 구축하는 다른 분들의 피드백을 원합니다. 특히, 어떤 검색 설정이 가장 효과적이라고 생각하시는지 궁금합니다: 하이브리드 검색, 리랭커 (rerankers), 에이전트 (agents), 메타데이터 필터링, 쿼리 재작성, 그래프 스타일 트래버스 등.
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기