Milvus란 무엇인가요?

손가락으로 화면을 터치하는 모습 클로즈업

작성자

Matthew Kosinski

Staff Editor

IBM Think

Milvus란 무엇인가요?

Milvus는 Zilliz가 개발한 오픈소스 벡터 데이터베이스입니다. Milvus는 대량의 벡터 임베딩을 위한 확장 가능한 스토리지를 제공하고 벡터 데이터의 성능 유사성 검색을 지원하는 것으로 알려져 있습니다.

Zilliz는 2017년에 Milvus를 처음 개발했으며, 2020년에 Linux 재단에 프로젝트를 기여했습니다. Milvus는 현재 Apache License 2.0에 따라 오픈 소스 소프트웨어로 제공되며, Zilliz의 완전 관리형 클라우드 서비스로도 제공됩니다.

벡터 데이터베이스란 무엇이며, 왜 중요한가요?

벡터 데이터베이스는 데이터 세트를 벡터 형태로 저장하고 관리합니다. 조직이 비정형 데이터를 관리하는 데 도움이 될 수 있으며 고급 인공 지능(AI) 및 머신 러닝(ML) 작업에 매우 중요합니다.

벡터는 단어와 이미지와 같은 복잡한 개념과 대상을 나타내는 숫자의 배열입니다.  

텍스트, 동영상, 오디오 등 비정형 데이터는 오늘날 기업 데이터의 상당 부분을 차지하지만, 기존 데이터베이스는 이러한 데이터를 정리하고 관리하는 데 적합하지 않은 경우가 많습니다.  

조직은 이 데이터를 "임베딩"이라는 벡터 표현을 출력하는 특수 딥 러닝 임베딩 모델에 공급할 수 있습니다. 예를 들어, "고양이"라는 단어는 [0.2, -0.4, 0.7] 벡터로 표현되고, "개"라는 단어는 [0.6, 0.1, 0.5]로 표현될 수 있습니다.

데이터를 벡터로 변환하면 조직은 다양한 종류의 비정형 데이터를 하나의 벡터 데이터베이스에 공유 형식으로 저장할 수 있습니다.  

벡터는 또한 조직이 이러한 데이터의 가치를 AI와 ML에 활용할 수 있도록 지원합니다. 벡터는 요소 간의 의미 관계를 포착하여 대규모 언어 모델(LLM)과 생성형 AI(gen AI) 도구로 효과적으로 처리할 수 있도록 지원합니다. 오늘날 대부분의 고급 AI 및 ML 애플리케이션은 학습 및 콘텐츠 생성을 위해 벡터를 사용합니다.

다른 벡터 데이터베이스와 마찬가지로 Milvus는 조직에 임베딩 벡터를 관리하고 구성할 수 있는 방법을 제공합니다. Milvus 벡터 데이터베이스는 확장성이 뛰어난 스토리지와 효율적인 벡터 검색 기능으로 인해 검색 증강 생성(RAG), 추천 시스템 및 기타 AI 애플리케이션에 널리 선택되고 있습니다.  

트랙에서 굴러가는 공의 3D 디자인

최신 AI 뉴스+인사이트


주간 Think 뉴스레터에서 전문가들이 선별한 AI, 클라우드 등에 관한 인사이트와 소식을 살펴보세요. 

Milvus의 아키텍처

Milvus는 다중 계층, 마이크로서비스 기반 아키텍처를 갖춘 클라우드 네이티브 벡터 데이터베이스입니다. Milvus는 스토리지와 컴퓨팅 리소스를 분리하여 조직이 각 계층을 독립적이고 수평적으로 확장할 수 있도록 합니다.

Milvus는 여러 가지 임베딩 모델과 호환됩니다. 조직은 메타데이터 및 기타 관련 정보와 함께 임베딩을 수집하는 Milvus에 모델을 연결할 수 있습니다. Milvus는 스트리밍 및 일괄 임베딩 업로드를 지원합니다.

Milvus는 4개의 계층으로 구성되어 있습니다.

  • 액세스 계층: 사용자 및 서비스의 입력을 수락하고 아웃풋을 반환하는 외부 연결 계층입니다.  

  • 코디네이터 서비스: Zilliz는 이 계층을 로드 밸런싱, 데이터 관리, 쿼리 실행 및 기타 중요한 작업을 오케스트레이션하기 때문에 시스템의 '두뇌'이라고 부릅니다. 

  • 작업자 노드: 이 계층은 쿼리를 실행하고, 데이터를 업데이트하고, 인덱스를 작성합니다. 

  • 오브젝트 스토리지 계층: 이 계층에는 메타데이터 저장소, 실시간 데이터 변경 사항을 기록하는 로그 브로커, 로그 스냅샷, 인덱스 파일 및 중간 계산 결과를 보관하는 오브젝트 저장소가 포함됩니다.

Milvus 배포 유형

 

  • Milvus Lite: 사용자가 로컬 환경에서 Milvus를 실행할 수 있는 Python 라이브러리입니다. Milvus Lite는 현재 Ubuntu와 MacOS를 지원하지만 Microsoft Windows는 지원하지 않습니다.

  • Milvus Standalone: 단일 Docker 이미지로 패키징되고 단일 시스템에서 실행되는 완전한 Milvus 데이터베이스입니다. 

  • Milvus Cluster: Kubernetes 클러스터의 노드 그룹에 서비스를 분산시키는 분산 벡터 데이터베이스입니다.  

  • Zilliz Cloud: Milvus의 완전 관리형 버전입니다.
Mixture of Experts | 8월 28일, 에피소드 70

AI 디코딩: 주간 뉴스 요약

세계적인 수준의 엔지니어, 연구원, 제품 리더 등으로 구성된 패널과 함께 불필요한 AI 잡음을 차단하고 실질적인 AI 최신 소식과 인사이트를 확인해 보세요.

Milvus의 주요 특징 및 기능

고급 검색 기능 

Milvus는 쿼리와 의미적으로 유사한 결과를 반환하는 벡터 검색의 일종인 고성능 벡터 유사성 검색을 지원합니다. 유사성 검색의 장점은 기존 키워드 검색처럼 정확히 일치하는 검색에만 국한되지 않는다는 점입니다.  

예를 들어 "최고의 피자 레스토랑"에 대한 키워드 검색은 "최고의", "피자", "레스토랑"이라는 단어가 포함된 결과만 반환합니다. 동일한 키워드에 대한 유사성 검색은 콘텐츠에 "최고의 피자 레스토랑"이라는 정확한 단어가 사용되지 않더라도 추천 피자 가게에 대한 결과를 찾을 수 있습니다.

Milvus는 top-k 근사 최근접 이웃(ANN) 및 범위 ANN을 포함한 여러 유사성 검색 유형을 지원합니다.  

Milvus는 또한 의미론적 벡터 검색을 메타데이터 필터링 또는 키워드 검색과 같은 다른 기준과 결합하는 하이브리드 검색을 지원합니다.

하이브리드 검색은 검색의 효율성과 연관성을 높일 수 있습니다. 키워드 검색과 벡터 검색을 결합한 검색을 예로 들어보겠습니다. 이 검색은 먼저 특정 키워드를 사용하여 정확히 일치하는 검색어를 기반으로 결과를 필터링한 다음, 벡터 유사성 검색을 사용하여 필터링된 결과 중 의미적으로 가장 관련성이 높은 콘텐츠를 검색할 수 있습니다.  

인덱싱 

Milvus는 HNSW(Hierarchical Navigable Small World), IVF(Inverted File) 및 GPU 기반 인덱스를 포함한 여러 인덱싱 유형을 지원합니다.

벡터를 인덱싱하면 검색 속도를 높이는 데 도움이 될 수 있습니다. 예를 들어, HNSW는 인덱스 구성 프로세스 중에 유사한 벡터를 함께 클러스터링하여 관련 결과를 더 쉽고 빠르게 찾을 수 있도록 합니다.

확장성 

Milvus의 계층은 서로 독립적으로 확장할 수 있어 조직이 방대한 양의 벡터 데이터와 집중적인 검색을 처리할 수 있는 비용 및 리소스 효율적인 방법을 제공할 수 있습니다.

통합 및 호환성 

Milvus는 Python(pymilvus), Java, Go 등 다양한 언어로 개발을 지원하는 수많은 소프트웨어 개발 키트(SDK)를 제공합니다.

Milvus는 Apache Spark와 같은 분석, LangChain과 같은 프레임워크, IBM watsonx™, Meta Llama 및 OpenAI GPT 모델과 같은 생성형 AI 모델과도 통합할 수 있습니다. 

오픈소스

대규모 오픈 소스 커뮤니티는 Milvus의 GitHub 리포지토리에 대한 버그 수정, 업데이트 및 기타 개선 사항에 기여합니다.

Milvus와 다른 벡터 데이터베이스 비교

Milvus와 Pinecone 비교

Pinecone과 Milvus는 모두 저지연 검색과 확장 가능한 스토리지를 제공하지만, Pinecone은 독점적인 벡터 데이터베이스이며 관리형 서비스로만 제공됩니다.

