Mengatasi Masalah Miliaran Vektor di Azure AI Search
By Mirko Peters ·
Pelajari tantangan teknis unik dalam mencari kumpulan data berskala besar. Artikel ini membahas bagaimana dimensi tinggi dan keterbatasan memori memengaruhi beban kerja AI di perusahaan.
Automatically translated with AI from the original post. Read the English original
Pelajari tantangan teknis unik dalam mencari kumpulan data berskala besar. Artikel ini membahas bagaimana dimensi tinggi dan keterbatasan memori memengaruhi beban kerja AI di perusahaan.
Masalah Miliaran Vektor di Azure AI Search
Tantangan Pencarian Vektor Skala Miliaran
Anda menghadapi masalah miliaran vektor ketika harus mengindeks dan mencari melalui kumpulan data yang sangat besar dalam AI perusahaan. Menangani miliaran vektor menghadirkan tantangan teknis yang unik. Anda harus membangun sistem pengindeksan yang efisien yang mampu memproses data berskala besar tanpa memperlambat kinerja. Pembaruan real-time penting karena Anda ingin hasil pencarian tetap mutakhir dan relevan. Mengelola embedding berdimensi tinggi juga penting untuk menghasilkan hasil pencarian yang akurat.
Saat bekerja dengan kumpulan data berskala miliaran, Anda akan menemui beberapa keterbatasan:
- Dimensi tinggi meningkatkan biaya komputasi dan dapat memperlambat kinerja pencarian.
- Kesenjangan semantik antara representasi vektor dan makna di dunia nyata dapat menyebabkan ketidakakuratan.
- Pengumpulan sampah menjadi sulit, sehingga menyulitkan penghapusan informasi usang dari indeks.
- Kualitas vektor bergantung pada model embedding yang Anda pilih, dan hal ini memengaruhi akurasi pencarian.
- Skalabilitas membebani kebutuhan memori dan dapat memperpanjang waktu pencarian.
- Masalah cold start menyulitkan pencarian item baru tanpa representasi vektor yang baik.
- Interpretabilitasnya rendah, sehingga memahami mengapa suatu hasil pencarian muncul bisa menjadi tantangan.
Tantangan-tantangan ini menjadikan masalah miliaran vektor salah satu yang paling sulit dalam AI modern.
Mengapa Pilihan Algoritma Itu Penting
Pilihan algoritma Anda berdampak langsung pada cara Anda menyelesaikan masalah miliaran vektor. Jika Anda memilih algoritma seperti HNSW, Anda mendapatkan akses cepat dan pencarian yang efisien untuk kumpulan data besar. Namun, Anda memerlukan RAM dalam jumlah besar, yang dapat meningkatkan biaya. Algoritma lain, seperti exhaustive KNN, menawarkan akurasi tinggi tetapi membutuhkan komputasi jauh lebih banyak, sehingga lebih cocok untuk kumpulan data yang lebih kecil. Algoritma yang tepat membantu Anda menyeimbangkan kecepatan, akurasi, dan penggunaan sumber daya. Anda dapat mengoptimalkan kinerja untuk aplikasi spesifik Anda dengan menyesuaikan algoritma dengan kebutuhan. Keputusan ini menentukan seberapa baik Anda menangani kumpulan data besar dan seberapa besar biaya perangkat keras yang Anda keluarkan.
Ikhtisar Azure AI Search
Azure AI Search memberi Anda platform yang kuat untuk mengatasi masalah miliaran vektor. Anda dapat melakukan praproses data menggunakan alat pembersihan dan pengayaan tingkat lanjut, yang meningkatkan kualitas vektor sebelum pengindeksan. Platform ini mengatur informasi Anda ke dalam basis data vektor yang dirancang untuk tugas pencarian dan kebutuhan pencarian modern. Anda mendapatkan manfaat dari fitur pencarian dan pengambilan yang andal, termasuk pemrosesan bahasa alami untuk pemahaman semantik. Keamanannya kuat, dengan enkripsi dan kontrol akses untuk melindungi data Anda.
Azure AI Search terintegrasi dengan lancar bersama layanan Microsoft Azure lainnya dan platform pihak ketiga. Anda dapat menggunakan pencarian hibrida, yang menggabungkan pencarian kata kunci dan pencarian vektor untuk hasil terbaik. Pengaturan peringkat dan relevansi memungkinkan Anda menyesuaikan tampilan hasil pencarian, sehingga lebih berguna bagi pengguna. Platform ini juga menawarkan pengalaman pencarian cerdas, seperti pelengkapan otomatis dan hasil yang disarankan. Dibangun di atas infrastruktur global Azure, Azure AI Search memberikan skala dan keandalan yang Anda butuhkan untuk kumpulan data besar dan proyek data berskala besar.
Indeks Berbasis Graf: HNSW dan DiskANN

