🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI

HomeBlogsBerkat Milvus, Siapa pun Dapat Membangun Basis Data Vektor untuk 1+ Miliar Gambar

Berkat Milvus, Siapa pun Dapat Membangun Basis Data Vektor untuk 1+ Miliar Gambar

  • Scenarios
November 11, 2020
milvus

Meningkatnya daya komputasi dan menurunnya biaya komputasi telah membuat analitik skala mesin dan kecerdasan buatan (AI) menjadi lebih mudah diakses daripada sebelumnya. Dalam praktiknya, ini berarti hanya dengan satu server dan 10 baris kode, dimungkinkan untuk membangun mesin pencari gambar terbalik yang mampu melakukan kueri terhadap 1+ miliar gambar secara real time. Artikel ini menjelaskan bagaimana Milvus, sebuah platform manajemen data vektor sumber terbuka, dapat digunakan untuk membuat sistem yang kuat untuk pemrosesan dan analisis data yang tidak terstruktur, serta teknologi yang mendasari yang membuat semua ini menjadi mungkin.

Langsung ke:

Bagaimana AI memungkinkan analisis data yang tidak terstruktur?

Statistik yang sering dikutip adalah 80% data di dunia tidak terstruktur, tetapi hanya 1% yang dianalisis. Data tidak terstruktur, termasuk gambar, video, audio, dan bahasa alami, tidak mengikuti model atau cara pengorganisasian yang telah ditentukan sebelumnya. Hal ini membuat pemrosesan dan analisis kumpulan data tidak terstruktur yang besar menjadi sulit. Seiring dengan berkembangnya ponsel pintar dan perangkat lain yang terhubung mendorong produksi data tak terstruktur ke tingkat yang lebih tinggi, bisnis semakin menyadari betapa pentingnya wawasan yang diperoleh dari informasi yang tidak jelas ini.

Selama beberapa dekade, para ilmuwan komputer telah mengembangkan algoritme pengindeksan yang dirancang untuk mengatur, mencari, dan menganalisis jenis data tertentu. Untuk data terstruktur, ada bitmap, tabel hash, dan B-tree, yang umumnya digunakan dalam database relasional yang dikembangkan oleh raksasa teknologi seperti Oracle dan IBM. Untuk data semi-terstruktur, algoritme pengindeksan terbalik merupakan algoritme standar, dan dapat ditemukan di mesin pencari populer seperti Solr dan ElasticSearch. Namun, algoritme pengindeksan data tak terstruktur bergantung pada kecerdasan buatan intensif komputasi yang baru dapat diakses secara luas dalam dekade terakhir.

Jaringan syaraf mengubah data tidak terstruktur menjadi vektor fitur yang ramah komputer

Dengan menggunakan jaringan saraf (misalnya CNN, RNN, dan BERT), data yang tidak terstruktur dapat dikonversi menjadi vektor fitur (alias, embeddings), yang merupakan serangkaian bilangan bulat atau float. Format data numerik ini jauh lebih mudah diproses dan dianalisis oleh mesin. Aplikasi yang mencakup pencarian gambar terbalik, pencarian video, pemrosesan bahasa alami (NLP), dan banyak lagi dapat dibuat dengan menyematkan data yang tidak terstruktur ke dalam vektor fitur, kemudian menghitung kesamaan antara vektor menggunakan ukuran seperti jarak Euclidean atau kemiripan kosinus.

Blog_Thanks to AI, Anyone Can Build a Search Engine for 1+ Billion Images_2.jpeg Blog_Berkat AI, Siapapun Bisa Membangun Mesin Pencari untuk 1+ Miliar Gambar_2.jpeg

