Apa itu Milvus?

Tampilan jarak dekat layar sentuh jari

Penyusun

Matthew Kosinski

Staff Editor

IBM Think

Apa itu Milvus?

Milvus adalah basis data vektor sumber terbuka yang dikembangkan oleh Zilliz. Milvus dikenal karena menyediakan penyimpanan yang dapat diskalakan untuk penyematan vektor dalam jumlah besar dan mendukung pencarian kesamaan kinerja tinggi pada data vektor.

Zilliz pertama kali mengembangkan Milvus pada tahun 2017 dan menyumbangkan proyek ke Linux Foundation pada tahun 2020. Milvus sekarang tersedia sebagai perangkat lunak sumber terbuka di bawah Lisensi Apache 2.0 dan sebagai layanan cloud yang dikelola sepenuhnya dari Zilliz

.

Apa itu basis data vektor, dan mengapa itu penting?

Basis data vektor menyimpan dan mengelola kumpulan data dalam bentuk vektor. Basis data vektor dapat membantu organisasi mengelola data tak terstruktur, dan sangat penting bagi upaya kecerdasan buatan (AI) dan machine learning (ML) tingkat lanjut.

Vektor adalah susunan angka yang merepresentasikan konsep dan objek yang kompleks, seperti kata dan gambar.  

Data yang tidak terstruktur—seperti teks, video, dan audio—merupakan bagian penting dari data perusahaan saat ini, tetapi basis data tradisional sering kali tidak cocok untuk mengatur dan mengelola data ini.  

Organisasi dapat memasukkan data ini ke model penyematan pembelajaran mendalam khusus, yang menghasilkan representasi vektor yang disebut "penyematan." Sebagai contoh, kata "kucing" dapat diwakili oleh vektor [0.2, -0.4, 0.7], sedangkan kata "anjing" dapat diwakili oleh [0.6, 0.1, 0.5].

Mentransformasi data menjadi vektor memungkinkan organisasi untuk menyimpan berbagai jenis data yang tidak terstruktur dalam format bersama dalam satu basis data vektor.  

Vektor juga membantu organisasi membuka nilai data ini untuk AI dan ML. Vektor menangkap hubungan semantik antar elemen, memungkinkan pemrosesan yang efektif oleh model bahasa besar (LLM) dan alat bantu AI generatif (gen AI). Sebagian besar aplikasi AI dan ML yang paling canggih saat ini mengandalkan vektor untuk pelatihan dan pembuatan konten.

Seperti basis data vektor lainnya, Milvus memberi organisasi cara untuk mengelola dan mengatur vektor penyisipan. Penyimpanan basis data vektor Milvus yang dapat diskalakan dan kemampuan pencarian vektor yang efisien telah menjadikannya pilihan populer untuk generasi dengan dukungan pengambilan data (RAG), sistem rekomendasi dan aplikasi AI lainnya.  

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Arsitektur Milvus

Milvus adalah basis data vektor cloud-native dengan arsitektur berbasis layanan mikro berlapis-lapis. Milvus memisahkan sumber daya penyimpanan dan komputasi, yang memungkinkan organisasi untuk menskalakan setiap lapisan secara independen dan horizontal.

Milvus kompatibel dengan beberapa model penyematan yang berbeda. Organisasi dapat menghubungkan model mereka ke Milvus, yang menyerap penyematan bersama dengan metadata dan informasi terkait lainnya. Milvus mendukung pengunggahan penyematan secara streaming dan batch.

Milvus memiliki 4 lapisan:

  • Lapisan akses: Ini adalah lapisan yang menghadap ke luar, yang menerima input dari pengguna dan layanan serta mengembalikan hasil.  

  • Layanan koordinator: Zilliz menyebut lapisan ini sebagai "otak" sistem karena lapisan ini melakukan orkestrasi penyeimbangan beban, manajemen data, eksekusi kueri, dan tugas-tugas penting lainnya. 

  • Node pekerja: Lapisan ini mengeksekusi kueri, memperbarui data, dan membangun indeks. 

  • Object storage layer: Lapisan ini mencakup penyimpanan metadata, perantara log yang mencatat perubahan data waktu nyata, dan object storage yang menampung cuplikan log, berkas indeks, dan hasil.

