apa yang dimaksud dengan basis data vektor

29 Juli 2024

Penyusun

Matthew Kosinski

Enterprise Technology Writer

apa yang dimaksud dengan basis data vektor

Basis data vektor menyimpan, mengelola, dan mengindeks data vektor dimensi tinggi. Titik data disimpan sebagai array angka yang disebut ‘vektor’, yang dikelompokkan berdasarkan kesamaan. Desain ini memungkinkan kueri rendah latensi, membuatnya ideal untuk aplikasi AI.

Basis data vektor semakin populer karena memberikan kecepatan dan kinerja yang diperlukan untuk mendorong kasus penggunaan dan aplikasi kecerdasan buatan (AI) generatif . Menurut Gartner®, pada tahun 2026, lebih dari 30% perusahaan akan mengadopsi basis data vektor untuk membangun model fondasi mereka dengan data bisnis yang relevan.1

Basis data vektor versus basis data tradisional

Tidak seperti basis data relasional tradisional dengan baris dan kolom, titik data dalam database vektor diwakili oleh vektor dengan jumlah dimensi tetap. Karena menggunakan penyematan vektor berdimensi tinggi, basis data 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 basis data tradisional. Data tidak terstruktur, termasuk postingan media sosial, gambar, video, klip audio, dan lainnya, tumbuh 30% hingga 60% dari tahun ke tahun.2

Basis data relasional unggul dalam mengelola kumpulan data terstruktur dan semi terstruktur dalam format tertentu. Memuat sumber data tidak terstruktur ke dalam basis data relasional tradisional untuk menyimpan, mengelola, dan menyiapkan data untuk kecerdasan buatan (AI) adalah proses memakan waktu yang banyak, terutama dengan contoh penggunaan generatif baru seperti pencarian kesamaan.

Pencarian tradisional secara umum 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’.

Sebaliknya, pencarian vektor merepresentasikan data sebagai vektor padat, yaitu vektor yang sebagian besar atau semua elemennya bukan nol. Vektor direpresentasikan dalam ruang vektor berlanjut, ruang matematika tempat 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 algoritma matematika.

Fitur laten menangkap pola dan hubungan tersembunyi dalam data, memungkinkan representasi item yang lebih bermakna dan akurat sebagai vektor dalam ruang dimensi tinggi.

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. 

Apa itu vektor?

Vektor adalah bagian 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:

  • Skalar adalah tensor dimensi nol, yang berisi satu angka. Misalnya, data cuaca pemodelan sistem mungkin mewakili suhu tinggi dalam satu hari (dalam Fahrenheit) dalam bentuk skalar sebesar 85.

  • Kemudian, vektor adalah tensor satu dimensi (atau tingkat pertama atau urutan pertama), yang berisi beberapa skalar dengan tipe data yang sama. Misalnya, model cuaca mungkin menggunakan suhu rendah, rata-rata, dan tinggi untuk satu hari dalam bentuk vektor: 62, 77, 85. Setiap komponen skalar adalah fitur, yaitu, dimensi, dari vektor, yang mewakili fitur cuaca hari itu.

Angka vektor dapat mewakili objek kompleks seperti kata, gambar, video, dan audio yang dihasilkan oleh model ML. Data vektor dimensi 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:

  • Teks: Chatbot perlu memahami bahasa alami. Mereka melakukan ini dengan mengandalkan vektor yang mewakili kata-kata, paragraf, dan seluruh dokumen.

  • Gambar: Piksel gambar dapat dijelaskan dengan data numerik dan digabungkan untuk membentuk vektor dimensi tinggi untuk gambar tersebut.

  • Ucapan atau audio: Seperti gambar, gelombang suara juga dapat dipecah menjadi data numerik dan direpresentasikan sebagai vektor, sehingga memungkinkan aplikasi AI seperti pengenalan suara.
Mixture of Experts | Podcast

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.

Apa itu penyematan vektor?

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), mulai dari algoritme regresi linier sederhana hingga neural network yang rumit yang digunakan dalam pembelajaran mendalam, beroperasi melalui logika matematika.