Menghitung kemiripan vektor adalah proses yang relatif sederhana yang bergantung pada algoritme yang sudah ada. Namun, dataset yang tidak terstruktur, bahkan setelah diubah menjadi vektor fitur, biasanya memiliki ukuran yang beberapa kali lipat lebih besar daripada dataset terstruktur dan semi-terstruktur. Pencarian kemiripan vektor menjadi rumit karena besarnya ruang penyimpanan dan daya komputasi yang dibutuhkan untuk melakukan kueri data tidak terstruktur berskala besar secara efisien dan akurat. Namun, jika beberapa tingkat akurasi dapat dikorbankan, terdapat berbagai algoritme pencarian nearest neighbor (ANN) yang secara drastis dapat meningkatkan efisiensi kueri untuk set data besar dengan dimensi tinggi. Algoritme ANN ini mengurangi kebutuhan penyimpanan dan beban komputasi dengan mengelompokkan vektor-vektor yang serupa, sehingga menghasilkan pencarian vektor yang lebih cepat. Algoritme yang umum digunakan termasuk ANN berbasis pohon, berbasis grafik, dan gabungan.

Apa yang dimaksud dengan platform manajemen data vektor?

Platform manajemen data vektor adalah aplikasi yang dibuat khusus untuk menyimpan, memproses, dan menganalisis kumpulan data vektor yang sangat besar. Alat-alat ini dirancang untuk berinteraksi dengan mudah dengan data dalam jumlah besar, dan menyertakan fungsionalitas yang menyederhanakan manajemen data vektor. Sayangnya, hanya sedikit sistem yang fleksibel dan cukup kuat untuk menyelesaikan tantangan data besar modern. Milvus, platform manajemen data vektor yang diprakarsai oleh Zilliz dan dirilis di bawah lisensi sumber terbuka pada tahun 2019, mencoba mengisi kekosongan ini.

Apa saja keterbatasan pendekatan yang ada untuk manajemen data vektor?

Cara umum untuk membangun sistem analisis data yang tidak terstruktur adalah dengan memasangkan algoritme seperti ANN dengan pustaka implementasi sumber terbuka seperti Facebook AI Similarity Search (Faiss). Karena beberapa keterbatasan, kombinasi algoritma dan pustaka ini tidak setara dengan sistem manajemen data vektor yang lengkap seperti Milvus. Teknologi yang ada saat ini yang digunakan untuk mengelola data vektor menghadapi masalah-masalah berikut:

  1. Fleksibilitas: Secara default, sistem yang ada biasanya menyimpan semua data di memori utama, yang berarti mereka tidak dapat dijalankan di beberapa mesin dan kurang cocok untuk menangani kumpulan data yang sangat besar.
  2. Penanganan data dinamis: Data sering diasumsikan statis setelah dimasukkan ke dalam sistem yang ada, sehingga menyulitkan pemrosesan untuk data dinamis dan membuat pencarian yang mendekati waktu nyata menjadi tidak mungkin.
  3. Pemrosesan kueri tingkat lanjut: Sebagian besar alat tidak mendukung pemrosesan kueri tingkat lanjut (misalnya pemfilteran atribut dan kueri multi-vektor), yang sangat penting untuk membangun mesin pencari kemiripan yang berguna.
  4. Pengoptimalan komputasi heterogen: Hanya sedikit platform yang menawarkan pengoptimalan untuk arsitektur sistem heterogen pada CPU dan GPU (tidak termasuk Faiss), yang menyebabkan hilangnya efisiensi.

Milvus berusaha mengatasi semua keterbatasan ini. Sistem ini meningkatkan fleksibilitas dengan menawarkan dukungan untuk berbagai antarmuka aplikasi (termasuk SDK dalam Python, Java, Go, C++, dan RESTful APIs), berbagai jenis indeks vektor (misalnya, indeks berbasis kuantisasi dan indeks berbasis grafik), dan pemrosesan kueri tingkat lanjut. Milvus menangani data vektor dinamis menggunakan log-structured merge-tree (LSM tree), menjaga penyisipan dan penghapusan data tetap efisien dan pencarian tetap berjalan secara real time. Milvus juga menyediakan pengoptimalan untuk arsitektur komputasi heterogen pada CPU dan GPU modern, sehingga pengembang dapat menyesuaikan sistem untuk skenario, set data, dan lingkungan aplikasi tertentu.

Blog_Thanks to AI, Anyone Can Build a Search Engine for 1+ Billion Images_3.png Blog_Berkat AI, Siapapun Bisa Membangun Mesin Pencari untuk 1+ Miliar Gambar_3.png