Jenis penerapan Milvus

  • Milvus Lite: Sebuah pustaka Python yang memungkinkan pengguna untuk menjalankan Milvus di lingkungan lokal. Milvus Lite saat ini mendukung Ubuntu dan MacOS, tetapi tidak untuk Microsoft Windows.

  • Milvus Standalone: Basis data Milvus lengkap yang dikemas dalam satu gambar Docker dan berjalan pada satu mesin. 

  • Milvus Cluster: Basis data vektor terdistribusi yang menyebarkan layanan ke seluruh kelompok node dalam klaster Kubernetes.  

  • Zilliz Cloud: Versi Milvus yang dikelola sepenuhnya.
Mixture of Experts | 12 Desember, episode 85

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Karakteristik dan kemampuan utama Milvus

Kemampuan pencarian canggih 

Milvus mendukung pencarian kesamaan vektor dengan kinerja tinggi, jenis pencarian vektor yang mengembalikan hasil yang secara semantik mirip dengan kueri. Manfaat pencarian kesamaan adalah tidak terbatas pada kecocokan persis, seperti pencarian kata kunci tradisional.  

Misalnya, pencarian kata kunci untuk "restoran pizza terbaik" hanya akan mengembalikan hasil yang mengandung kata "terbaik", "pizza", dan "restoran". Pencarian kemiripan untuk kata kunci yang sama akan menemukan hasil apa pun untuk tempat pizza yang sangat direkomendasikan, meskipun kata-kata yang tepat "restoran pizza terbaik" tidak digunakan dalam konten.

Milvus mendukung beberapa jenis pencarian kemiripan, termasuk top-k perkiraan tetangga terdekat (ANN) dan range ANN.  

Milvus juga mendukung pencarian hybrid, yang menggabungkan pencarian vektor semantik dengan kriteria lain, seperti pemfilteran metadata atau pencarian kata kunci.

Pencarian hybrid dapat membuat pencarian lebih efisien dan lebih relevan. Pertimbangkan pencarian yang menggabungkan pencarian kata kunci dan vektor. Pencarian dapat terlebih dahulu menggunakan kata kunci tertentu untuk memfilter hasil berdasarkan kecocokan persis, lalu menggunakan pencarian kesamaan vektor untuk mencari hasil yang difilter tersebut guna mendapatkan konten yang paling relevan secara semantik.  

Pengindeksan 

Milvus mendukung beberapa jenis pengindeksan, termasuk hierarchical navigable small world (HNSW), inverted file (IVF), dan indeks berbasis GPU.

Mengindeks vektor dapat membantu mempercepat pencarian. Misalnya, HNSW mengelompokkan vektor yang serupa selama proses konstruksi indeks, sehingga lebih mudah menemukan hasil yang relevan dengan lebih cepat.

Skalabilitas 

Lapisan-lapisan Milvus dapat menskalakan secara independen satu sama lain, yang dapat memberikan organisasi cara yang hemat biaya dan sumber daya untuk menangani data vektor dalam jumlah besar dan pencarian yang intensif.

Integrasi dan kompatibilitas 

Milvus menawarkan banyak kit pengembangan perangkat lunak (SDK) untuk mendukung pengembangan dalam berbagai bahasa, termasuk Python (pymilvus), Java, dan Go.

Milvus juga dapat berintegrasi dengan alat analitik seperti Apache Spark, kerangka kerja seperti LangChain dan model AI gen seperti IBM watsonx, Llama dari Meta, dan model GPT OpenAI. 

Sumber terbuka

Komunitas sumber terbuka yang besar berkontribusi perbaikan bug, pembaruan, dan peningkatan lainnya ke repo GitHub Milvus.

Milvus vs. basis data vektor lainnya

Milvus vs. Pinecone

Baik Pinecone dan Milvus menawarkan pencarian latensi rendah dan penyimpanan yang dapat diskalakan, tetapi Pinecone adalah basis data vektor berpemilik dan hanya tersedia sebagai layanan terkelola.