Apa Itu HNSW
Mungkin Anda pernah mendengar tentang hnsw, yang merupakan singkatan dari hierarchical navigable small world. Algoritma indeks berbasis graf ini membantu Anda menemukan vektor yang serupa dengan cepat di kumpulan data berukuran besar. Hnsw membangun struktur graf multi-lapisan yang menghubungkan titik-titik data dengan cara yang membuat pencarian cepat dan akurat. Setiap lapisan graf memiliki kepadatan yang berbeda, dengan lapisan atas memiliki lebih sedikit node dan lapisan bawah memiliki lebih banyak node. Desain ini memungkinkan Anda memulai pencarian dari atas dan bergerak ke bawah, sambil mempersempit hasil di setiap langkah. Hnsw dioptimalkan untuk pencarian vektor dalam memori, sehingga seluruh graf disimpan di RAM. Pendekatan ini memberi Anda hasil dengan latensi rendah, tetapi juga berarti Anda membutuhkan memori yang besar ketika kumpulan data Anda bertambah.
Apa Itu DiskANN
Diskann adalah jawaban Microsoft atas tantangan pencarian vektor skala miliaran. Indeks berbasis graf ini menggunakan pendekatan hibrida yang menggabungkan memori dan penyimpanan SSD. Diskann memungkinkan Anda menyimpan sebagian besar indeks di SSD, yang jauh lebih murah daripada RAM. Anda hanya menyimpan data navigasi yang paling penting di memori. Desain ini membantu Anda mengelola kumpulan data yang sangat besar tanpa biaya perangkat keras yang tinggi. Diskann menggunakan algoritma graf Vamana untuk memandu pencarian Anda melalui data. Algoritma ini juga menggunakan metode pemangkasan khusus untuk menjaga graf tetap beragam dan efisien. Diskann milik Microsoft menjadi fondasi Azure AI Search dan layanan lainnya, sehingga menjadi inovasi kunci untuk AI perusahaan.
| Inovasi | Deskripsi |
|---|---|
| Pencarian ANN berkecepatan tinggi | Arsitektur Diskann memungkinkan pencarian ANN yang efisien di SSD, sehingga membantu menekan biaya perangkat keras. |
| Sistem memori hibrida | Diskann menggunakan kombinasi DRAM dan SSD untuk mengelola miliaran titik data pada satu mesin. |
| Penyimpanan hemat biaya | Diskann menyimpan indeks ANN di disk, memberikan solusi hemat anggaran untuk penanganan data berdimensi tinggi. |
Cara Kerja HNSW
Konstruksi Graf
Hnsw membangun indeks berbasis graf-nya dengan membuat hierarki graf pencarian. Anda mulai dengan struktur kosong. Vektor pertama yang Anda tambahkan menjadi satu-satunya node di lapisan atas. Untuk setiap vektor baru, hnsw menentukan jumlah lapisan yang harus diikutinya melalui proses acak. Vektor baru terhubung ke tetangga terdekatnya di setiap lapisan hingga batas maksimum yang ditetapkan. Lapisan atas memiliki node paling sedikit, sehingga menjadi titik awal yang baik untuk pencarian. Lapisan bawah memiliki lebih banyak node, sehingga memungkinkan pencarian yang lebih rinci. Hnsw dapat memperbarui grafnya tanpa pembangunan ulang penuh, sehingga Anda dapat menambahkan data baru seiring bertambahnya kebutuhan Anda.
Proses Pencarian
Saat Anda mencari dengan hnsw, Anda memulai dari lapisan atas graf. Anda menggunakan tautan jarak jauh untuk bergerak cepat menuju area tempat vektor target Anda mungkin berada. Saat Anda turun ke setiap lapisan, koneksinya menjadi lebih padat. Hal ini membantu Anda menyempurnakan pencarian dan mendekati kecocokan terbaik. Di lapisan paling bawah, hnsw menggunakan beam search untuk menemukan tetangga terdekat. Proses ini memberi Anda hasil yang cepat dan akurat, terutama ketika seluruh graf muat di memori.
- Prinsip desain Hnsw:
- Dioptimalkan untuk operasi dalam memori, menghasilkan latensi rendah dan recall tinggi.
- Menggunakan struktur graf multi-lapisan yang didasarkan pada jaringan small-world.
- Menerapkan strategi pemangkasan untuk menghapus sisi yang berlebihan dan mendorong keberagaman.
- Proses pencarian melibatkan penurunan lapisan, dimulai dari tautan jarak jauh yang jarang dan diakhiri dengan beam search di lapisan dasar.
Anda dapat melihat bahwa baik hnsw maupun diskann menggunakan indeks berbasis graf, tetapi desainnya sesuai dengan kebutuhan yang berbeda. Hnsw paling cocok jika Anda dapat menyimpan semuanya di memori. Diskann memungkinkan Anda menskalakan hingga miliaran vektor dengan memanfaatkan SSD, sehingga sangat ideal untuk beban kerja perusahaan di Azure AI Search.
Cara Kerja DiskANN
Arsitektur Hibrida Memori dan SSD
Anda akan menemukan pendekatan yang unik ketika menggunakan DiskANN untuk pencarian miliaran vektor. DiskANN menggabungkan memori dan penyimpanan SSD untuk membentuk arsitektur hibrida. Desain ini memungkinkan Anda menyimpan sebagian besar indeks vektor di SSD, yang biayanya lebih rendah daripada RAM. Anda hanya menyimpan data navigasi yang esensial di memori. Metode ini memungkinkan Anda menskalakan pencarian hingga miliaran vektor tanpa perlu perangkat keras yang mahal.
DiskANN menggunakan dua teknik utama untuk mengoptimalkan penyimpanan dan kecepatan:
- Graf Vamana: Anda menggunakan struktur ini untuk menavigasi indeks secara efisien.
- Product quantization (PQ): Anda mengompresi vektor di memori, sehingga penggunaan RAM berkurang.
Anda memperoleh manfaat dari proses eksekusi kueri dua tahap. Pada tahap pertama, DiskANN menggunakan vektor terkompresi PQ di RAM untuk dengan cepat mengidentifikasi sekumpulan kandidat. Anda tidak perlu membaca dari disk pada langkah ini. Pada tahap kedua, DiskANN mengambil vektor presisi penuh dari SSD untuk sekumpulan kandidat tersebut. Anda kemudian menghitung jarak yang tepat untuk menemukan kecocokan terbaik. Proses ini memberi Anda recall yang tinggi dan latensi yang rendah sambil menjaga kebutuhan memori tetap kecil.
Tips: Arsitektur hibrida memori dan SSD pada DiskANN memungkinkan pencarian skala web pada perangkat keras standar. Anda dapat menyimpan indeks vektor di SSD alih-alih RAM, sehingga aplikasi berskala besar menjadi lebih terjangkau.
Proses Pencarian
Anda memulai pencarian di DiskANN dengan menavigasi graf Vamana menggunakan vektor terkompresi di memori. Langkah ini membantu Anda menemukan kandidat yang menjanjikan dengan cepat. Anda menghindari pembacaan disk pada tahap ini, sehingga proses menjadi lebih cepat. Setelah memiliki sekumpulan kandidat, DiskANN beralih ke tahap berikutnya.
Anda mengambil vektor presisi penuh dari SSD untuk setiap kandidat. Anda menghitung jarak yang tepat antara kueri Anda dan kandidat-kandidat tersebut. Proses dua tahap ini memastikan Anda mendapatkan hasil yang akurat tanpa memperlambat pencarian. Anda mencapai recall yang tinggi karena DiskANN memeriksa kandidat terbaik secara detail. Anda juga menjaga latensi tetap rendah karena sebagian besar pekerjaan dilakukan di memori.
Proses pencarian DiskANN bekerja dengan baik untuk kumpulan data yang sangat besar. Anda dapat menangani miliaran vektor tanpa memerlukan RAM dalam jumlah besar. Anda tetap mendapatkan hasil yang cepat dan andal seiring pertumbuhan data. Hal ini menjadikan DiskANN pilihan yang kuat untuk beban kerja AI perusahaan di Azure AI Search.
| Langkah | Yang Anda Lakukan | Manfaat |
|---|---|---|
| Tahap 1: Navigasi | Gunakan vektor terkompresi PQ di RAM untuk menemukan kandidat | Pencarian cepat, tanpa pembacaan disk |
| Tahap 2: Penyempurnaan | Ambil vektor presisi penuh dari SSD dan hitung jarak | Recall tinggi, latensi rendah |
Anda dapat melihat bahwa arsitektur hibrida dan proses pencarian DiskANN membantu Anda menyelesaikan masalah miliaran vektor secara efisien. Anda dapat menskalakan pencarian, menekan biaya, dan menjaga performa seiring bertambahnya data.
Kelebihan dan Kekurangan
Kelebihan dan Kekurangan HNSW
Anda sering memilih hnsw untuk pengambilan vektor karena menawarkan kecepatan pencarian mutakhir dan recall yang tinggi. Ketika Anda menyetel hnsw dengan tepat, Anda mendapatkan hasil yang cepat dan kecocokan yang akurat. Anda dapat menangani data vektor berdimensi tinggi dengan baik, yang penting untuk beban kerja AI modern. Anda juga memperoleh manfaat dari penambahan inkremental, sehingga indeks dapat diperbarui tanpa membangun ulang semuanya.
| Kelebihan | Kekurangan |
|---|---|
| Kecepatan pencarian mutakhir dan recall tinggi jika disetel dengan tepat. | Konsumsi memori tinggi karena menyimpan tautan graf untuk setiap vektor. |
| Menangani data berdimensi tinggi dengan baik. | Waktu pembuatan indeks yang lama dengan parameter konstruksi berkualitas tinggi. |
| Mendukung penambahan inkremental secara efisien. | Penghapusan elemen yang kompleks dapat menurunkan performa seiring waktu. |
Anda dapat menskalakan hnsw secara efisien karena pembuatan indeksnya menggunakan O(N log N). Konstruksi paralel memungkinkan Anda memanfaatkan prosesor multi-core, sehingga proses menjadi lebih cepat. Penggunaan memori meningkat secara linear seiring ukuran kumpulan data, sehingga kebutuhan penyimpanan dapat Anda prediksi. Namun, Anda harus menyimpan seluruh graf di RAM, yang membatasi skalabilitas untuk kumpulan data miliaran vektor.
Kelebihan dan Kekurangan DiskANN
Anda beralih ke diskann ketika perlu menskalakan pengambilan vektor melampaui kemampuan RAM. Diskann dioptimalkan untuk penggunaan SSD, sehingga mengurangi biaya perangkat keras dan memudahkan Anda mengelola kumpulan data berukuran masif. Anda memperoleh akurasi tinggi dan latensi rendah dengan menggabungkan pencarian di memori dengan pembacaan SSD secara batch. Diskann mendukung pembaruan real-time dan pencarian hibrida, sehingga Anda dapat memfilter dan mengambil vektor secara efisien.
Pertimbangkan poin-poin berikut tentang diskann:
- Skalabilitas hemat biaya dengan menggunakan SSD alih-alih RAM.
- Akurasi tinggi dan latensi rendah pada skala besar melalui pencarian di memori dan pembacaan SSD.
- Pembaruan real-time dan pengambilan hibrida vektor-plus-terfilter.
- Waktu pembangunan indeks yang lambat karena konstruksi graf Vamana membutuhkan komputasi yang berat.
- Performa bergantung pada throughput dan latensi SSD.
- Pembaruan lebih mahal dibandingkan dengan struktur berbasis memori seperti hnsw.
- Implementasi dan penyetelan memerlukan optimasi yang cermat.
Anda diuntungkan oleh kemampuan diskann dalam menangani vektor terkuantisasi, yang memampatkan data dan meningkatkan pencarian yang hemat memori. Anda dapat menggunakan diskann untuk beban kerja miliaran vektor tanpa khawatir terhadap batas RAM.
Efisiensi Memori dan Penyimpanan
Anda harus mempertimbangkan efisiensi memori dan penyimpanan saat memilih antara hnsw dan diskann untuk pengambilan vektor. Hnsw bekerja dengan baik untuk kumpulan data yang muat di RAM server Anda. Anda mendapatkan akses cepat dan performa tinggi, tetapi Anda tidak dapat melampaui batas memori. Diskann memungkinkan Anda memperluas ukuran kumpulan data hingga kapasitas disk, dengan mengorbankan sebagian kecepatan demi penyimpanan. Anda menyimpan sebagian besar indeks di SSD, sehingga diskann ideal untuk kumpulan data vektor berskala besar.
| Fitur | HNSW | DiskANN |
|---|---|---|
| Efisiensi Memori | Sangat efisien untuk kumpulan data yang muat di cache server (RAM). | Dirancang untuk kumpulan data yang terlalu besar untuk muat di RAM. |
| Efisiensi Penyimpanan | Dibatasi oleh jumlah RAM yang tersedia. | Memperluas ukuran kumpulan data hingga kapasitas disk, dengan mengorbankan sebagian kecepatan demi penyimpanan. |
| Optimasi Performa | Memanfaatkan akses memori yang cepat untuk kecepatan. | Meminimalkan penalti performa dari penyimpanan disk yang lebih lambat. |
| Kesesuaian Kumpulan Data | Cocok untuk kumpulan data yang muat di RAM. | Cocok untuk kumpulan data berskala besar yang melampaui kapasitas RAM. |
Anda menggunakan vektor terkuantisasi di hnsw maupun diskann untuk mengurangi kebutuhan penyimpanan dan meningkatkan kecepatan pengambilan. Arsitektur hibrida diskann memungkinkan Anda menskalakan pencarian vektor sambil menjaga biaya tetap rendah. Anda mencapai pencarian yang hemat memori untuk tugas pengambilan berskala besar, terutama saat bekerja dengan vektor terkuantisasi dan penyimpanan SSD.
Perbandingan Algoritma Pencarian Vektor

Performa dalam Skala Besar
Anda perlu mengukur bagaimana algoritma pencarian vektor berperforma saat kumpulan data Anda bertambah. HNSW dan DiskANN sama-sama bertujuan memberikan recall dan kecepatan yang tinggi, tetapi strateginya berbeda. HNSW mengandalkan graf dalam memori, yang berarti Anda mendapatkan pencarian tetangga terdekat yang cepat selama vektor Anda muat di RAM. DiskANN menggunakan pendekatan hibrida memori dan SSD, sehingga Anda dapat menskalakan performa pencarian tanpa khawatir terhadap batas memori.
Saat Anda menjalankan pencarian tetangga terdekat pada jutaan vektor, HNSW memberi Anda pengambilan berkecepatan tinggi dan latensi rendah. Anda dapat menyetel parameter untuk recall dan kecepatan. DiskANN mempertahankan recall dan kecepatan yang tinggi meskipun kumpulan data Anda terus berkembang. Anda menyimpan sebagian besar indeks di SSD, yang memungkinkan Anda menangani miliaran vektor. Anda menggunakan pencarian dua tahap untuk menyeimbangkan kecepatan dan akurasi. Tahap pertama menemukan kandidat di memori, dan tahap kedua memperhalus hasil menggunakan SSD.
Anda mencapai recall dan kecepatan yang tinggi dengan kedua algoritma, tetapi DiskANN memungkinkan Anda menskalakan performa pencarian melampaui batas RAM.
Skalabilitas untuk Miliaran Vektor
Anda menghadapi tantangan baru saat kumpulan data Anda bertambah dari jutaan menjadi miliaran vektor. HNSW bekerja dengan baik untuk hingga 50 juta vektor. Anda menggunakan HNSW sebagai algoritma pencarian vektor default dan menyetel parameter untuk recall. Ketika Anda mencapai 50 hingga 500 juta vektor, Anda menerapkan sharding dan kuantisasi skalar. Anda dapat menggunakan pengambilan dua fase untuk efisiensi. Untuk kumpulan data di atas 500 juta vektor, Anda memerlukan pengambilan hierarkis dan arsitektur multi-tingkat. Anda menggunakan kuantisasi agresif untuk data dingin.
| Rentang Jumlah Vektor | Strategi HNSW |
|---|---|
| 1-50 juta | Gunakan HNSW sebagai algoritma default, pastikan vektor muat di RAM, dan setel parameter untuk recall. |
| 50-500 juta | Terapkan sharding, aktifkan kuantisasi skalar, dan pertimbangkan pengambilan dua fase untuk efisiensi. |
| 500 juta+ | Gunakan pengambilan hierarkis, arsitektur multi-tingkat, dan kuantisasi agresif untuk data dingin. |
DiskANN mengubah permainan untuk pencarian vektor berskala miliaran. Anda menyimpan sebagian besar indeks di SSD, sehingga Anda tidak perlu khawatir terhadap batas RAM. Anda menggunakan kuantisasi produk untuk memampatkan vektor dan menyimpan data navigasi di memori. Anda dapat menskalakan pencarian tetangga terdekat ke miliaran vektor tanpa mengorbankan performa pencarian. DiskANN mendukung pencarian perkiraan berbasis clustering dan pengambilan hibrida, yang membantu Anda mengelola kumpulan data yang sangat besar.
DiskANN memungkinkan Anda menskalakan algoritma pencarian vektor untuk miliaran vektor, sehingga sangat ideal untuk beban kerja perusahaan.
Latensi Kueri dan Throughput
Anda memperhatikan latensi kueri dan throughput saat menjalankan pencarian vektor dalam skala besar. HNSW memberi Anda latensi rendah untuk pencarian tetangga terdekat karena menyimpan seluruh graf di memori. Anda mendapatkan respons kueri yang cepat dan throughput tinggi untuk kumpulan data yang muat di RAM. Ketika kumpulan data Anda bertambah besar, latensi meningkat seiring Anda melakukan sharding atau menggunakan arsitektur multi-tier.
DiskANN menggunakan proses pencarian dua tahap. Pertama, Anda mencari vektor terkompresi di memori, yang memungkinkan pemilihan kandidat secara cepat. Kemudian Anda menyempurnakan kueri dengan mengambil vektor presisi penuh dari SSD. Pendekatan ini menjaga latensi tetap rendah dan mempertahankan throughput tinggi, bahkan untuk kumpulan data skala miliaran. Anda mengoptimalkan pengambilan data dengan mengelompokkan pembacaan SSD dan menggunakan struktur navigasi yang efisien.
Anda mencapai recall dan kecepatan yang tinggi dengan DiskANN, bahkan ketika volume kueri Anda meningkat. Anda tidak perlu khawatir tentang batas memori, sehingga Anda dapat menskalakan performa pencarian untuk aplikasi perusahaan.
Anda mendapatkan latensi kueri dan throughput yang andal dengan DiskANN, menjadikannya pilihan yang kuat untuk pencarian tetangga terdekat skala besar.
Dampak Biaya dan Sumber Daya
Anda harus mempertimbangkan dampak biaya dan sumber daya saat memilih algoritma pencarian vektor untuk Azure AI Search. Cara setiap algoritma menggunakan memori dan penyimpanan memengaruhi anggaran serta kemampuan Anda untuk menskalakan.
DiskANN unggul untuk beban kerja miliaran vektor. Anda dapat menyimpan sebagian besar indeks di SSD, yang biayanya lebih murah daripada RAM. Desain ini memungkinkan Anda menskalakan dari ribuan hingga miliaran vektor tanpa kenaikan biaya memori yang besar. DiskANN cocok untuk beban kerja AI produksi karena memanfaatkan SSD secara efisien dan hanya menyimpan data paling penting di memori.
HNSW paling cocok untuk kumpulan data berukuran menengah. Anda perlu menyimpan seluruh indeks di RAM. Persyaratan ini membatasi seberapa jauh Anda dapat melakukan penskalaan. Jika kumpulan data Anda bertambah terlalu besar, Anda mungkin menghadapi biaya operasional yang tinggi. HNSW juga dibatasi hingga 2.000 dimensi, yang dapat membatasi kasus penggunaan Anda.
| Jenis Indeks | Cocok untuk Beban Kerja Miliaran Vektor | Kebutuhan Memori | Biaya Operasional |
|---|---|---|---|
| DiskANN | Ya, dirancang untuk performa SSD | Dapat diskalakan dari ribuan hingga miliaran vektor | Direkomendasikan untuk beban kerja AI produksi |
| HNSW | Tidak, cocok untuk kumpulan data menengah | Memerlukan indeks yang muat di RAM | Dibatasi hingga 2.000 dimensi |
Tips: Jika Anda ingin mengelola biaya dan menskalakan pencarian hingga miliaran vektor, DiskANN memberi Anda keunggulan yang jelas. Anda dapat menggunakan SSD yang terjangkau dan menjaga kebutuhan memori tetap rendah.
Kasus Penggunaan di Dunia Nyata
Anda dapat melihat nilai algoritma ini dalam aplikasi dunia nyata. Banyak organisasi menggunakan DiskANN dan HNSW untuk berbagai jenis masalah pencarian vektor.
- Anda dapat menggunakan metode hibrida yang hemat biaya untuk pencarian tetangga terdekat perkiraan. Pendekatan ini menggabungkan penyimpanan SSD dengan struktur graf dalam memori.
- Anda dapat menerapkan DiskANN untuk kumpulan data statis, seperti korpus penelitian, yang datanya tidak sering berubah.
- Anda dapat memilih DiskANN untuk penerapan yang sensitif terhadap biaya. DiskANN cocok untuk aplikasi skala miliaran ketika Anda perlu mengendalikan pengeluaran.
- Anda dapat menggunakan DiskANN untuk kueri yang dapat menoleransi latensi di bawah 10 milidetik. Kecepatan ini cukup cepat untuk banyak tugas pencarian perusahaan.
- Anda dapat mengombinasikan HNSW dengan berkas terbalik berbasis disk (HNSW-IF) untuk pencarian hibrida. Metode ini mencapai recall yang tinggi dan menjaga latensi tetap rendah.
| Kasus Penggunaan | Deskripsi |
|---|---|
| Kumpulan data statis | Ideal untuk korpus penelitian yang datanya tidak sering berubah. |
| Penerapan yang sensitif terhadap biaya | Cocok untuk aplikasi skala miliaran ketika biaya menjadi perhatian. |
| Kueri yang toleran terhadap latensi | Cocok untuk kueri yang dapat menoleransi latensi di bawah 10 ms. |
Catatan: Banyak organisasi mencapai recall 90% pada latensi 10 ms menggunakan metode hibrida. Performa ini memenuhi kebutuhan sebagian besar aplikasi pencarian AI perusahaan.
Anda dapat menyesuaikan pilihan algoritma dengan beban kerja Anda. Jika Anda perlu menskalakan, mengelola biaya, dan menjaga latensi tetap rendah, DiskANN memberi Anda fleksibilitas dan efisiensi yang dibutuhkan.
Kapan Menggunakan HNSW atau DiskANN
Memilih algoritma yang tepat untuk beban kerja Azure AI Search Anda dapat membuat perbedaan besar pada kecepatan, biaya, dan akurasi. Anda perlu meninjau data, perangkat keras, dan seberapa sering data Anda berubah. Mari kita uraikan kriteria keputusan utamanya agar Anda dapat memilih alat terbaik untuk kebutuhan pencarian vektor Anda.
Kriteria Keputusan
Ukuran Dataset
Anda sebaiknya selalu mulai dengan meninjau ukuran dataset Anda. Jika Anda bekerja dengan jutaan vektor, hnsw memberikan hasil pencarian yang cepat dan akurat. Algoritma ini paling cocok ketika data Anda muat di memori. Ketika dataset Anda tumbuh hingga miliaran vektor, diskann menjadi pilihan yang lebih baik. Algoritma ini menggunakan SSD untuk menyimpan sebagian besar indeks, sehingga Anda tidak perlu khawatir kehabisan RAM.
| Kriteria | HNSW | DiskANN |
|---|---|---|
| Ukuran Dataset | Cocok untuk jutaan vektor | Unggul untuk miliaran vektor |
Anda dapat melihat bahwa hnsw cocok untuk beban kerja yang lebih kecil, sementara diskann menangani dataset berskala masif tanpa melambat.
Perangkat Keras dan Biaya
Perangkat keras dan anggaran Anda juga berperan besar. hnsw membutuhkan banyak RAM karena menyimpan seluruh graf di memori. Biayanya bisa menjadi mahal seiring pertumbuhan basis data vektor Anda. diskann membantu menghemat biaya dengan menyimpan sebagian besar indeks di SSD, yang harganya lebih murah daripada RAM. Anda hanya memerlukan memori yang cukup untuk bagian navigasi indeks.
| Kriteria | HNSW | DiskANN |
|---|---|---|
| Infrastruktur | Kebutuhan RAM | Mengurangi biaya memori |
Jika Anda ingin menekan biaya tetapi tetap mencari di antara miliaran vektor, diskann memberikan keunggulan yang jelas.
Kebutuhan Latensi
Anda perlu mempertimbangkan seberapa cepat hasil pencarian Anda dibutuhkan. hnsw memberikan latensi yang sangat rendah karena pencariannya dilakukan di memori. Anda bisa mendapatkan hasil dalam beberapa milidetik jika data Anda muat di RAM. diskann menyeimbangkan kecepatan dan skala. Algoritma ini menggunakan proses pencarian dua tahap, sehingga Anda tetap mendapatkan hasil yang cepat meskipun dengan dataset yang sangat besar. Untuk sebagian besar aplikasi enterprise, diskann menjaga waktu kueri di bawah 10 milidetik.
- hnsw paling cocok untuk beban kerja yang setiap milidetiknya sangat berarti.
- diskann cocok ketika Anda perlu mencari dataset besar dengan cepat dan dapat menerima sedikit peningkatan latensi.
Pola Pembaruan
Seberapa sering data Anda berubah turut memengaruhi pilihan Anda. hnsw cocok untuk data yang statis atau berubah perlahan. Jika Anda sering memperbarui vektor, Anda mungkin perlu membangun ulang indeks, dan proses ini memakan waktu. diskann lebih adaptif terhadap pembaruan yang sering. Algoritma ini menjaga akurasi dan recall tetap stabil, meskipun Anda sering menambah atau mengubah vektor.
| Fitur | HNSW | DiskANN |
|---|---|---|
| Latensi Pembaruan | Memerlukan pembangunan ulang indeks secara penuh | Beradaptasi secara efisien terhadap perubahan |
| Recall | Tinggi, tetapi dipengaruhi oleh perubahan | Akurasi stabil saat sering terjadi mutasi |
Jika aplikasi Anda perlu menangani banyak pembaruan, diskann memberi Anda fleksibilitas yang lebih besar.
Skenario Contoh
Anda dapat menggunakan skenario nyata untuk membantu memutuskan algoritma mana yang sesuai dengan kebutuhan Anda.
| Metrik | HNSW | DiskANN |
|---|---|---|
| Rata-rata Recall | 0.6 | 0.7 |
| Akurasi End-to-End | 0.972 | 0.933 |
| Robustness-0.2@10 | 0.998 | 0.984 |
| Robustness-0.9 | 0.84 | 0.81 |
- hnsw memberikan recall yang tinggi dan throughput kueri yang cepat. Pada dataset seperti SIFT1M, Anda dapat mencapai recall sekitar 95% pada 10 dalam 1–2 milidetik per kueri menggunakan CPU.
- diskann menunjukkan rata-rata recall yang lebih tinggi, yang berarti algoritma ini menemukan lebih banyak kecocokan yang benar dalam dataset besar. Algoritma ini menjaga akurasi tetap tinggi meskipun data Anda terus bertambah.
- hnsw paling cocok untuk sistem rekomendasi atau mesin pencari yang membutuhkan akurasi dan kecepatan tertinggi.
- diskann cocok untuk pencarian skala besar, misalnya mencari miliaran gambar produk atau dokumen, ketika Anda perlu menyeimbangkan kecepatan, biaya, dan skala.
hnsw unggul untuk beban kerja yang membutuhkan pencarian secepat mungkin pada dataset yang lebih kecil. diskann bersinar ketika Anda perlu mencari melalui data dalam jumlah besar tanpa membebani anggaran.
Pendekatan Migrasi dan Hibrida
Anda tidak harus memilih satu algoritma untuk setiap situasi. Banyak organisasi memulai dengan hnsw untuk dataset yang lebih kecil. Seiring bertumbuhnya basis data vektor, mereka beralih ke diskann untuk menangani data yang lebih banyak dan menekan biaya. Anda juga dapat menggunakan pendekatan hibrida. Misalnya, Anda dapat menyimpan vektor yang paling populer atau terbaru di memori dengan hnsw, sementara vektor yang lebih lama atau jarang digunakan disimpan di SSD dengan diskann.
- Mulailah dengan hnsw untuk prototipe cepat dan beban kerja kecil.
- Bermigrasilah ke diskann saat dataset Anda melampaui batas memori.
- Gabungkan kedua metode untuk keseimbangan terbaik antara kecepatan dan skala.
Tips: Tinjau beban kerja Anda secara berkala. Seiring berubahnya data dan kebutuhan Anda, Anda dapat menyesuaikan pendekatan agar performa dan nilainya tetap optimal.
Dengan memahami ukuran dataset, perangkat keras, kebutuhan latensi, dan pola pembaruan Anda, Anda dapat memilih antara hnsw dan diskann secara tepat. Hal ini membantu Anda membangun sistem pencarian vektor yang sesuai dengan tujuan dan dapat tumbuh bersama bisnis Anda.
Praktik Terbaik untuk Pencarian Vektor di Azure
Tips Konfigurasi Indeks
Anda dapat mencapai performa tinggi di Azure AI Search dengan mengikuti beberapa tips konfigurasi penting. Mulailah dengan memastikan ukuran indeks Anda muat dalam satu unit pencarian vektor. Hal ini membantu menjaga pencarian Anda tetap cepat dan andal. Usahakan untuk memperkecil ukuran embedding. Embedding yang lebih kecil meningkatkan waktu kueri dan menaikkan jumlah kueri per detik. Gunakan kueri Approximate Nearest Neighbor agar lebih efisien, karena kueri ini mempercepat pencarian tanpa banyak mengorbankan akurasi.
Batasi jumlah hasil per kueri antara 10 dan 100. Rentang ini mengurangi latensi dan menjaga pencarian Anda tetap responsif. Hindari penggunaan endpoint model yang diskalakan ke nol di lingkungan produksi. Cold start dapat memperlambat pencarian dan membuat pengguna frustrasi. Rencanakan lonjakan kueri agar sistem Anda mampu menangani peningkatan trafik pencarian yang tiba-tiba. Gunakan service principal dengan token OAuth untuk autentikasi yang aman dan efisien. Selalu gunakan versi terbaru Python SDK untuk memanfaatkan peningkatan performa. Jika Anda membutuhkan throughput lebih tinggi, skalakan endpoint Anda atau jalankan secara paralel di beberapa endpoint.
Tips: Indeks yang dikonfigurasi dengan baik adalah fondasi pencarian vektor yang optimal di Azure.
Pemantauan dan Optimasi
Anda perlu memantau dan mengoptimalkan sistem pencarian Anda untuk menjaga performa tetap tinggi, terutama pada beban kerja dengan miliaran vektor. Tabel di bawah ini menampilkan beberapa teknik yang efektif:
| Teknik | Deskripsi |
|---|---|
| Indeks multi-tingkat | Gunakan indeks cepat untuk data yang sering diakses dan kompres data dingin untuk menghemat ruang. |
| Kontrol fan-out | Kelola interaksi antara shard dan cluster untuk mengurangi hop jaringan. |
| Kuantisasi | Perkecil ukuran vektor dengan metode seperti IVF-PQ agar sesuai dengan batas memori. |
| Penyetelan centroid | Sesuaikan jumlah centroid untuk menyeimbangkan recall dan overhead. |
| Asymmetric Distance Computation | Percepat pencarian dengan membandingkan kueri presisi penuh terhadap vektor terkompresi. |
| Perutean kueri yang disengaja | Gunakan metadata dan clustering untuk menghindari broadcast yang tidak perlu selama pencarian. |
| Minimalkan muatan jaringan | Transfer hanya ID dan skor, bukan vektor lengkap, antar-node. |
| Agregasi hierarkis | Agregasikan hasil secara lokal untuk mengurangi koordinasi dan menstabilkan latensi. |
| Dominasi memori | Pastikan vektor muat dalam memori untuk performa pencarian terbaik. |
| Penggunaan GPU sesuai situasi | Gunakan GPU untuk pengindeksan jika diperlukan, tetapi periksa apakah GPU benar-benar membantu throughput pencarian Anda. |
| Kualitas jaringan | Pantau kondisi jaringan, karena kondisi tersebut memengaruhi latensi pencarian. |
Catatan: Pemantauan rutin membantu Anda mendeteksi masalah sejak dini dan menjaga pencarian tetap berjalan lancar.
Jebakan Umum
Anda mungkin menghadapi sejumlah jebakan umum saat menyiapkan atau memperbesar sistem pencarian di Azure. Salah satunya adalah membiarkan indeks tumbuh terlalu besar untuk satu unit pencarian. Hal ini dapat memperlambat kueri dan membuat pencarian kurang andal. Penggunaan embedding yang besar juga dapat menurunkan performa. Selalu jaga embedding Anda tetap sekecil mungkin untuk kasus penggunaan Anda.
Jebakan lainnya adalah mengabaikan lonjakan kueri. Jika Anda tidak merencanakan peningkatan trafik pencarian yang tiba-tiba, sistem Anda bisa gagal di bawah tekanan. Mengandalkan endpoint yang diskalakan ke nol dapat menyebabkan keterlambatan cold start, yang memperlambat pencarian. Tidak memperbarui SDK atau tidak menggunakan token OAuth dapat menimbulkan risiko keamanan dan melewatkan peningkatan performa.
Ingat: Hindari jebakan-jebakan ini agar pencarian Anda tetap cepat, aman, dan andal.
Dengan mengikuti praktik terbaik ini, Anda dapat membangun pengalaman pencarian yang kokoh dan efisien di Azure. Anda akan mampu menangani dataset besar dengan mudah dan memberikan hasil yang cepat serta akurat kepada pengguna.
Anda memecahkan masalah miliaran vektor di Azure AI Search dengan memilih algoritma yang sesuai dengan kebutuhan Anda. DiskANN memberi skalabilitas yang hemat biaya untuk kumpulan data yang sangat besar, sedangkan HNSW memberikan hasil cepat untuk beban kerja yang lebih kecil. Anda mencocokkan algoritma dengan beban kerja, skala, dan anggaran Anda. Tabel di bawah ini membantu Anda memilih endpoint terbaik:
| Jenis SKU | Deskripsi Kasus Penggunaan |
|---|---|
| Endpoint Standar | Paling cocok untuk kebutuhan latensi kritis dengan indeks di bawah 320 juta vektor. |
| Endpoint Teroptimasi Penyimpanan | Ideal untuk 10 juta+ vektor, dapat mentoleransi sedikit latensi, dan membutuhkan efisiensi biaya. |
- Perkirakan kebutuhan penyimpanan Anda dengan menguji beberapa dokumen.
- Rencanakan pembaruan dan total volume konten.
Azure AI Search memberi Anda fleksibilitas dan mendukung inovasi Microsoft untuk AI perusahaan.
Pertanyaan Umum
Apa perbedaan utama antara HNSW dan DiskANN?
Anda menggunakan HNSW untuk pencarian vektor dalam memori. DiskANN memungkinkan Anda menyimpan sebagian besar indeks di SSD. Hal ini membuat DiskANN lebih baik untuk menangani miliaran vektor tanpa biaya memori yang tinggi.
Bisakah Anda menggunakan DiskANN untuk aplikasi real-time?
Bisa. DiskANN menghadirkan pencarian berlatensi rendah, sering kali di bawah 10 milidetik. Anda dapat menggunakannya untuk tugas pencarian AI real-time, bahkan dengan kumpulan data yang sangat besar.
Bagaimana cara memutuskan algoritma mana yang digunakan di Azure AI Search?
Anda memilih HNSW untuk kumpulan data yang lebih kecil dan muat di RAM. Anda memilih DiskANN untuk kumpulan data berukuran besar yang membutuhkan penskalaan hemat biaya. Pertimbangkan ukuran data, perangkat keras, dan kebutuhan latensi Anda.
Apakah DiskANN memerlukan perangkat keras khusus?
Tidak. Anda dapat menjalankan DiskANN di server standar dengan SSD. Anda tidak memerlukan mesin dengan memori besar yang mahal. Hal ini membuat penskalaan lebih mudah dan terjangkau.
Bagaimana Azure AI Search menjaga keamanan data Anda?
Azure AI Search menggunakan enkripsi dan kontrol akses. Anda mengendalikan siapa yang dapat mengakses data Anda. Fitur keamanan Microsoft membantu Anda melindungi informasi sensitif.
Bisakah Anda memperbarui indeks vektor tanpa downtime?
Anda dapat memperbarui indeks HNSW maupun DiskANN. DiskANN mendukung pembaruan yang efisien untuk kumpulan data besar. Anda menjaga hasil pencarian tetap segar tanpa membuat sistem Anda offline.
Apa saja praktik terbaik untuk mengoptimalkan performa pencarian vektor?
Gunakan embedding yang lebih kecil, jaga indeks Anda tetap dalam satu unit pencarian, dan pantau latensi kueri. Selalu perbarui SDK Anda dan rencanakan lonjakan kueri untuk menjaga performa tetap tinggi.
🎧 Dengarkan episode ini
Ingin penjelasan praktis tentang HNSW vs DiskANN for Vector Search in Azure AI Search? Episode ini menguraikan topik tersebut dengan bahasa yang jelas dan menunjukkan mengapa hal ini penting untuk Microsoft 365, Azure, Power Platform, keamanan, AI, dan dunia kerja modern.
Dengarkan episode ini jika Anda ingin:
- Memahami konsep utama di balik HNSW vs DiskANN for Vector Search in Azure AI Search
- Melihat bagaimana topik ini cocok dengan ekosistem teknologi Microsoft yang lebih luas
- Mempelajari di mana topik ini dapat menciptakan nilai praktis bagi organisasi Anda
Anda mungkin juga menikmati episode M365 FM terkait berikut:
- Improve Microsoft Copilot Accuracy Beyond Vector Search
- Azure AI Search – Simply Explained
- Vector Databases - Simply Explained
- Microsoft Graph API Discovery untuk Pencarian Semantik Perusahaan
- Membuat Pencarian SharePoint Menampilkan File yang Tepat Terlebih Dahulu
Temukan lebih banyak percakapan praktis Microsoft di M365 FM.
Terakhir ditinjau: Juli 2026.
Siapa yang Sebaiknya Mendengarkan
Episode ini ditujukan bagi administrator Microsoft, arsitek, pengembang, profesional keamanan, dan pemimpin bisnis yang membutuhkan landasan praktis sebelum mengambil keputusan implementasi, operasional, atau tata kelola.
🎧 Anda Juga Sebaiknya Dengarkan
- Azure Resource Manager — Langkah lanjutan yang sangat terkait untuk memperdalam topik ini.
- Infrastructure as Code — Langkah lanjutan yang sangat terkait untuk memperdalam topik ini.
- Azure Policy — Langkah lanjutan yang sangat terkait untuk memperdalam topik ini.