Beranda

Topics

Basis data vektor

apa yang dimaksud dengan basis data vektor
Jelajahi solusi database vektor IBM Berlangganan Buletin Think
Ilustrasi dengan kolase piktogram awan, diagram lingkaran, grafik

Diperbarui: 29 Juli 2024
Kontributor: Jim Holdsworth, Matthew Kosinski

apa yang dimaksud dengan basis data vektor

Database 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 latensi rendah, membuatnya ideal untuk aplikasi AI.

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

Database vektor versus database tradisional 

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.

Cara memilih model dasar AI yang tepat

Gunakan kerangka kerja pemilihan model ini untuk memilih model yang paling tepat sambil menyeimbangkan kebutuhan kinerja Anda dengan biaya, risiko, dan kebutuhan penerapan.

Konten terkait Daftar untuk ebook di toko data AI
Apa itu vektor?

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:

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

  • Jadi, vektor adalah tensor satu dimensi (atau derajat pertama atau orde pertama), yang berisi beberapa skalar dengan tipe data yang sama. Misalnya, model cuaca mungkin menggunakan suhu terendah, rata-rata, dan tertinggi 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-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: 

  • 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. 
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), 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:

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

Tutorial: Menerapkan AI generatif dalam otomatisasi alur kerja cerdas dengan platform IBM watsonx
Bagaimana database vektor digunakan?

Database vektor melayani tiga fungsi utama dalam aplikasi AI dan ML:

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

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.

Penyimpanan vektor

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. 

Pengindeksan vektor

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

  • HNSW populer karena menciptakan struktur seperti pohon. Setiap simpul pohon menunjukkan satu set vektor lengkap dengan hierarki di masing-masing. 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. 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. 

Keuntungan dari database vektor

Database vektor adalah cara populer untuk menggerakkan aplikasi berbasis AI perusahaan karena mereka dapat memberikan banyak manfaat:

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

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.

Skalabilitas

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.

Biaya kepemilikan yang lebih rendah

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

Manajemen data

Database vektor biasanya menyediakan fitur bawaan untuk memperbarui dan menyisipkan data tidak terstruktur baru dengan mudah. 

Fleksibilitas

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.

Pertimbangan untuk database vektor dan strategi data

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

  • Jenis database vektor
  • Integrasi dengan ekosistem data
  • Ketika pengindeksan vektor tidak optimal
  • Alat untuk membuat dan menerapkan database 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

  • Platform dengan kemampuan database vektor terintegrasi, seperti IBM watsonx.data.

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

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.

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

Contoh penggunaan database vektor

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

  • Retrieval-augmented generation (RAG)
  • AI percakapan
  • Mesin rekomendasi
  • Pencarian vektor
Retrieval-augmented generation (RAG)

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.

AI percakapan

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.

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 mengambil 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: Menemukan 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
watsonx

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. 

Pelajari lebih lanjut tentang watsonx

IBM Cloud Databases for Elasticsearch

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.

Pelajari selengkapnya tentang IBM Cloud Databases for Elasticsearch
IBM Cloud Databases for PostgreSQL

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.

Pelajari selengkapnya tentang IBM Cloud Databases for PostgreSQL
Sumber daya Bagaimana model dasar dan penyimpanan data membuka potensi bisnis AI generatif

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.

Asisten AI generatif IBM: Panduan pembeli 2024 lengkap

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.

Apa yang dimaksud dengan generasi retrieval-augmented?

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.

Ambil langkah selanjutnya

Skalakan beban kerja AI untuk semua data Anda di mana saja dengan IBM watsonx.data. Penyimpanan data yang disesuaikan untuk tujuan yang dibangun pada arsitektur terbuka data lakehouse.

Jelajahi watsonx.data Pesan demo langsung
Catatan kaki

Semua tautan berada di luar ibm.com.

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

2 2024 Strategic Roadmap for StorageGartner, 27 Mei 2024.