Milvus: RAG 개발의 핵심 - 효율성 향상, 비용 절감, 성능 강화
소개
제 이전 블로그에서는 Retrieval Augmented Generation(RAG)이 환각 현상 및 도메인별 정보의 필요성과 같이 대규모 언어 모델(LLMs)이 직면한 과제를 어떻게 해결하는지 살펴보았습니다. 또한 데이터 프라이버시를 보장하고 실시간 정보 검색을 가능하게 하는 데 있어 RAG의 역할도 강조했습니다.
기본 RAG 프레임워크의 핵심에는 두 가지 중요한 요소가 있습니다: Retriever와 Generator입니다. 벡터 데이터베이스를 기반으로 하는 Retriever는 사용자 쿼리에 대한 문맥 정보를 제공하며, ChatGPT와 같은 LLMs로 구동되는 경우가 많은 Generator는 이 문맥을 기반으로 최종 응답을 작성합니다. 이러한 기술적 측면을 이해하면 RAG의 복잡한 작동 방식에 대해 더 잘 알 수 있습니다.
개발자들이 RAG 애플리케이션의 한계를 확장하고 이를 프로덕션 환경으로 전환함에 따라, 더 빠르고, 더 높은 품질의, 더 정밀한 답변이 필요해지고 있습니다. 이는 향상된 검색 효율성과 품질을 가능하게 하는 견고한 벡터 데이터베이스의 중요성을 강조합니다.
Milvus의 최신 릴리스는 벡터 데이터베이스 기술, 특히 RAG 성능 향상 측면에서 주목할 만한 발전을 보여줍니다. 이 글에서는 Milvus의 최신 기능을 살펴보고, 그 기능성을 강조하며, 성공적인 RAG 애플리케이션 개발을 위한 최고의 선택인 이유를 설명합니다.
인기 있는 임베딩 및 리랭킹 모델과의 통합을 통한 RAG 개발 및 검증 간소화
기본적인 RAG 설정은 프로토타이핑이나 소규모 프로젝트에는 충분하지만, 프로덕션 준비가 된 애플리케이션에는 부족합니다. 개발자들이 더 복잡한 RAG 앱으로 나아가면서 파이프라인에 추가 기술 구성 요소를 통합하게 되고, 이는 개발 복잡성을 증가시킵니다. 또한 RAG 관련 기술의 빠른 발전과 파라미터 변화는 앱 구축, 미세 조정, 검증에 추가적인 장애물을 만듭니다. 이러한 과제를 해결하기 위해 많은 RAG 개발자들은 LangChain, LlamaIndex, DSPy와 같은 프레임워크나 라이브러리를 활용하며, 이들은 간소화된 개발과 검증을 위한 광범위한 기능을 제공합니다.
Milvus는 효율적인 데이터 저장과 검색을 위한 전문 벡터 데이터베이스입니다. 최신 릴리스에서 Milvus는 주류 임베딩 및 리랭킹 모델을 원활하게 통합하여, 사용자가 RAG 파이프라인에 추가 임베딩 및 리랭킹 구성 요소를 더하지 않고도 텍스트를 검색 가능한 벡터로 쉽게 변환하고 검색된 결과를 리랭킹하여 더 정확한 답변을 얻을 수 있게 합니다. 그 결과, 이 통합은 전체 RAG 개발 및 검증 프로세스를 간소화합니다.
Milvus는 현재 OpenAI Embedding API, sentence transformers, BGE-M3, BM25, SPLADE, Voyage AI를 포함한 다양한 인기 임베딩을 지원합니다.
| 통합 임베딩 모델 | 벡터 유형 | API 또는 오픈 소스 |
| OpenAI Embedding API | Dense | API |
| sentence transformers | Dense | Open-source |
| BM25 | Sparse | Open-source |
| SPLADE | Sparse | Open-source |
| BGE-M3 | Hybrid | Open-source |
| Voyage AI | Dense | API |
Milvus는 현재 다음 리랭킹 모델을 지원합니다: BGE, Cross-encoder, Voyage AI, Cohere.
| 통합 리랭킹 모델 | API 또는 오픈 소스 |
| BGE rerankers | Open-sourced |
| Cross encoders | Open-sourced |
| Voyage AI rerankers | API |
| Cohere rerankers | API |
앞으로 몇 달 안에 더 많은 모델을 지원할 예정입니다. 계속 지켜봐 주세요. Milvus 문서는 이러한 사전 학습된 임베딩 모델을 활용하는 방법에 대한 자세한 지침을 제공합니다.
하이브리드 검색을 통한 검색 품질 및 멀티모달 데이터 검색 향상
실제 RAG 애플리케이션은 텍스트와 이미지, 비디오, 오디오 같은 멀티모달 데이터를 다루는 다양한 사용 사례에서 사용됩니다. 풍부한 정보를 처리하려면 멀티모달 쿼리에 대응하기 위해 다양한 데이터 유형의 임베딩을 효율적으로 저장하고 검색할 수 있는 벡터 데이터베이스가 필요합니다.
Milvus는 다중 벡터 지원과 하이브리드 검색 프레임워크를 제공함으로써 이 역할을 수행합니다. 사용자는 단일 컬렉션 내에서 최대 10개의 여러 벡터 필드를 통합할 수 있습니다. 이러한 필드의 벡터는 동일한 엔터티와 관련된 데이터의 다양한 측면이나 모달리티를 나타낼 수 있어 정보 풀을 크게 풍부하게 합니다.
그림1: Milvus가 하이브리드 검색을 수행하는 방식
이 하이브리드 검색 기능과 혼합 리랭킹 전략은 멀티모달 및 다차원 정보를 검색하는 데 향상된 유연성을 제공합니다. 사진, 음성, 지문과 같은 속성을 기반으로 벡터 라이브러리에서 가장 유사한 개인을 식별하는 등의 사용 사례에서 매우 유용합니다.
또한 Milvus는 하이브리드 검색을 확장하여 도메인 외 지식 및 키워드 검색에 널리 활용되는 희소 벡터를 지원합니다. 이 확장은 키워드와 벡터 임베딩의 혼합 검색을 가능하게 하여 더 정밀한 검색 결과를 제공하고, 궁극적으로 RAG 애플리케이션에서 최종 답변 생성의 정확도를 향상시킵니다.
업그레이드된 스칼라 필터 검색을 통한 검색 속도 및 정확도 향상
실제 애플리케이션에서는 모든 데이터가 벡터 검색에 적합한 것은 아닙니다. 예를 들어 의류 재고에 초점을 맞춘 챗봇을 생각해 보세요. 데이터에는 벡터와 함께 색상, 사이즈 같은 수많은 속성이 포함되어 있습니다. 이러한 스칼라 데이터를 벡터 검색 전후에 필터링하는 것이 이를 벡터로 변환하는 것보다 더 효율적이고 빠릅니다.
Milvus는 스칼라 필터 검색을 지원하여 검색 정밀도와 속도를 강화합니다. 이 기능의 최근 업그레이드는 다음과 같습니다:
그룹화 검색 기능: 이 기능은 스칼라 열 집계를 활용하여 정제된 고수준 집계 데이터를 제공합니다. 특히 쿼리와 관련된 특정 수의 문서를 검색하는 것과 같은 사용 사례에서 검색을 간소화합니다.
스칼라 컬럼을 위한 퍼지 매칭: 스칼라 컬럼에 대한 퍼지 쿼리는 이제 중위 및 접미사 매칭을 포함하여, 이전에 지원되던 접두사 매칭을 넘어 검색 품질을 향상시킵니다.
가속화된 검색 속도를 위한 역색인: 역색인의 도입으로 역방향 검색 사용 사례에서 성능을 10배 이상 향상시킬 수 있습니다.
Fig2: 역색인은 검색 속도를 10배 향상시킵니다
이러한 개선 사항은 RAG 시스템이 특정 비즈니스 요구 사항에 맞게 접근 방식을 조정할 수 있도록 지원합니다. 예를 들어, 사용자는 사건 날짜를 기준으로 법률 문서를 효율적으로 검색하거나 지리적 위치별로 관련 뉴스 보도를 필터링할 수 있습니다. 이러한 다차원 검색 접근 방식은 대상 쿼리를 처리할 때 RAG 애플리케이션의 정밀도와 효율성을 향상시킵니다.
비용 효율적인 RAG 솔루션 제공
RAG 앱을 위한 대규모 지식 베이스를 구축하고 유지 관리하는 것은 주로 데이터셋이 계속 확장되기 때문에 재정적으로 비용이 많이 들 수 있습니다. 따라서 방대한 양의 데이터 관리를 용이하게 하는 비용 효율적인 솔루션이 필요합니다.
Milvus는 Apache-2.0 라이선스에 따른 오픈 소스 벡터 데이터베이스로서 라이선스 비용이 없는 비용 효율적인 솔루션을 제공합니다. 고성능 기능 제품군은 추가 비용 없이 바로 사용할 수 있습니다.
또한 Milvus는 메모리 소비를 최소화하기 위해 Mmap을 통합하여 리소스 할당을 최적화합니다. Milvus는 액세스 빈도와 지연 시간 요구 사항이 다양한 데이터를 수용하도록 맞춤화된 계층형 콜드 및 핫 데이터 스토리지 기능을 도입하여 한 걸음 더 나아갑니다. Milvus는 RAM, NVMe, EBS, S3와 같은 다양한 스토리지 미디어 전반에 데이터를 전략적으로 배치하고 클라우드 스토리지 기능을 활용하여 스토리지 비용을 절감합니다. 지능형 캐싱 및 데이터 샤딩 기술은 쿼리 중 리소스 효율성에 더욱 기여하여, Milvus 기반 RAG 애플리케이션이 성능을 저하시키지 않고 더 낮은 비용으로 운영될 수 있도록 합니다.
Fig3: 계층형 콜드 및 핫 데이터 스토리지 접근 방식의 작동 방식
이 접근 방식은 초기 투자를 최소화하고 지속적인 운영 효율성을 보장하여, Milvus를 비용에 민감한 RAG 구현에 이상적인 선택으로 만듭니다.
요약
인기 있는 임베딩 모델과의 통합부터 멀티모달 데이터 검색 기능 및 업그레이드된 스칼라 필터링 검색에 이르기까지, Milvus 벡터 데이터베이스는 개발자가 그 어느 때보다 더 빠르고, 더 정확하며, 더 다재다능한 RAG 애플리케이션을 구축하도록 돕습니다.
또한 Milvus는 오픈 소스 정신, 고성능 기능, 최적화된 스토리지 전략을 통해 대규모 지식 베이스를 구축하고 유지 관리하기 위한 비용 효율적인 솔루션을 제공합니다. 메모리 소비를 최소화하고, 계층형 데이터 스토리지를 구현하며, 지능형 캐싱 및 데이터 샤딩 기술을 활용함으로써 Milvus는 RAG 애플리케이션이 성능을 희생하지 않고 더 낮은 비용으로 효율적으로 운영될 수 있도록 합니다.
결론적으로, Milvus는 개발자에게 더 빠르고, 더 정확하며, 비용 효율적인 애플리케이션을 구축할 수 있는 도구를 제공함으로써 RAG 개발을 혁신합니다. Milvus와 함께라면 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.

Zilliz Cloud Launches in AWS Australia, Expanding Global Reach to Australia and Neighboring Markets
We're thrilled to announce that Zilliz Cloud is now available in the AWS Sydney, Australia region (ap-southeast-2).

Creating Collections in Zilliz Cloud Just Got Way Easier
We've enhanced the entire collection creation experience to bring advanced capabilities directly into the interface, making it faster and easier to build production-ready schemas without switching tools.