Setiap data yang digunakan oleh model AI, termasuk data yang tidak terstruktur, perlu dicatat secara numerik. Penyematan vektor adalah cara mengubah titik data yang tidak terstruktur menjadi array 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:

  • kucing [0.2, -0.4, 0.7]
  • anjing [0.6, 0.1, 0.5]

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 berlanjut.

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. Basis data 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, chatbot, dan aplikasi generatif seperti ChatGPT.

Misalnya saja kata “mobil” dan “kendaraan”. Mereka memiliki arti yangserupa 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.

Bagaimana database vektor digunakan?

Basis data vektor melayani tiga fungsi utama dalam aplikasi AI dan ML:

  • Penyimpanan vektor
  • Pengindeksan vektor
  • Pencarian kesamaan berdasarkan kueri atau prompt

Operasi basis data vektor bekerja dengan menggunakan beberapa algoritme untuk melakukan pencarian perkiraan tetangga terdekat (ANN). Algoritma tersebut kemudian dikumpulkan dalam suatu pipeline untuk mengambil dan mengirimkan data yang berdekatan dengan vektor yang dikueri dengan cepat dan akurat.

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.

Penyimpanan vektor

Basis data 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, basis data kemudian dapat memfasilitasi pengambilan cepat pencarian kemiripan, mencocokkan prompt pengguna dengan penyematan vektor yang serupa.

Pengindeksan vektor

Vektor perlu diindeks untuk mempercepat pencarian dalam ruang data dimensi tinggi. Basis data vektor membuat indeks pada penyematan vektor untuk fungsi pencarian.

Basis data vektor mengindeks vektor 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 menggunakan algoritma seperti Hierarchical Navigable Small World (HNSW), Locality-Sensitive Hashing (LSH) atau Product Quantization (PQ).

  • HNSW populer karena menciptakan struktur seperti pohon. Setiap node di pohon menunjukkan serangkaian vektor lengkap dengan hierarki di masing-masingnya. Kemiripan antar vektor ditunjukkan di tepi antara node.

  • LSH mengindeks konten dengan menggunakan perkiraan pencarian tetangga terdekat. Untuk kecepatan ekstra, indeks dapat dioptimalkan dengan mengembalikan hasil perkiraan, tetapi hasil tidak lengkap.

  • PQ mengubah setiap kumpulan data menjadi representasi yang singkat dan hemat memori. Hanya representasi pendek yang disimpan, bukan semua vektor.

Pencarian kesamaan berdasarkan kueri atau permintaan

Vektor kueri adalah representasi vektor dari kueri pencarian. Ketika pengguna menanyakan atau meminta model AI, model menghitung penyematan kueri atau prompt. Basis data kemudian menghitung jarak antara vektor kueri dan vektor yang disimpan dalam indeks untuk mengembalikan hasil yang serupa.

Basis data dapat mengukur jarak antar vektor dengan berbagai algoritma, seperti pencarian tetangga terdekat. Pengukuran juga dapat didasarkan pada berbagai metrik kesamaan, seperti kesamaan kosinus.

Basis data 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.

Keuntungan dari database vektor

Basis data vektor adalah cara populer untuk mendorong aplikasi berbasis AI perusahaan karena banyak manfaat yang dapat diberikan:

  • Kecepatan dan kinerja
  • Skalabilitas
  • Biaya kepemilikan yang lebih rendah
  • Manajemen data
  • Fleksibilitas
Kecepatan dan kinerja

Basis data vektor menggunakan berbagai teknik pengindeksan untuk memungkinkan pencarian lebih cepat. Pengindeksan vektor dan algoritma 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 basis data vektor memberikan hasil perkiraan. Aplikasi yang membutuhkan akurasi lebih besar mungkin perlu menggunakan jenis basis data yang berbeda dengan mengorbankan kecepatan pemrosesan yang lebih lambat.

Skalabilitas

Basis data 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.

Biaya kepemilikan yang lebih rendah

Karena memungkinkan pengambilan data yang lebih cepat, basis data vektor mempercepat pelatihan model dasar.

Manajemen data

