OpenAI RAG vs. 맞춤형 RAG: 어느 것이 더 나을까?
이 게시물은 원래 The New Stack에 게시되었으며 허가를 받아 여기에 다시 게시됩니다.
최근 OpenAI Assistants 검색 기능의 도입은 AI 커뮤니티에서 상당한 논의를 불러일으켰습니다. 이 내장 기능은 질문 답변을 위한 Retrieval Augmented Generation (RAG) 기능을 통합하여 GPT 언어 모델이 추가 지식을 활용해 더 정확하고 관련성 높은 답변을 생성할 수 있게 합니다. 이전 게시물에서는 OpenAI의 내장 RAG 검색의 제약을 살펴보고, 맞춤형 검색 솔루션을 만드는 것이 유용할 수 있는 상황을 논의했습니다.
이 게시물에서는 Milvus와 같은 벡터 데이터베이스를 기반으로 구축된 맞춤형 RAG와 OpenAI의 RAG 성능을 비교하여 이 주제를 더 깊이 살펴보겠습니다. 각 접근 방식의 강점, 약점, 뉘앙스를 평가하고, 궁극적으로 중요한 질문에 답하겠습니다. 어느 쪽이 더 나을까요?
Retrieval Augmented Generation (RAG)이란 무엇인가요?
OpenAI의 내장 RAG와 맞춤형 RAG 시스템을 평가하기 전에, 먼저 RAG가 무엇인지 이해하는 것부터 시작해 보겠습니다.
RAG, 즉 Retrieval Augmented Generation은 large language models (LLMs)가 가장 정확하고 최신 정보에 기반하도록 외부 지식 베이스에서 사실을 검색하는 AI 프레임워크입니다. 일반적인 RAG 시스템은 LLM, Milvus와 같은 벡터 데이터베이스, 그리고 코드로 된 몇 가지 프롬프트로 구성됩니다.
RAG 평가 도구: Ragas
RAG 성능을 평가하는 것은 복잡한 작업입니다. 재현 가능한 결과를 보장하면서 적절한 데이터셋에서 여러 지표를 평가하려면 공정하고 객관적인 RAG 평가 도구가 필요합니다.
Ragas는 RAG 시스템의 성능 평가에 특화된 오픈 소스 프레임워크입니다. RAG 애플리케이션의 품질을 포괄적이고 다각도로 평가하기 위해 RAG 시스템의 다양한 측면을 측정하는 여러 점수 지표를 제공합니다.
이 게시물에서는 OpenAI RAG와 우리의 맞춤형 RAG 시스템을 평가하기 위한 주요 지표로 충실성, 답변 관련성, 컨텍스트 정밀도, 답변 유사도, 답변 정확성을 사용하겠습니다.
충실성: 주어진 컨텍스트에서 생성된 답변의 사실 정확성을 평가합니다.
답변 관련성: 질문에 대한 생성된 답변의 관련성을 평가합니다.
컨텍스트 정밀도: 검색된 컨텍스트의 신호 대 잡음비입니다.
답변 정확성: 정답과 비교하여 생성된 답변의 정확성을 평가합니다.
답변 유사도: 생성된 답변과 정답 간의 의미적 유사성을 평가합니다.
Ragas와 모든 지표에 대한 더 자세한 정보는 Ragas documentation을 참조하세요.
RAG 평가 데이터셋: FiQA
평가를 위해 Financial Opinion Mining and Question Answering (FiQA) 데이터셋을 선택했습니다. 이 데이터셋은 다음을 포함하여 평가에 이상적인 몇 가지 특성을 갖추고 있습니다.
GPT 모델의 학습 데이터에 존재할 가능성이 낮은 고도로 전문화된 금융 지식을 포함합니다.
처음에는 Information Retrieval 기능을 평가하도록 설계되었으므로 표준 답변(정답) 역할을 하는 잘 주석 처리된 지식 스니펫을 제공합니다.
Ragas와 그 커뮤니티는 FiQA를 standard introductory test dataset으로 널리 인정해 왔습니다.
RAG 시스템 설정하기
이제 비교를 위해 두 가지 RAG 시스템을 구축해 보겠습니다: OpenAI RAG와 Milvus 벡터 데이터베이스를 기반으로 구축한 Customized RAG입니다.
OpenAI RAG 설정
OpenAI의 공식 문서에 따라 Assistants를 구성하고, 외부 지식을 업로드하고, 문맥 정보를 검색하고, 답변을 생성하는 방식으로 OpenAI Assistants를 사용한 RAG 시스템을 구축하겠습니다. 다른 모든 설정은 기본값으로 유지됩니다.
Milvus를 사용한 Customized RAG 설정
외부 지식을 저장하기 위해 Milvus 벡터 데이터베이스를 사용하여 Custom RAG 시스템을 수동으로 설정해야 합니다. 임베딩 모델로 HuggingFace의 `BAAI/bge-base-en`를 사용하고, 문서 가져오기 및 에이전트 구성을 위해 다양한 LangChain 컴포넌트를 사용하겠습니다.
자세한 정보는 이 단계별 가이드를 참조하세요.
구성 비교
아래 표에 두 RAG 시스템의 구성 세부 정보를 요약했습니다. 자세한 내용은 우리의 구현 코드를 참조하세요.
| OpenAI RAG | Customized RAG | |
|---|---|---|
| LLM 모델 | gpt-4-1106-preview | gpt-4-1106-preview |
| Vector DB | 비공개 | milvus |
| 임베딩 모델 | 비공개 | BAAI/bge-base-en |
| 청크 크기 | 비공개 | 1000 |
| 청크 오버랩 | 비공개 | 40 |
| topk | 비공개 | 5 |
| Agent 사용 | 예 | 예 |
표: OpenAI RAG와 Customized RAG의 구성 비교
위 표에서 보듯이, 두 RAG 시스템 모두 LLM 모델로 `gpt-4-1106-preview`를 사용합니다. Customized RAG는 벡터 데이터베이스로 Milvus를 사용합니다. 그러나 OpenAI RAG는 내장 벡터 데이터베이스나 기타 구성 매개변수를 공개하지 않습니다.
평가 결과 및 분석
Ragas를 사용하여 두 RAG 시스템을 context precision, faithfulness, answer relevancy, similarity, correctness를 포함한 여러 지표로 평가했습니다. 아래 차트는 Ragas에서 얻은 실험 점수를 보여줍니다.
OpenAI RAG 시스템은 답변 유사도에서 Milvus 기반 Customized RAG 시스템보다 약간 더 우수했지만, context precision, faithfulness, answer relevancy, answer correctness를 포함한 다른 중요한 지표에서는 뒤처졌습니다.
Ragas는 또한 다양한 지표의 조화 평균을 계산하여 생성된 평균값인 Ragas Scores를 사용해 두 RAG 시스템을 비교할 수 있게 해줍니다. 조화 평균은 점수가 낮은 항목에 페널티를 주는 데 사용됩니다. Ragas 점수가 높을수록 RAG 시스템의 전반적인 성능이 더 좋습니다. 아래 차트는 두 RAG 시스템의 Ragas 점수를 보여줍니다.
차트에서 보듯이, Milvus 기반 Customized RAG 시스템은 OpenAI RAG 시스템보다 Ragas Scores가 더 높습니다.
결론적으로, Milvus 기반 Customized RAG 시스템은 Ragas Scores 및 context precision, faithfulness, answer relevancy, correctness를 포함한 다른 중요한 지표에서 OpenAI RAG 시스템보다 더 뛰어난 성능을 보였습니다.
왜 Customized RAG가 OpenAI의 내장 RAG보다 더 뛰어난가요?
많은 개별 비교를 통해, 벡터 데이터베이스를 기반으로 한 Customized RAG 파이프라인이 OpenAI Assistants 기반 RAG 시스템보다 더 나은 성능을 보인다는 것을 확인했습니다. 왜 그럴까요? 다음은 가장 중요한 이유 중 일부입니다.
OpenAI Assistants는 외부 지식보다 내부 사전 학습 지식에 의존합니다.
내부 에이전트 설정으로 인해 OpenAI 어시스턴트는 업로드된 지식보다 사전 학습에 더 많이 의존합니다. 예를 들어, 고등학교의 개인 금융 수업에 대해 질문했을 때, OpenAI RAG 시스템은 실제 정답이 아닌 다른 것에 의존한 답변을 제공했습니다.
| 질문 | 개인 금융/자금 관리 수업이 어디선가 고등학교에서 가르쳐지나요? |
|---|---|
| OpenAI RAG 시스템의 답변 | 개인 금융 및 자금 관리 수업은 실제로 일부 고등학교에서 가르쳐지지만, 이러한 수업의 제공 여부와 필수 여부는 국가에 따라, 심지어 한 국가 내 지역에 따라서도 크게 달라질 수 있습니다. 예를 들어 미국에서는 Council for Economic Education (CEE)이 K-12 학교의 금융 교육에 대한 설문조사와 보고서를 실시합니다. 그들의 조사 결과에 따르면, 제가 마지막으로 업데이트된 시점 기준으로 점점 더 많은 주에서 개인 금융을 교육 기준에 통합했으며, 일부 주에서는 학생들이 졸업하기 위해 개인 금융 과정을 수강하도록 의무화했습니다. 실시간 데이터베이스나 최신 연구에 접근할 수는 없지만, 학교의 금융 교육에 대한 정보는 종종 다음을 통해 찾을 수 있습니다: 1. 정부 교육 웹사이트 확인. 2. 금융 교육 비영리단체 및 협의회의 보고서 확인. 3. 지역 교육위원회나 교육부서에 문의. 특정 지역에 관심이 있거나 염두에 둔 특정 초점이 있다면, 그렇게 명시해 주시면 가능한 경우 더 직접적인 정보를 제공할 수 있습니다. |
| 맞춤형 RAG 시스템의 답변 | 개인 금융 및 자금 관리 수업은 실제로 일부 고등학교에서 가르쳐지지만, 이러한 수업의 제공 여부와 요건은 크게 달라질 수 있습니다. 예를 들어 텍사스주 휴스턴의 한 사립 고등학교에서는 개인 금융에 대한 선택 반학기 수업을 제공했으며, 이는 졸업 학점으로 인정되지 않았습니다. 코네티컷주 웨스트포트의 Staples High School은 금융 문해력 기술을 개발하기 위해 수학을 활용하는 데 초점을 둔 개인 금융 관리 수업을 도입했으며, 소득, 은행 업무, 신용카드, 대출, 세금, 보험, 투자, 예산 편성, 개인 재산 구매와 같은 주제를 다루었습니다. 미시간주 앤아버의 공립학교들은 기본적인 자금 관리 주제를 포함한 '시민학' 수업을 제공했습니다. 또한 영국에서는 'Every Child Matters' 프레임워크가 '경제적 웰빙 달성'을 중요한 요소로 포함하고 있으며, 일부 학교는 아이들에게 금융과 경제에 대해 가르치기 위해 School Rewards System을 사용합니다. 이러한 예들은 그런 수업이 존재한다는 것을 보여주지만, 보편적으로 필수이거나 표준화되어 있지는 않으며, 교육과정의 깊이와 초점은 다양할 수 있습니다. |
| 데이터셋의 정답 | 제가 다녔던 미국 텍사스주 휴스턴의 사립 고등학교에서는 개인 금융에 대한 반학기 수업이 있었지만, 선택 과목이었고 졸업 학점은 전혀 주지 않았습니다. 당신 말이 맞아요, 그런 수업은 표준 수업이 되어야 합니다. 결국 성인이 된 삶에서 그 정보가 필요하지 않은 사람이 누가 있겠으며, 모두가 대학에 가는 것도 아니니까요." ... 저는 고등학교 1학년 때 "시민학" 수업을 들었습니다. 이는 미시간주 앤아버 공립학교에서였습니다. 그 수업은 정치와 법 체계의 개요와 함께 자금 관리의 아주 기본적인 내용(수표책 잔액 맞추는 법, 주식이 무엇인지, 소득세가 어떻게 작동하는지, 이자가 무엇인지 등)을 다루었습니다. 하지만 정말 가벼운 수업이었고, 개인 금융과 자금 관리에 깊이 들어가지는 않았습니다. 저는 그런 수업이 매우 가치 있을 것이라는 데 동의하며, 요리, 영양, 기본적인 집과 자동차 수리도 마찬가지라고 생각합니다. |
OpenAI RAG 시스템의 응답이 틀린 것은 아니지만, 구체성이 부족하며 최신 연구에 접근하지 못했다는 인정은 업로드된 문서의 지식을 완전히 활용하지 못했음을 시사합니다. 반면, Customized RAG 시스템은 정답 자료의 특정 정보를 매끄럽게 통합하여 더 정확한 답변을 제공합니다. 이 비교는 customized RAG가 외부 데이터를 효과적으로 활용하는 데 있어 더 뛰어난 능력을 갖추고 있음을 보여주며, 이를 더 신뢰할 수 있고 숙련된 솔루션으로 차별화합니다.
Customized RAG는 OpenAI RAG보다 문서 분할 및 데이터 검색에서 더 우수합니다
OpenAI의 지식 분할 및 회상 전략은 최적화가 필요할 수 있습니다. 때때로 검색된 스니펫이 부적절한데, 예를 들어 IRA 투자에 관한 질문에 대해 'PROS: CONS'만 제공하는 경우가 있습니다. 반면, Customized RAG Pipeline은 관련 스니펫을 회상하는 데 뛰어나며, 더 포괄적인 응답을 제공합니다.
| 질문 | IRA 투자에 더 적극적으로 관여하는 것의 장단점 |
|---|---|
| OpenAI RAG가 검색한 스니펫 | ['PROS: CONS'] |
| Customized RAG가 검색한 스니펫 | ['세율에서도 차이가 있지만, 과세되는 금액에도 상당한 차이가 있습니다. 따라서 IRA에서 인출하는 것은 일반적으로 좋은 생각이 아니며, 세금 관점에서 보면 IRA에서 인출하는 것이 과세 대상 투자를 현금화하는 것보다 더 나은 경우는 절대 없습니다. 그것은 의도된 설계입니다."' "좋지 않은 생각처럼 들립니다. IRA는 복리의 힘을 기반으로 만들어졌습니다. 기여금을 빼내면 은퇴 저축에 타격을 주며, 그 손실을 결코 만회할 수 없을 것입니다. 대신 비과세 투자를 고려해 보세요. 주 채권, 연방 채권, 지방채 등입니다. 예를 들어, 저는 California muni bonds fund에 투자하는데, 이 펀드는 연간 약 3-4%의 배당 수익을 제공합니다. 완전히 비과세입니다. 또한 펀드 보유 자산의 자본 상승도 있습니다. 물론 위험도 있습니다. 예를 들어 금리 변동은 수익률과 자본 상승에 영향을 미치므로, 이 분야에 대해 잘 아는 사람과 상담하세요(또는 기본 사항에 대해 여기서 다른 질문을 하세요). 이것은 은퇴 저축 잠재력을 손상시키지 않으면서, Roth IRA 요령에서 기대하는 것과 같은 결과를 제공할 것입니다." "George Marian의 훌륭한 조언에 덧붙여, IRA 기여 한도에 도달했다면 다시 401(k)로 돌아가야 한다는 점을 추가하겠습니다. 따라서 매칭을 받기에 충분한 금액을 401(k)에 넣고, 그다음 더 많고 더 나은 투자 옵션에 접근할 수 있도록 IRA 기여금을 최대한 채운 다음, 은퇴를 위해 투자할 수 있는 여유가 그만큼 있다고 가정할 때 401(k)도 한도까지 채울 때까지 다시 401(k)로 돌아가세요." "세금 이연은 좋은 기능이지만, 401k가 성배는 아닙니다. 저는 투자 옵션이 형편없는 401k를 많이 보았습니다: 저조한 성과, 높은 수수료, 제한된 옵션. Roth IRA를 최대한 채웠다니 훌륭합니다. 그 점은 칭찬합니다. 401k의 투자 옵션이 좋다면, 저는 그것을 계속 유지하겠습니다." "좋고 저렴한 인덱스 펀드를 제공하는 은퇴 플랜. 이런 사람들은 아마 그리 많이 걱정할 필요가 없을 것입니다. 마지막으로, 계좌가 두 개이면 더 복잡합니다. 같은 해에 IRA와 401(k) 모두에 기여하는 데 어떤 제한이 적용되는지 알아보려면 저보다 세금에 대해 더 잘 아는 사람에게 문의하세요."] |
OpenAI Assistants는 잘못된 스니펫을 검색했습니다. 반면, Customized RAG는 더 관련성 높은 스니펫을 검색하여, 질문의 뉘앙스에 부합하는 더 포괄적인 응답을 제공했습니다.
기타 이유
OpenAI Assistants는 사용자가 RAG 파이프라인의 매개변수를 조정하여 사용자 지정하거나 최적화하는 것을 허용하지 않습니다. 그러나 customized RAG를 사용하면 사용자는 조정 및 최적화를 위한 완전한 유연성을 가질 수 있습니다.
OpenAI Assistants에는 파일 저장소 제한이 있는 반면, Milvus 기반 맞춤형 RAG는 상한 없이 빠르게 확장할 수 있어 더 큰 저장 용량이 필요한 사용자에게 더 나은 옵션입니다.
결론
결론적으로, Ragas 평가 도구를 사용한 포괄적인 비교 및 분석은 OpenAI RAG와 Milvus와 같은 벡터 데이터베이스 기반의 맞춤형 RAG의 강점과 약점을 부각합니다. OpenAI의 RAG는 검색에서 우수한 성능을 보이는 반면, 맞춤형 RAG는 답변 품질과 관련성, 재현율 성능 및 기타 여러 측면에서 뛰어납니다. 강력하고 효과적인 RAG 애플리케이션을 찾는 개발자는 더 나은 결과를 달성하기 위해 벡터 데이터베이스 기반 RAG 솔루션의 유연성과 기능을 선호하게 될 것입니다.
계속 읽기

Introducing Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud
We're announcing the general availability of Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud.

Introducing Business Critical Plan: Enterprise-Grade Security and Compliance for Mission-Critical AI Applications
Discover Zilliz Cloud’s Business Critical Plan—offering advanced security, compliance, and uptime for mission-critical AI and vector database workloads.

Zilliz Cloud Update: Smarter Autoscaling for Cost Savings, Stronger Compliance with Audit Logs, and More
What's new in Zilliz Cloud? Smarter autoscaling with scale-down, audit logs GA, enhanced SSO, and Milvus 2.6 in Private Preview.