Dengan menggunakan berbagai teknik pengindeksan ANN, Milvus mampu mencapai tingkat recall top-5 sebesar 99%. Sistem ini juga mampu memuat 1+ juta entri data per menit. Hal ini menghasilkan waktu kueri kurang dari satu detik ketika menjalankan pencarian gambar terbalik pada 1 miliar gambar. Sebagai aplikasi cloud native yang dapat beroperasi sebagai sistem terdistribusi yang digunakan di berbagai node, Milvus dapat dengan mudah dan andal mencapai kinerja yang sama pada dataset yang berisi 10, atau bahkan 100 miliar gambar. Selain itu, sistem ini tidak terbatas pada data gambar, dengan aplikasi yang mencakup visi komputer, AI percakapan, sistem rekomendasi, penemuan obat baru, dan banyak lagi.

Seperti yang diuraikan di atas, platform manajemen data vektor yang mumpuni seperti Milvus yang dipasangkan dengan algoritme perkiraan tetangga terdekat memungkinkan pencarian kemiripan pada volume data tak terstruktur yang sangat besar. Teknologi ini dapat digunakan untuk mengembangkan aplikasi yang menjangkau beragam bidang. Di bawah ini kami menjelaskan secara singkat beberapa kasus penggunaan umum untuk alat manajemen data vektor dan pencarian kemiripan vektor.

Mesin pencari utama seperti Google sudah memberikan opsi kepada pengguna untuk mencari berdasarkan gambar. Selain itu, platform e-commerce telah menyadari manfaat yang ditawarkan fungsi ini kepada pembeli online, dengan Amazon yang memasukkan pencarian gambar ke dalam aplikasi ponsel pintarnya.

Blog_Thanks to AI, Anyone Can Build a Search Engine for 1+ Billion Images_4.png Blog_Berkat AI, Siapapun Dapat Membangun Mesin Pencari untuk 1+ Miliar Gambar_4.png

Perangkat lunak sumber terbuka seperti Milvus memungkinkan bisnis apa pun untuk membuat sistem pencarian gambar terbalik mereka sendiri, menurunkan hambatan untuk masuk ke fitur yang semakin banyak diminati ini. Pengembang dapat menggunakan model AI yang telah dilatih sebelumnya untuk mengubah kumpulan data gambar mereka sendiri menjadi vektor, dan kemudian memanfaatkan Milvus untuk memungkinkan pencarian produk serupa berdasarkan gambar.

Sistem rekomendasi video

Platform video online besar seperti YouTube, yang menerima 500 jam konten buatan pengguna setiap menitnya, memiliki tuntutan unik dalam hal rekomendasi konten. Untuk membuat rekomendasi yang relevan dan real-time yang mempertimbangkan unggahan baru, sistem rekomendasi video harus menawarkan waktu kueri secepat kilat dan penanganan data dinamis yang efisien. Dengan mengubah frame kunci menjadi vektor dan kemudian memasukkan hasilnya ke dalam Milvus, miliaran video dapat dicari dan direkomendasikan dalam waktu yang hampir seketika.

Pemrosesan bahasa alami (NLP)

Pemrosesan bahasa alami adalah cabang dari kecerdasan buatan yang bertujuan untuk membangun sistem yang dapat menginterpretasikan bahasa manusia. Setelah mengubah data teks menjadi vektor, Milvus dapat digunakan untuk mengidentifikasi dan menghapus teks duplikat dengan cepat, memperkuat pencarian semantik, atau bahkan membangun asisten penulisan yang cerdas. Platform manajemen data vektor yang efektif membantu memaksimalkan kegunaan sistem NLP apa pun.

Pelajari lebih lanjut tentang Milvus

Jika Anda ingin mempelajari lebih lanjut tentang Milvus, kunjungi situs web kami. Selain itu, bootcamp kami menawarkan beberapa tutorial, dengan instruksi untuk menyiapkan Milvus, pengujian benchmark, dan membangun berbagai aplikasi yang berbeda. Jika Anda tertarik dengan manajemen data vektor, kecerdasan buatan, dan tantangan data besar, silakan bergabung dengan komunitas sumber terbuka kami di GitHub dan mengobrol dengan kami di Slack.

Ingin informasi lebih lanjut tentang membangun sistem pencarian gambar? Lihat studi kasus ini:

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    Terus Baca