Milvus와 Weaviate 비교

Milvus와 마찬가지로 Weaviate는 오픈 소스이며 하이브리드 검색을 지원합니다. 한 가지 주요 차이점은 Milvus가 Weaviate보다 더 많은 인덱싱 유형을 제공한다는 것입니다.

Milvus와 Qdrant 비교

또 다른 오픈 소스 벡터 데이터베이스인 Qdrant는 강력한 메타데이터 필터링 능력으로 유명합니다. Qdrant는 중간 규모의 용도에 매우 적합하지만 Milvus는 일반적으로 더 많은 양의 벡터 데이터를 처리할 수 있습니다.

Milvus와 Chroma 비교

Chroma는 사용 편의성과 빠른 로컬 배포에 중점을 둡니다. Chroma는 분산형 아키텍처가 아니기 때문에 확장성이 떨어집니다. Chroma는 일반적으로 프로토타이핑 및 테스트에 사용되지만 Milvus는 더 광범위한 사용 사례를 지원할 수 있습니다.

일반적인 Milvus 사용 사례

조직은 Milvus를 사용하여 여러 가지 AI 애플리케이션을 지원합니다.

  • .
  • 검색 증강 생성(RAG)

  • .
  • 추천 시스템

  • .
  • 미디어 검색 

  • .
  • 이상 징후 및 사기 탐지

  • .
.

검색 증강 생성(RAG)

RAG는 AI 모델을 외부 지식 기반과 연결하여 보다 관련성 있고 정확한 결과를 제공할 수 있도록 지원하는 아키텍처입니다.  

Milvus는 효율적인 하이브리드 검색을 지원하기 때문에 RAG 구현에서 흔히 사용됩니다. Milvus는 의미론적 검색에 대한 문맥적 이해와 키워드 검색 및 메타데이터 필터링의 정밀도를 결합하여 RAG 소스에서 관련 문서, 코드 스니펫 및 기타 정보를 찾아내는 데 도움을 줄 수 있습니다.

Zilliz에서 개발한 LLM용 오픈 소스 의미론적 캐시인 CacheGPT도 Milvus가 RAG 구현을 지원하는 데 도움이 됩니다. CacheGPT는 생성형 AI 앱의 응답을 벡터 임베딩으로 저장합니다.

RAG 인터페이스와 같은 연결된 서비스는 모든 검색에 대해 생성형 AI에 API를 호출할 필요가 없습니다. 대신 먼저 캐시를 확인하고 답이 없는 경우에만 생성형 AI를 호출할 수 있습니다.

추천 시스템

Milvus는 과거 행동을 기반으로 콘텐츠, 제품 및 광고를 사용자에게 매칭하는 추천 시스템에서 인기가 있습니다. 

사용자 선호도는 벡터로 표현될 수 있으며, 유사성 검색을 통해 사용자 선호도에 가까운 제품, 광고 및 콘텐츠의 벡터 표현이 표면화될 수 있습니다.

미디어 검색

Milvus의 능력은 이미지 검색, 오디오 검색, 동영상 검색 및 기타 미디어 검색을 간소화하는 데 도움이 될 수 있습니다.

이상 징후 및 사기 탐지

Milvus는 제품 이미지의 벡터를 해당 제품의 적절한 형태를 나타내는 벡터와 비교하여 제품의 결함을 발견하는 데 사용할 수 있습니다. 벡터 간의 차이는 결함을 나타낼 수 있습니다.

Milvus는 다른 상황에서 이상 징후를 발견하는 데도 도움이 될 수 있습니다. 사이버 보안에서 승인된 네트워크 활동을 나타내는 벡터는 알려진 악성 활동을 나타내는 벡터와 비교할 수 있습니다. 마찬가지로, 금융에서는 거래를 나타내는 벡터를 분석하여 사기를 나타낼 수 있는 편차를 식별할 수 있습니다.

관련 솔루션
IBM® watsonx.ai

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai 살펴보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
인공 지능(AI) 컨설팅 및 서비스

IBM Consulting AI 서비스는 기업이 AI 활용 방식을 재구상하여 혁신을 달성하도록 지원합니다.

AI 서비스 살펴보기
다음 단계 안내

AI 개발 라이프사이클 전반에 걸친 기능에 원스톱으로 액세스하세요. 사용자 친화적인 인터페이스, 워크플로, 업계 표준 API 및 SDK에 대한 액세스를 통해 강력한 AI 솔루션을 제작할 수 있습니다.

watsonx.ai 살펴보기 라이브 데모 예약