Milvus vs. Weaviate

Seperti Milvus, Weaviate adalah sumber terbuka dan mendukung pencarian hybrid. Satu perbedaan utama adalah Milvus menawarkan lebih banyak jenis pengindeksan daripada Weaviate.

Milvus vs. Qdrant

Basis data vektor sumber terbuka lainnya, Qdrant dikenal karena kemampuan penyaringan metadata yang kuat. Sementara Qdrant sangat cocok untuk penggunaan skala sedang, Milvus umumnya dapat menangani volume data vektor yang lebih tinggi.

Milvus vs. Chroma

Chroma berfokus pada kemudahan penggunaan dan penerapan lokal yang cepat. Chroma tidak memiliki arsitektur terdistribusi, membuatnya kurang dapat diskalakan. Sementara Chroma umumnya digunakan untuk prototyping dan pengujian, Milvus dapat mendukung berbagai contoh penggunaan yang lebih luas

Contoh penggunaan Milvus yang umum

Organisasi menggunakan Milvus untuk mendukung berbagai aplikasi AI, termasuk:

  • Generasi dengan dukungan pengambilan data (RAG)

  • Sistem rekomendasi

  • Pencarian media 

  • Deteksi anomali dan deteksi penipuan

Generasi dengan dukungan pengambilan data (RAG)

RAG adalah arsitektur yang menghubungkan model AI ke basis pengetahuan eksternal untuk membantu memberikan hasil yang lebih relevan dan akurat.  

Milvus umum digunakan dalam implementasi RAG karena dukungannya untuk pencarian hybrid yang efisien. Dengan menggabungkan pemahaman kontekstual dari pencarian semantik dengan ketepatan pencarian kata kunci dan penyaringan metadata, Milvus dapat membantu memunculkan dokumen yang relevan, cuplikan kode, dan informasi lain dari sumber RAG.

CacheGPT, cache semantik sumber terbuka untuk LLM yang dikembangkan oleh Zilliz, juga membantu Milvus mendukung implementasi RAG. CacheGPT menyimpan respons dari aplikasi AI generatif sebagai penyematan vektor

Layanan yang terhubung—seperti antarmuka RAG—tidak perlu melakukan panggilan API ke AI generatif untuk setiap pencarian. Sebaliknya, mereka dapat memeriksa cache terlebih dahulu dan memanggil AI generatif hanya jika jawabannya tidak ada.

Sistem rekomendasi

Milvus populer dalam sistem rekomendasi yang mencocokkan konten, produk, dan iklan kepada pengguna berdasarkan perilaku masa lalu. 

Preferensi pengguna dapat direpresentasikan sebagai vektor, dan pencarian kesamaan dapat memunculkan representasi vektor produk, iklan, dan konten yang mendekati preferensi pengguna.

Pencarian media

Kemampuan pencarian kemiripan Milvus dapat membantu merampingkan pencarian gambar, pencarian audio, pencarian video, dan pencarian media lainnya.

Deteksi anomali dan deteksi penipuan

Milvus dapat digunakan untuk membantu menemukan cacat pada produk dengan membandingkan vektor gambar produk dengan vektor yang mewakili bentuk sebenarnya dari produk tersebut. Perbedaan antara vektor dapat mengindikasikan adanya cacat.

Milvus juga dapat membantu menemukan anomali dalam konteks lain. Dalam keamanan siber, vektor yang mewakili aktivitas jaringan yang sah dapat dibandingkan dengan vektor yang mewakili aktivitas berbahaya yang diketahui. Demikian juga dalam bidang keuangan, vektor yang mewakili transaksi dapat dianalisis untuk mengidentifikasi penyimpangan yang mungkin mengindikasikan penipuan.

Solusi terkait
IBM® watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Jelajahi watsonx.ai
Solusi kecerdasan buatan (AI)

Manfaatkan AI di bisnis Anda dengan perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan kecerdasan buatan (AI)

Layanan IBM Consulting AI membantu merancang ulang cara kerja bisnis dengan AI untuk transformasi.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses ke berbagai kemampuan dalam satu alat untuk seluruh siklus pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung