Beranda
Topics
Basis data vektor
Diperbarui: 29 Juli 2024
Kontributor: Jim Holdsworth, Matthew Kosinski
Database vektor semakin populer karena memberikan kecepatan dan kinerja yang dibutuhkan untuk mendorong contoh penggunaan dan penerapan kecerdasan buatan generatif (AI). Menurut Gartner , pada tahun 2026, lebih dari 30% perusahaan akan mengadopsi database vektor untuk membangun model dasar mereka dengan data bisnis yang relevan.1
Tidak seperti database relasional tradisional dengan baris dan kolom, titik data dalam database vektor diwakili oleh vektor dengan jumlah dimensi tetap. Karena menggunakan penyematan vektor berdimensi tinggi, database vektor lebih mampu menangani kumpulan data yang tidak terstruktur.
Sifat data telah mengalami transformasi mendalam. Data tidak lagi terbatas pada informasi terstruktur yang mudah disimpan dalam database tradisional. Data tidak terstruktur—termasuk postingan media sosial, gambar, video, klip audio, dan lainnya — tumbuh 30% hingga 60% dari tahun ke tahun.2
Database relasional unggul dalam mengelola kumpulan data terstruktur dan semi terstruktur dalam format tertentu. Memuat sumber data tidak terstruktur ke dalam database relasional tradisional untuk menyimpan, mengelola, dan menyiapkan data untuk kecerdasan buatan (AI) adalah proses padat karya, terutama dengan contoh penggunaan generatif baru seperti pencarian kesamaan.
Pencarian tradisional biasanya mewakili data dengan menggunakan token atau fitur diskrit, seperti kata kunci, tag, atau metadata. Pencarian tradisional bergantung pada kecocokan yang tepat untuk mengambil hasil yang relevan. Misalnya, pencarian untuk 'smartphone' akan menampilkan hasil yang berisi kata 'smartphone'.
Berlawanan dengan ini, pencarian vektor merepresentasikan data sebagai vektor padat, yang merupakan vektor dengan sebagian besar atau semua elemennya bukan nol. Vektor direpresentasikan dalam ruang vektor berkelanjutan, yaitu ruang matematis di mana data direpresentasikan sebagai vektor.
Representasi vektor memungkinkan pencarian kesamaan. Misalnya, pencarian vektor untuk 'smartphone' mungkin juga mengembalikan hasil untuk 'ponsel' dan 'perangkat seluler'.
Setiap dimensi vektor padat sesuai dengan fitur laten atau aspek data. Fitur laten adalah karakteristik atau atribut yang mendasari yang tidak diamati secara langsung, tetapi disimpulkan dari data melalui model atau algoritme matematika.
Fitur laten menangkap pola dan hubungan tersembunyi dalam data, memungkinkan representasi item yang lebih bermakna dan akurat sebagai vektor dalam ruang dimensi tinggi.
Gunakan kerangka kerja pemilihan model ini untuk memilih model yang paling tepat sambil menyeimbangkan kebutuhan kinerja Anda dengan biaya, risiko, dan kebutuhan penerapan.
Vektor adalah subset dari tensor, yang dalam machine learning (ML) adalah istilah umum untuk sekelompok angka—atau pengelompokan kelompok angka—dalam ruang n-dimensi. Tensor berfungsi sebagai perangkat pembukuan matematika untuk data. Bekerja dari elemen terkecil:
Angka vektor dapat mewakili objek kompleks seperti kata-kata, gambar, video dan audio yang dihasilkan oleh model ML. Data vektor berdimensi tinggi ini, yang berisi banyak fitur, sangat penting untuk machine learning, pemrosesan bahasa alami (NLP), dan tugas AI lainnya. Beberapa contoh penggunaan data vektor meliputi:
Penyematan vektor adalah representasi numerik dari titik data yang mengubah berbagai jenis data—termasuk data nonmatematis seperti kata, audio, atau gambar—menjadi array angka yang dapat diproses oleh model ML.
Model kecerdasan buatan (AI), dari algoritme regresi linier sederhana hingga jaringan neural rumit yang digunakan dalam pembelajaran mendalam, beroperasi melalui logika matematika.
Setiap data yang digunakan model AI, termasuk data tidak terstruktur, perlu dicatat secara numerik. Penyematan vektor adalah cara untuk mengubah titik data yang tidak terstruktur menjadi larik angka yang mengekspresikan makna asli data tersebut.
Berikut adalah contoh penyematan kata yang disederhanakan untuk korpus yang sangat kecil (2 kata), dengan setiap kata direpresentasikan sebagai vektor 3 dimensi:
Dalam contoh ini, setiap kata ('kucing') dikaitkan dengan vektor unik ([0.2, -0.4, 0.7]). Nilai-nilai dalam vektor mewakili posisi kata dalam ruang vektor 3 dimensi kontinu.
Kata-kata dengan arti atau konteks yang sama diharapkan memiliki representasi vektor yang serupa. Misalnya, vektor untuk "kucing" dan "anjing" berdekatan, mencerminkan hubungan semantik mereka.
Model penyematan dilatih untuk mengubah titik data menjadi vektor. Database vektor menyimpan dan mengindeks hasil dari model embedding ini. Di dalam basis data, vektor dapat dikelompokkan atau diidentifikasi sebagai hal yang berlawanan berdasarkan makna semantik atau fitur di hampir semua jenis data.
Penyematan vektor adalah tulang punggung rekomendasi, chatbots, dan aplikasi generatif seperti ChatGPT.
Misalnya saja kata 'mobil' dan 'kendaraan'. Mereka memiliki arti yang mirip tetapi dieja secara berbeda. Agar aplikasi AI dapat mengaktifkan penelusuran semantik yang efektif, representasi vektor 'mobil' dan 'kendaraan' harus menangkap kesamaan semantiknya. Dalam machine learning, penyematan mewakili vektor dimensi tinggi yang mengkodekan informasi semantik ini.
Database vektor melayani tiga fungsi utama dalam aplikasi AI dan ML:
Dalam operasi, database vektor bekerja dengan menggunakan beberapa algoritma untuk melakukan pencarian perkiraan tetangga terdekat (ANN). Algoritma kemudian dikumpulkan dalam pipeline untuk dengan cepat dan akurat mengambil dan mengirimkan data yang berdekatan dengan vektor yang ditanyakan.
Misalnya, pencarian ANN dapat mencari produk yang secara visual mirip dalam katalog e-commerce. Penggunaan tambahan termasuk deteksi anomali, klasifikasi dan pencarian semantik. Karena kumpulan data berjalan melalui model hanya sekali, hasilnya dikembalikan dalam hitungan milidetik.
Database vektor menyimpan hasil dari algoritma model penyematan, penyematan vektor. Mereka juga menyimpan metadata setiap vektor—termasuk judul, deskripsi, dan tipe data—yang dapat dikueri dengan menggunakan filter metadata.
Dengan menyerap dan menyimpan penyematan ini, database kemudian dapat memfasilitasi pengambilan cepat pencarian kemiripan, mencocokkan permintaan pengguna dengan penyematan vektor yang serupa.
Vektor perlu diindeks untuk mempercepat pencarian dalam ruang data dimensi tinggi. Database vektor membuat indeks pada penyematan vektor untuk fungsi pencarian.
Database vektor mengindeks vektor dengan menggunakan algoritma ML. Pengindeksan memetakan vektor ke struktur data baru yang memungkinkan pencarian kesamaan atau jarak yang lebih cepat, seperti pencarian tetangga terdekat, antar vektor.
Vektor dapat diindeks dengan menggunakan algoritme seperti hierarchical navigable small world (HNSW), locality-sensitive hashing (LSH) atau product quantization (PQ).
Vektor kueri adalah representasi vektor dari kueri pencarian. Ketika pengguna menanyakan atau meminta model AI, model menghitung penyematan kueri atau prompt. Database kemudian menghitung jarak antara vektor kueri dan vektor yang disimpan dalam indeks untuk mengembalikan hasil yang serupa.
Database dapat mengukur jarak antar vektor dengan berbagai algoritma, seperti pencarian tetangga terdekat. Pengukuran juga dapat didasarkan pada berbagai metrik kesamaan, seperti kesamaan kosinus.
Database mengembalikan vektor yang paling mirip atau tetangga terdekat dengan vektor kueri sesuai dengan peringkat kemiripan. Perhitungan ini mendukung berbagai tugas machine learning seperti sistem rekomendasi, pencarian semantik, pengenalan gambar, dan tugas pemrosesan bahasa alami lainnya.
Database vektor adalah cara populer untuk menggerakkan aplikasi berbasis AI perusahaan karena mereka dapat memberikan banyak manfaat:
Database vektor menggunakan berbagai teknik pengindeksan untuk memungkinkan pencarian lebih cepat. Pengindeksan vektor dan algoritme penghitungan jarak seperti pencarian tetangga terdekat dapat membantu mengoptimalkan kinerja saat mencari hasil yang relevan di seluruh kumpulan data besar dengan jutaan, bahkan miliaran, titik data.
Salah satu pertimbangannya adalah database vektor memberikan hasil perkiraan. Aplikasi yang membutuhkan akurasi lebih besar mungkin perlu menggunakan jenis database yang berbeda dengan mengorbankan kecepatan pemrosesan yang lebih lambat.
Database vektor dapat menyimpan dan mengelola data tidak terstruktur dalam jumlah besar dengan menskalakan secara horizontal dengan node tambahan, mempertahankan kinerja seiring dengan meningkatnya permintaan kueri dan volume data.
Karena memungkinkan pengambilan data yang lebih cepat, database vektor mempercepat pelatihan model dasar.
Database vektor biasanya menyediakan fitur bawaan untuk memperbarui dan menyisipkan data tidak terstruktur baru dengan mudah.
Database vektor dibangun untuk menangani kompleksitas tambahan dalam penggunaan gambar, video, atau data multidimensi lainnya.
Dengan berbagai contoh penggunaan mulai dari pencarian semantik hingga aplikasi AI percakapan, database vektor dapat disesuaikan untuk memenuhi kebutuhan bisnis dan AI. Organisasi dapat memulai dengan model tujuan umum seperti model seri IBM Granite, model Llama-2 dari Meta atau model Flan dari Google, dan kemudian menyediakan data mereka sendiri dalam database vektor untuk meningkatkan hasil model dan aplikasi AI.
Organisasi memiliki banyak pilihan ketika memilih kemampuan database vektor. Untuk menemukan yang memenuhi kebutuhan data dan AI mereka, banyak organisasi mempertimbangkan:
Ada beberapa alternatif untuk dipilih.
Database vektor tidak boleh dianggap sebagai kemampuan yang berdiri sendiri, melainkan sebagai bagian dari data dan ekosistem AI yang lebih luas.
Banyak yang menawarkan API, ekstensi asli atau dapat diintegrasikan dengan database Anda. Karena database vektor dibangun untuk menggunakan data perusahaan untuk meningkatkan model, organisasi juga harus memiliki tata kelola data dan keamanan yang tepat untuk membantu memastikan bahwa data yang digunakan untuk melatih model bahasa besar (LLM) dapat dipercaya.
Selain API, banyak database vektor menggunakan perangkat pengembangan perangkat lunak (SDK) khusus bahasa pemrograman yang dapat menggabungkan API. Menggunakan SDK, pengembang sering merasa lebih mudah untuk bekerja dengan data di aplikasi mereka.
Menggunakan penyimpanan vektor dan indeks sangat cocok untuk aplikasi yang didasarkan pada fakta atau penelusuran berbasis fakta, seperti mengekstraksi informasi spesifik dari dokumen yang kompleks.
Namun, meminta ringkasan topik tidak akan bekerja dengan baik dengan indeks vektor. Dalam hal ini, LLM akan melalui semua konteks yang mungkin berbeda pada topik itu dalam data.
Pilihan yang lebih cepat adalah menggunakan jenis indeks yang berbeda, seperti indeks daftar daripada indeks vektor, karena indeks daftar akan langsung mengambil elemen pertama dalam setiap daftar.
Untuk mengoptimalkan pengembangan database vektor, LangChain adalah kerangka kerja orkestrasi sumber terbuka untuk mengembangkan aplikasi yang menggunakan LLM.
Tersedia dalam pustaka berbasis Python dan JavaScript, alat dan API LangChain menyederhanakan proses pembuatan aplikasi yang digerakkan oleh LLM seperti chatbot dan agen virtual. LangChain menyediakan integrasi untuk lebih dari 25 metode penyematan yang berbeda, dan lebih dari 50 penyimpanan vektor yang berbeda (baik yang di-host di cloud maupun lokal).
Untuk mendukung AI tingkat perusahaan, data lakehouse mungkin dipasangkan dengan database vektor terintegrasi. Organisasi dapat menyatukan, mengkurasi, dan menyiapkan penyematan vektor untuk aplikasi AI generatif mereka dalam skala besar di seluruh data tepercaya dan terkelola. Hal ini meningkatkan relevansi dan ketepatan beban kerja AI mereka, termasuk chatbot, sistem rekomendasi yang dipersonalisasi, dan aplikasi pencarian kemiripan gambar.
Aplikasi database vektor sangat luas dan berkembang. Beberapa contoh penggunaan utama meliputi:
Retrieval-augmented generation (RAG) adalah kerangka kerja AI untuk memungkinkan model bahasa besar (LLM) untuk mengambil fakta dari basis pengetahuan eksternal. Database vektor adalah kunci untuk mendukung implementasi RAG.
Perusahaan semakin menyukai RAG dalam alur kerja AI generatif karena waktu yang lebih cepat ke pasar, kesimpulan yang efisien, dan hasil yang dapat diandalkan. Kerangka kerja ini sangat membantu dalam contoh penggunaan seperti layanan pelanggan, SDM, dan manajemen talenta.
RAG membantu memastikan bahwa model terkait dengan fakta terkini yang dapat diandalkan dan bahwa pengguna memiliki akses ke sumber model sehingga klaimnya dapat diverifikasi. Menahan LLM dalam data tepercaya dapat membantu mengurangi halusinasi model.
RAG menggunakan data vektor dimensi tinggi untuk memperkaya perintah dengan informasi yang relevan secara semantik untuk pembelajaran dalam konteks dengan model dasar. RAG membutuhkan penyimpanan dan pengambilan yang efektif selama tahap inferensi, yang menangani volume data tertinggi.
Database vektor unggul dalam mengindeks, menyimpan, dan mengambil vektor berdimensi tinggi secara efisien, memberikan kecepatan, ketepatan, dan skala yang diperlukan untuk aplikasi seperti mesin rekomendasi dan chatbot.
Database vektor, terutama ketika digunakan untuk mengimplementasikan kerangka kerja RAG, dapat membantu meningkatkan interaksi agen virtual dengan meningkatkan kemampuan agen untuk mengurai basis pengetahuan yang relevan secara efisien dan akurat. Agen dapat memberikan jawaban kontekstual secara real-time untuk pertanyaan pengguna, bersama dengan dokumen sumber dan nomor halaman untuk referensi.
Situs e-commerce, misalnya, dapat menggunakan vektor untuk mewakili preferensi pelanggan dan atribut produk. Hal ini memungkinkan mereka untuk menyarankan item yang mirip dengan pembelian sebelumnya berdasarkan kemiripan vektor, meningkatkan pengalaman pengguna dan meningkatkan retensi.
Teknik pencarian ini digunakan untuk menemukan item atau titik data serupa, biasanya direpresentasikan sebagai vektor, dalam koleksi besar. Pencarian vektor dapat menangkap hubungan semantik antara elemen, memungkinkan pemrosesan yang efektif oleh model machine learning dan aplikasi kecerdasan buatan.
Pencarian ini dapat mengambil beberapa bentuk.
IBM watsonx adalah platform AI dan data yang dibangun untuk bisnis. Mudah membangun aplikasi AI khusus, mengelola semua sumber data, dan mempercepat alur kerja AI yang bertanggung jawab, semuanya dalam satu platform.
IBM Cloud Databases for Elasticsearch menggabungkan fleksibilitas mesin pencari teks lengkap dengan kekuatan pengindeksan database dokumen JSON. Dengan menggabungkan model machine learning (ML) terintegrasi dengan node ML khusus, tipe data, dan algoritme pencarian, IBM Cloud Databases for Elasticsearch siap mendukung perusahaan Anda.
IBM Cloud Databases for PostgreSQL, penawaran database sebagai layanan PostgreSQL kami, memungkinkan tim menghabiskan lebih banyak waktu untuk membangun dengan ketersediaan tinggi, orkestrasi cadangan, pemulihan titik waktu (PITR), dan membaca salinan dengan mudah.
Organisasi yang memanfaatkan model AI generatif dengan benar dapat melihat banyak sekali manfaat - mulai dari peningkatan efisiensi operasional dan pengambilan keputusan yang lebih baik hingga pembuatan konten pemasaran yang cepat.
Gunakan panduan ini untuk memahami hal apa yang paling baik dilakukan oleh asisten AI IBM dan untuk siapa, bagaimana membandingkannya dengan yang lain, serta bagaimana cara memulainya.
RAG adalah kerangka kerja AI untuk mengambil fakta dari basis pengetahuan eksternal untuk mendasarkan LLM pada informasi yang paling akurat dan terkini serta memberikan wawasan kepada pengguna tentang proses generatif LLM.
Semua tautan berada di luar ibm.com.
1 Gartner Innovation Insight: Vector Database, Gartner, 4 September 2023.
2 2024 Strategic Roadmap for Storage, Gartner, 27 Mei 2024.