Basis data vektor biasanya menyediakan fitur bawaan untuk memperbarui dan memasukkan data baru yang tidak terstruktur dengan mudah.

Fleksibilitas

Basis data 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, basis data 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 basis data vektor untuk meningkatkan hasil model dan aplikasi AI.

Pertimbangan untuk database vektor dan strategi data

Organisasi memiliki banyak pilihan ketika memilih kemampuan basis data vektor. Untuk menemukan yang memenuhi kebutuhan data dan AI mereka, banyak organisasi mempertimbangkan:

  • Jenis basis data vektor
  • Integrasi dengan ekosistem data
  • Ketika pengindeksan vektor tidak optimal
  • Alat untuk membuat dan menerapkan basis data vektor

Jenis database vektor

Ada beberapa alternatif untuk dipilih.

  • Basis data yang berdiri sendiri, berpemilik, dan sepenuhnya vektor seperti Pinecone.

  • Solusi sumber terbuka seperti Weaviate atau Milvus, yang menyediakan API RESTful bawaan dan dukungan untuk bahasa pemrograman Python dan Java .

  • Data lakehouse dengan kemampuan basis data vektor terintegrasi, seperti IBM watsonx.data.

  • Basis data vektor dan ekstensi pencarian basis data seperti ekstensi pgvector sumber terbuka dari PostgreSQL, yang menyediakan kemampuan pencarian kesamaan vektor. Basis data vektor SQL dapat menggabungkan keunggulan SQL basis data tradisional dengan kekuatan basis data vektor.

Integrasi dengan ekosistem data

Basis data vektor tidak seharusnya dianggap sebagai kemampuan terpisah, melainkan sebagai bagian dari data dan ekosistem AI yang lebih luas.

Banyak yang menawarkan API, ekstensi native atau dapat diintegrasikan dengan basis data Anda. Karena basis data 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 basis data 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.

Ketika pengindeksan vektor tidak optimal

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.

Alat untuk membuat dan menerapkan database vektor

Untuk mengoptimalkan pengembangan basis data 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 basis data 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.

Contoh penggunaan database vektor

Aplikasi basis data vektor sangat luas dan berkembang. Beberapa contoh penggunaan utama meliputi:

  • Generasi dengan dukungan pengambilan data (RAG)
  • AI Percakapan
  • Mesin rekomendasi
  • Pencarian vektor

Retrieval-augmented generation (RAG)

Generasi dengan dukungan pengambilan data (RAG) adalah kerangka kerja AI untuk memungkinkan model bahasa besar (LLM) untuk mengambil fakta dari basis pengetahuan eksternal. Basis data 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 pengelolaan SDM.

RAG membantu memastikan bahwa model terhubung dengan fakta terkini yang dapat diandalkan dan bahwa pengguna memiliki akses ke sumber model sehingga klaimnya dapat diverifikasi. Menghubungkan LLM dengan data tepercaya dapat membantu mengurangi halusinasi model.

RAG menggunakan data vektor dimensi tinggi untuk memperkaya prompt 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.

Basis data 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.

AI percakapan

Basis data 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.

Mesin rekomendasi

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.

Pencarian vektor

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 berupa beberapa bentuk.

  • Pencarian semantik: Melakukan pencarian berdasarkan makna atau konteks kueri, sehingga memungkinkan hasil yang lebih tepat dan relevan. Karena kata dan frasa dapat direpresentasikan sebagai vektor, fungsi pencarian vektor semantik memahami maksud pengguna dengan lebih baik daripada kata kunci umum.

  • Pencarian dan aplikasi kesamaan: Temukan gambar, audio, video, atau data teks yang serupa untuk mendukung pengenalan gambar dan ucapan tingkat lanjut serta pemrosesan bahasa alami. Gambar dan video dapat diindeks dan diambil berdasarkan kesamaan.
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.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses satu atap ke kemampuan yang mencakup siklus hidup 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
Catatan kaki

1 Gartner Innovation Insight: Vector DatabasesGartner, 4 September 2023.

2 2024 Strategic Roadmap for StorageGartner, 27 Mei 2024.