Alibaba Cloud AISearch for Milvus (Milvus) farklı Compute Unit (CU) türleri ve esnek hesaplama düğümü (Query Node) sayıları sunar. İş senaryonıza uygun bir örnek türü seçmek için bu referansı kullanın.
CU türleri
Milvus hesaplama düğümleri aşağıdaki CU türlerini destekler:
Compute-optimized: Arama, öneri sistemleri, üretken yapay zeka ve sohbet botları gibi yüksek QPS ve düşük gecikme süresi gerektiren iş yükleri için en iyisidir.
-
Storage-optimized: Orta düzeyde arama performansı gereksinimi olan büyük veri hacimleri için en iyisidir. Depolama için optimize edilmiş örnekler, hesaplama için optimize edilmiş örneklerin dört katı depolama kapasitesi sunar ve çoğu senaryonun ihtiyaçlarını karşılayan mükemmel bir performans sağlar. Büyük ölçekli yapılandırılmamış veri alma, telif hakkı tespiti ve model verisi hazırlığı için idealdir.
ÖnemliŞu anda depolama için optimize edilmiş CU'ların aşağıdaki sınırlamaları vardır:
Yalnızca yatay ölçeklendirme (scale-out) ve küçültme (scale-in) desteklenir. Dikey yükseltme veya düşürme desteklenmez. Satın almadan önce CU teknik özelliklerini dikkatlice onaylayın.
Yalnızca DiskANN dizini önerilir. Bu dizin türü yalnızca float vektör verilerini destekler. Vektörler arasındaki mesafeyi ölçmek için yalnızca Öklid mesafesi (L2), iç çarpım (IP) veya kosinüs benzerliği (COSINE) desteklenir.
Depolama kapasitesi karşılaştırması
|
CU türü |
Dizin türü |
CU teknik özellikleri |
Vektör veri kapasitesi referansı (128 boyutlu SIFT vektör verilerine göre) |
Vektör veri kapasitesi referansı (960 boyutlu GIST vektör verilerine göre) |
|
Compute-optimized |
HNSW M:30 efConstruction:360 |
4 vCPU 16 GiB (4 CU) |
16 milyon |
3 milyon |
|
8 vCPU 32 GiB (8 CU) |
32 milyon |
6 milyon |
||
|
16 vCPU 64 GiB (16 CU) |
64 milyon |
12 milyon |
||
|
32 vCPU 128 GiB (32 CU) |
128 milyon |
24 milyon |
||
|
Storage-optimized |
DiskANN |
8 vCPU 32 GiB (8 CU) |
120 milyon |
23 milyon |
|
16 vCPU 64 GiB (16 CU) |
240 milyon |
46 milyon |
||
|
32 vCPU 128 GiB (32 CU) |
480 milyon |
92 milyon |
Tablodaki veriler performans testlerine dayanır ve kapasite değerlendirmesi için referans niteliğindedir.
Test veri kümesi, skaler alanlar olmadan yalnızca birincil anahtarlar ve vektör verileri içerir. Birincil anahtarlar, sıfırdan başlayarak artan pozitif tam sayılardır ve dizeye dönüştürülür. Skaler alanlar çoğu üretim ortamında temel olup depolama da tükettiğinden, depolayabileceğiniz gerçek vektör sayısı tablodaki değerlerden daha düşük olacaktır.
Sorgu performansı karşılaştırması
|
CU türü |
CU teknik özellikleri |
Dizin türü |
topk=50 |
topk=100 |
topk=250 |
topk=1000 |
||||
|
QPS |
RT_p99 |
QPS |
RT_p99 |
QPS |
RT_p99 |
QPS |
RT_p99 |
|||
|
Compute-optimized |
16 vCPU 64 GiB (16 CU) |
HNSW M:30 efConstruction:360 |
2000 |
< 10 ms |
1200 |
< 10 ms |
550 |
< 15 ms |
150 |
< 30 ms |
|
Storage-optimized |
16 vCPU 64 GiB (16 CU) |
DiskANN |
700 |
< 15 ms |
550 |
< 20 ms |
200 |
< 30 ms |
60 |
< 50 ms |
Veriler, Cohere veri kümesinden (10 milyon vektör, 768 boyut) alınan test sonuçlarına dayanır. Gerçek performans, farklı veri kümelerinin veri dağılımına göre değişir.
RT_p99, 1.000 sorgu art arda çalıştırılarak ve 99. yüzdelik yanıt süresi alınarak ölçülür.
Test verileri, skaler alanlar olmadan yalnızca birincil anahtarlar ve vektör verileri içerir. Birincil anahtarlar sıfırdan başlayarak artan pozitif tam sayılardır. Hesaplama için optimize edilmiş örneklerde HNSW, depolama için optimize edilmiş örneklerde ise DiskANN kullanılır.
Milvus, vektör dizinlerini arka planda düzenli olarak optimize eder. Bu işlem genellikle veriler yazıldıktan sonraki 3 saat içinde tamamlanır ve ardından sistem en iyi performansa ulaşır.
Hesaplama düğümü sayısı
Hesaplama düğümlerinin (Query Nodes) sayısını 1'den 50'ye kadar ölçeklendirebilirsiniz. QPS, düğüm sayısıyla doğrusal olarak artar. Daha fazla düğüm hizmet kullanılabilirliğini de artırır; bu nedenle yüksek kullanılabilirlik gerektiren üretim ortamları için en az 2 düğüm kullanın.
Senaryo analizi
20 milyon görüntü içeren bir görüntü alma sistemi oluşturduğunuzu varsayalım. Her görüntü, 768 boyutlu bir vektörle temsil edilir. Amacınız, saniyede 2.000 arama isteğini işlemek ve ilk 100 sonucu 10 milisaniye içinde döndürmektir. Seçeneklerinizi aşağıdaki gibi değerlendirin:
Gecikme süresi değerlendirmesi: Gecikme süresi gereksinimlerinize göre bir CU türü seçin. Örneğin, 10 milisaniyeden az bir gecikme süresi gerekiyorsa, bu gereksinimi karşılayan tek tür compute-optimized CU'dur.
Kapasite değerlendirmesi: Veri hacmine ve boyutlarına göre gerekli CU sayısını hesaplayın. Tek bir 16 vCPU 64 GiB (16 CU) compute-optimized CU, 12 milyon 960 boyutlu vektörü işleyebilir. 20 milyon 768 boyutlu vektörü barındırmak için toplamda 32 CU olacak şekilde en az iki böyle CU yapılandırmanız gerekir.
Aktarım hızı doğrulaması: Belirtilen top-k ayarı için her düğümün aktarım hızını doğrulayın. Örneğin, top-k 100 olarak ayarlandığında, compute-optimized bir düğüm 1.200 QPS sağlar. 2.000 QPS'lik sürdürülebilir bir performans elde etmek için düğüm sayısını iki katına çıkarmanız gerekir.
Bu analize dayanarak, compute-optimized CU'ları seçin ve her biri 16 vCPU 64 GiB (16 CU) teknik özelliklerine sahip dört düğüm yapılandırın.