22 पॉइंट द्वारा xguru 2024-12-10 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • बड़े पैमाने के vectors को लागत-कुशल तरीके से मैनेज करने के लिए PostgreSQL के लिए एक नया vector search extension
  • 768 dimensions वाले 10 करोड़ vectors पर top-10 queries में QPS 131 और accuracy 0.95 हासिल की जा सकती है
    • एक single machine पर $250/माह में चलाया जा सकता है
  • $1 में 400,000 vectors स्टोर किए जा सकते हैं:
    • Pinecone (storage-optimized instance) की तुलना में 6 गुना सस्ता
    • pgvector की तुलना में 26 गुना सस्ता

HNSW(Hierarchical Navigable Small Worlds) आधारित vector database की समस्याएँ

  • लंबा index creation time: 50 लाख records के लिए 2 घंटे से अधिक समय
  • उच्च memory requirement: 1 करोड़ vectors स्टोर करने पर अधिकतम 40GB की आवश्यकता

VectorChord का अभिनव समाधान: disk-friendly IVF+RaBitQ

  • IVF(inverted file index) और RaBitQ quantization का उपयोग
    • 32-bit vectors को compressed bit representation में बदलकर computation cost कम की जाती है
    • अधिकांश comparisons compressed vectors का उपयोग करते हैं, और accuracy सुनिश्चित करने के लिए कुछ vectors पर full-precision computation किया जाता है
  • HNSW से तेज़ और अधिक efficient search:
    • RaBitQ vectors को 1-bit में compress करता है, जिससे computation speed 100 गुना बढ़ती है
    • उच्च accuracy बनाए रखते हुए speed को optimize किया जा सकता है

प्रमुख benchmark परिणाम

GIST dataset (1M, 960 dimensions)

  • VectorChord का QPS pgvector की तुलना में 2 गुना अधिक है
  • KMeans clustering को external GPU पर चलाकर बाद में PostgreSQL में import करने की पद्धति का उपयोग
  • AWS i4i.large instance (2 vCPUs, 16GB RAM) पर 7 लाख vectors की indexing में लगा समय: 186 सेकंड
    • pgvector की तुलना में 16 गुना तेज़
    • insertion speed भी 14 गुना तेज़

LAION 5M dataset

  • r6a.xlarge machine पर परीक्षण (4 vCPUs, 32GB RAM, 200GB EBS):
    • उच्च accuracy पर भी तेज़ response बना रहता है
    • $165.56/माह लागत पर समान प्रदर्शन देता है, और प्रतिस्पर्धी platforms की तुलना में अधिक लागत-कुशल है

LAION 100M dataset

  • AWS i4i.xlarge instance (4 vCPUs, 32GB RAM, 937GB SSD):
    • QPS 16.2 @ recall 0.95 (top-10 results के आधार पर)
    • multi-threaded environment में requests बढ़ने के साथ linear QPS growth देखी गई

VectorChord के प्रमुख फायदे

  • PostgreSQL की physical replication और अन्य features के साथ compatible
  • external index creation का समर्थन:
    • अधिक शक्तिशाली machine पर index बनाकर उसे छोटे machine में import करके query चलाई जा सकती है
    • एक single machine पर अरबों vectors तक support संभव
  • कम लागत, उच्च प्रदर्शन: प्रतिस्पर्धी platforms की तुलना में मासिक लागत में बड़ा बचाव

सारांश और अतिरिक्त जानकारी

  • VectorChord PostgreSQL environment में efficient vector search प्रदान करता है
  • IVF और RaBitQ quantization के माध्यम से speed और memory usage को optimize करके इसे बड़े datasets के लिए उपयुक्त बनाया गया है
  • cloud managed service: PGVecto.rs Cloud
    • आसान deployment और scaling संभव

1 टिप्पणियां

 
xguru 2024-12-10

Vector, PostgreSQL का नया JSON है
ऊपर दिए गए लेख में उद्धृत pgvector और VectorChord का पूर्ववर्ती pgvecto.rs अलग-अलग extensions हैं।
pgvector vs. pgvecto.rs in 2024: A Comprehensive Comparison for Vector Search in PostgreSQL

pgvecto.rs बनाने वाली टीम ने VectorChord बनाया है और दोनों को साथ में मैनेज कर रही है। अभी तक सभी features पूरी तरह VectorChord में migrate नहीं हुए हैं। कहा गया है कि अगले साल के आसपास pgvecto.rs का support बंद करके VectorChord पर चला जाएगा।

जो लोग Postgres में vector store कर रहे हैं, वे इसे संदर्भ के लिए देख सकते हैं।