Milvus 2.3 베타의 새로운 기능 - GPU로 10배 더 빠르게
Milvus 커뮤니티를 대표하여 Milvus 2.3 Beta 릴리스를 발표하게 되어 자랑스럽게 생각합니다. 이번 Beta 릴리스에는 AI 기반 애플리케이션의 성능을 향상시킬 것이라고 확신하는 새로운 기능과 개선 사항이 포함되어 있습니다. 이러한 기능 중 일부를 테스트하여 일반 릴리스로 빠르게 나아갈 수 있도록 도와주셔서 감사합니다! 이 블로그 게시물에서는 더 주요한 기능 중 일부를 강조해 소개합니다. 전체 변경 사항 목록은 릴리스 노트를 확인하세요.
- 📦 PyPI: https://pypi.org/project/milvus/
- 📚 Docs: https://milvus.io/docs
- 🛠️ Release Notes: https://github.com/milvus-io/milvus/releases
- 🐳 Docker Image: docker pull milvusdb/milvus
- 🚀 Release: https://github.com/milvus-io/milvus/releases/tag/v2.3.0-beta
Milvus 2.3 Beta의 기능 중 하나는 GPU 가속 및 RAFT 기반 통합 지원으로, Milvus가 최신 그래픽 처리 장치의 성능을 최대한 활용할 수 있게 해줍니다. GPU 가속 Milvus는 CPU 전용 버전보다 10배 더 빠른 성능을 제공합니다. 이를 통해 AI 및 머신러닝 기반 애플리케이션의 속도와 응답성을 크게 향상시켜, 더 빠르고 정확한 데이터 처리를 가능하게 합니다.
Milvus 2.3 Beta의 또 다른 중요한 기능은 범위 검색 지원으로, 사용자가 지정된 범위 내에서 데이터를 검색할 수 있도록 합니다. 이는 더 정밀하고 정확한 검색을 가능하게 하므로, 복잡한 데이터 쿼리가 필요한 애플리케이션에 특히 유용할 수 있습니다. 또한 Milvus 2.3 Beta는 mmap 및 증분 백업도 지원하며, 이 모든 기능은 AI 애플리케이션의 성능과 효율성을 더욱 향상시키는 데 도움이 될 수 있습니다. 데이터를 더 효율적으로 관리하고 저장할 수 있게 함으로써, 이러한 기능은 AI 시스템이 지속적으로 최고 수준에서 작동하도록 보장할 수 있습니다.
전반적으로 이번 릴리스의 개선 사항은 유사도 검색 기능을 갖춘 애플리케이션을 구축하는 모든 개발자에게 필수적입니다.
Nvidia GPU 지원 이 새로운 기능은 이기종 컴퓨팅을 지원하는 능력을 제공하여, 특화된 워크로드를 크게 가속할 수 있습니다. 이번 새로운 추가 기능을 통해 사용자는 더 빠르고 효율적인 벡터 데이터 검색을 기대할 수 있으며, 궁극적으로 생산성과 성능을 향상시킬 수 있습니다. 우리는 95% 재현율에서 네 가지 데이터셋에 대해 RAFT-IVF-Flat (GPU)을 IVF-Flat (CPU) 및 HNSW (CPU)와 비교했습니다. GPU 인덱스는 IVF-Flat 및 HNSW보다 평균적으로 각각 32배 및 8배 더 높은 처리량을 달성했습니다. 평가 결과는 표 1에 나와 있습니다. (이 벤치마크는 8코어 CPU, 32 GB RAM, Nvidia A100 GPU가 탑재된 호스트에서 Knowhere를 대상으로 실행되었습니다)
표 1. 95% 재현율에서 네 가지 데이터셋에 대한 IVF-Flat, HNSW, RAFT-IVF-Flat의 QPS
| SIFT | GIST | GLOVE | DEEP | |
|---|---|---|---|---|
| IVF-Flat (CPU) | 3097 | 142 | 791 | 723 |
| HNSW (CPU) | 14,537 | 791 | 1,516 | 5,761 |
| RAFT-IVF-Flat (GPU) | 121,568 | 5,737 | 20,163 | 16,557 |
RAFT 코드에 귀중한 기여를 해주신 Nvidia의 @wphicks와 @cjnolet에게 특별히 감사드립니다.
범위 검색 범위 검색은 k-NN 쿼리와는 다른 검색 방법입니다. k-NN 쿼리는 고정된 수의 최근접 이웃을 반환합니다. 범위 검색의 경우, 쿼리 q와 거리 임계값 R이 주어지면 q로부터 거리 R 이내에 있는 모든 엔터티를 반환합니다. 범위 검색은 지정된 범위 내의 모든 관련 결과를 찾는 데 일반적으로 사용됩니다. 예를 들어, 유사한 후보를 놓치지 않고 데이터 중복 제거나 저작권 침해 감지에 도움이 될 수 있습니다(이에 국한되지는 않음).
Upsert Upsert는 컬렉션에 엔티티가 이미 존재하면 해당 엔티티의 값을 업데이트하고, 존재하지 않으면 새 엔티티를 삽입하는 작업입니다. Milvus는 컬렉션에 데이터를 추가할 수 있는 높은 유연성을 제공합니다. 현재 총 세 가지 옵션이 있습니다:
- 오프라인 사례에서 높은 처리량을 위한 대량 삽입.
- 온라인 스트리밍 사례에서 낮은 지연 시간을 위한 삽입.
- 새 엔티티를 업데이트해야 할지 삽입해야 할지 확실하지 않은 경우를 위한 Upsert.
Change Data Capture (CDC) Change Data Capture (CDC)는 벡터 데이터베이스의 데이터 변경 사항을 실시간으로 식별하고 캡처하여 해당 변경 사항을 다운스트림 시스템에 전달하는 프로세스입니다. Milvus는 이제 이 메커니즘을 기반으로 무중단 백업 및 동기화를 제공합니다. 개발자는 또한 CDC를 사용하여 데이터 분석이나 맞춤형 감사와 같은 다운스트림 워크로드에 지속적인 변경 스트림을 캡처하고 제공할 수 있습니다.
Memory-mapped (mmap) file I/O 대규모 데이터 세트에서 메모리가 부족하고 쿼리 성능이 중요하지 않은 시나리오에서, Milvus는 mmap을 사용하여 시스템이 파일의 일부를 메모리에 있는 것처럼 처리할 수 있게 하여, 모든 데이터가 시스템 페이지 캐시에 있는 경우 메모리 사용량을 줄이고 성능을 향상시킵니다.
요약
위에 나열된 모든 기능 외에도, Milvus 2.3 Beta에는 여러 버그 수정 및 개선 사항이 포함되어 있습니다. 자세히 알아보려면:
계속 읽기

A Developer's Guide to Exploring Milvus 2.6 Features on Zilliz Cloud
Milvus 2.6 marks a shift from “vector search + glue code” to a more advanced retrieval engine, and it is now Generally Available (GA) on Zilliz Cloud (a managed Milvus service).

Democratizing AI: Making Vector Search Powerful and Affordable
Zilliz democratizes AI vector search with Milvus 2.6 and Zilliz Cloud for powerful, affordable scalability, cutting costs in infrastructure, operations, and development.

Why AI Databases Don't Need SQL
Whether you like it or not, here's the truth: SQL is destined for decline in the era of AI.



