Perkiraan waktu membaca: 9 minuti
Dalam beberapa minggu terakhir, telah terjadi peningkatan minat investor terhadap database vektor. Sejak awal tahun 2023 kami telah memperhatikan bahwa:
Mari kita lihat lebih detail apa itu database vektor.
Database vektor sangat bergantung pada penyisipan vektor, sejenis representasi data yang membawa informasi semantik yang penting bagi AI untuk mendapatkan pemahaman dan mempertahankan memori jangka panjang untuk digunakan saat menjalankan aktivitas kompleks.
Penyematan vektor seperti peta, tetapi alih-alih menunjukkan kepada kita di mana benda-benda di dunia, mereka menunjukkan di mana benda-benda berada dalam sesuatu yang disebut ruang vektor. Ruang vektor adalah semacam taman bermain besar di mana segala sesuatu memiliki tempatnya masing-masing. Bayangkan Anda memiliki sekelompok hewan: kucing, anjing, burung, dan ikan. Kita dapat membuat penyematan vektor untuk setiap gambar dengan memberikannya posisi khusus di taman bermain. Kucing mungkin berada di satu sudut, anjing di sisi lainnya. Burung bisa ada di langit dan ikan bisa ada di kolam. Tempat ini adalah ruang multidimensi. Setiap dimensi sesuai dengan aspek yang berbeda, misalnya ikan memiliki sirip, burung memiliki sayap, kucing dan anjing memiliki kaki. Aspek lain dari mereka mungkin ikan milik air, burung terutama ke langit, dan kucing dan anjing ke tanah. Setelah kita memiliki vektor-vektor ini, kita dapat menggunakan teknik matematika untuk mengelompokkannya berdasarkan kemiripannya. Berdasarkan informasi yang kami miliki,
Jadi, penyematan vektor seperti peta yang membantu kita menemukan kesamaan antar benda di ruang vektor. Sama seperti peta yang membantu kita menavigasi dunia, penyematan vektor membantu menavigasi taman bermain vektor.
Ide utamanya adalah bahwa penyematan yang secara semantik mirip satu sama lain memiliki jarak yang lebih kecil di antara keduanya. Untuk mengetahui seberapa mirip mereka, kita dapat menggunakan fungsi jarak vektor seperti jarak Euclidean, jarak kosinus, dll.
Perpustakaan vektor menyimpan penyematan vektor dalam indeks dalam memori, untuk melakukan pencarian kesamaan. Pustaka vektor memiliki karakteristik/batasan berikut:
Ada banyak pustaka pencarian vektor yang tersedia: FAISS dari Facebook, Annoy oleh Spotify dan PindaiNN oleh Google. FAISS menggunakan metode clustering, Annoy menggunakan tree dan ScanNN menggunakan kompresi vektor. Ada trade-off kinerja untuk masing-masing, yang dapat kita pilih berdasarkan aplikasi dan metrik kinerja kita.
Fitur utama yang membedakan database vektor dari perpustakaan vektor adalah kemampuan untuk mengarsipkan, memperbarui, dan menghapus data. Database vektor memiliki dukungan CRUD complete (buat, baca, perbarui, dan hapus) yang memecahkan batasan perpustakaan vektor.
Singkatnya, database vektor memberikan solusi unggul untuk menangani penyematan vektor dengan mengatasi keterbatasan indeks vektor mandiri seperti yang dibahas pada poin sebelumnya.
Tapi apa yang membuat database vektor lebih unggul dari database tradisional?
Basis data tradisional dirancang untuk menyimpan dan mengambil data terstruktur menggunakan model relasional, yang berarti basis data tersebut dioptimalkan untuk kueri berdasarkan kolom dan baris data. Meskipun dimungkinkan untuk menyimpan penyematan vektor dalam basis data tradisional, basis data ini tidak dioptimalkan untuk operasi vektor dan tidak dapat melakukan pencarian kesamaan atau operasi kompleks lainnya pada kumpulan data besar secara efisien.
Ini karena database tradisional menggunakan teknik pengindeksan berdasarkan tipe data sederhana, seperti string atau angka. Teknik pengindeksan ini tidak sesuai untuk data vektor, yang memiliki dimensi tinggi dan memerlukan teknik pengindeksan khusus seperti indeks terbalik atau pohon spasial.
Selain itu, database tradisional tidak dirancang untuk menangani sejumlah besar data tidak terstruktur atau semi-terstruktur yang sering dikaitkan dengan penyematan vektor. Misalnya, file gambar atau audio dapat berisi jutaan titik data, yang tidak dapat ditangani oleh database tradisional secara efisien.
Database vektor, di sisi lain, dirancang khusus untuk menyimpan dan mengambil data vektor dan dioptimalkan untuk pencarian kesamaan dan operasi kompleks lainnya pada kumpulan data besar. Mereka menggunakan teknik pengindeksan khusus dan algoritme yang dirancang untuk bekerja dengan data dimensi tinggi, membuatnya jauh lebih efisien daripada database tradisional untuk menyimpan dan mengambil penyematan vektor.
Sekarang setelah Anda membaca begitu banyak tentang database vektor, Anda mungkin bertanya-tanya, bagaimana cara kerjanya? Mari lihat.
Kita semua tahu bagaimana database relasional bekerja: mereka menyimpan string, angka, dan jenis data skalar lainnya dalam baris dan kolom. Di sisi lain, database vektor beroperasi pada vektor, sehingga cara pengoptimalan dan kuerinya sangat berbeda.
Dalam basis data tradisional, kami biasanya meminta baris dalam basis data di mana nilainya biasanya sama persis dengan permintaan kami. Dalam database vektor, kami menerapkan metrik kesamaan untuk menemukan vektor yang paling mirip dengan kueri kami.
Database vektor menggunakan kombinasi beberapa algoritma yang semuanya berpartisipasi dalam pencarian tetangga terdekat (ANN). Algoritme ini mengoptimalkan pencarian dengan hashing, kuantisasi, atau pencarian berbasis grafik.
Algoritma ini dirakit menjadi pipa yang menyediakan pengambilan cepat dan akurat dari tetangga vektor yang dikueri. Karena basis data vektor memberikan hasil perkiraan, pengorbanan utama yang kami pertimbangkan adalah antara akurasi dan kecepatan. Semakin tepat hasilnya, semakin lambat kueri. Namun, sistem yang baik dapat memberikan pencarian sangat cepat dengan akurasi yang hampir sempurna.
Database vektor adalah alat yang ampuh untuk pencarian kesamaan dan operasi kompleks lainnya pada kumpulan data besar, yang tidak dapat dilakukan secara efektif menggunakan database tradisional. Untuk membangun database vektor fungsional, embed sangat penting, karena mereka menangkap makna semantik dari data dan memungkinkan pencarian kemiripan yang akurat. Tidak seperti pustaka vektor, database vektor dirancang agar sesuai dengan kasus penggunaan kami, menjadikannya ideal untuk aplikasi yang kinerja dan skalabilitasnya sangat penting. Dengan munculnya pembelajaran mesin dan kecerdasan buatan, basis data vektor menjadi semakin penting untuk berbagai aplikasi termasuk sistem pemberi rekomendasi, pencarian gambar, kesamaan semantik, dan masih banyak lagi. Seiring bidang ini terus berkembang, kita dapat berharap untuk melihat aplikasi database vektor yang lebih inovatif di masa mendatang.
Ercole Palmeri
Operasi oftalmoplasti menggunakan penampil komersial Apple Vision Pro dilakukan di Poliklinik Catania…
Mengembangkan keterampilan motorik halus melalui mewarnai mempersiapkan anak untuk keterampilan yang lebih kompleks seperti menulis. Mewarnai…
Sektor angkatan laut adalah kekuatan ekonomi global sejati, yang telah menuju pasar 150 miliar...
Senin lalu, Financial Times mengumumkan kesepakatan dengan OpenAI. FT melisensikan jurnalisme kelas dunianya…