Vector DB कंपनी में 2 साल काम करते हुए सीखी गई बातें
(leoniemonigatti.com)Vector DB Weaviate में काम करते हुए, वास्तविक प्रोडक्शन अनुभव से मिली 37 सीखों का सार
↳ BM25, keyword search की उपयोगिता से लेकर vector search·embedding·hybrid search तक
1. BM25 search में एक मज़बूत baseline है
- जटिल vector search से पहले BM25 जैसी सरल keyword search लागू करके performance देखना, और फिर धीरे-धीरे vector search तक विस्तार करना व्यावहारिक है
2. Vector search approximate होती है, exact नहीं
- बड़े पैमाने के डेटा में approximate nearest neighbor (ANN) algorithms (HNSW, IVF, ScaNN आदि) का उपयोग करके speed बढ़ाई जाती है, लेकिन accuracy में कुछ समझौता करना पड़ता है
- vector indexing ही vector DB की बड़े पैमाने पर speed सुनिश्चित करने का मुख्य आधार है
3. Vector DB सिर्फ embeddings स्टोर नहीं करती
- मूल डेटा (text आदि) और metadata भी साथ में स्टोर होते हैं, जिससे metadata filtering, keyword search, hybrid search आदि संभव होते हैं
4. Vector DB का मुख्य उपयोग generative AI नहीं, बल्कि ‘search’ है
- LLM में context डालना भी मूलतः ‘search’ ही है, और vector DB व LLM का संयोजन बहुत अच्छा बैठता है
5. Search result की संख्या सीधे निर्दिष्ट करनी होती है
limitयाtop_kparameter नहीं देने पर query के सबसे करीब आने वाले सभी results sort होकर लौट आते हैं
6. Embedding के प्रकार कई हैं
- Dense vectors के अलावा sparse, binary, multi-vector जैसे कई embedding vector formats मौजूद हैं
7. Embedding model चुनने के लिए benchmark
- MTEB कई embedding tasks (classification, clustering, search आदि) को कवर करता है
- information retrieval पर केंद्रित benchmark के लिए BEIR देखें
8. MTEB के ज़्यादातर models सिर्फ English के लिए हैं
- अगर environment multilingual/English-के-बाहर है, तो MMTEB benchmark उपयोग करने की सलाह दी जाती है
9. Embedding का इतिहास: Static vs Contextual
- Word2Vec, GloVe जैसी static embeddings हर शब्द के लिए स्थिर representation देती हैं
- BERT जैसी contextual embeddings प्रसंग के अनुसार dynamic vector बनाती हैं
- static embeddings resource-constrained environment में तेज़ reference के लिए उपयोगी हो सकती हैं
10. Sparse vector और sparse embedding में अंतर
- sparse vector: TF-IDF/BM25 जैसी statistical methods या neural-network-based methods (sparse embedding, SPLADE आदि) से बन सकती है
- हर sparse embedding एक sparse vector है, लेकिन हर sparse vector sparse embedding नहीं है
11. Text के अलावा कई तरह के डेटा को embed किया जा सकता है
- image, PDF (image conversion), graph आदि को भी embed करके multimodal vector search किया जा सकता है
12. Embedding dimensions और storage cost
- dimensions बढ़ने पर storage cost भी बढ़ती है
- “chatbot use” जैसे सरल use case के लिए high-dimensional model ज़रूरी नहीं हो सकता
- Matryoshka Representation Learning से low-dimensionalization भी संभव है
13. “Chat with your docs” tutorial generative AI का hello world है
14. Embedding model को बार-बार call करना पड़ता है
- सिर्फ document ingestion पर नहीं, बल्कि query के समय, document जोड़ने/बदलने पर, और embedding model बदलने पर भी embedding और indexing की ज़रूरत पड़ती है
15. Vector similarity और वास्तविक relevance अलग हो सकते हैं
- मिलते-जुलते वाक्य (जैसे “नल ठीक करने का तरीका” vs “नल कहाँ खरीदें”) वास्तविक रूप से कम relevant हो सकते हैं
16. Cosine similarity और cosine distance अलग हैं
- similarity और distance गणितीय रूप से व्युत्क्रमानुपाती संबंध में होते हैं
- एक ही vector होने पर similarity 1 और distance 0 होती है
17. Vector normalization होने पर cosine similarity और dot product एक जैसे होते हैं
- normalized vectors के लिए गणना में dot product अधिक efficient होता है
18. RAG का R ‘vector search’ नहीं, ‘retrieval’ है
- RAG में retrieval के कई तरीके हो सकते हैं (keyword, vector, filter आदि)
19. Vector search, search toolkit का सिर्फ एक हिस्सा है
- keyword search, filtering, reranking जैसी कई विधियों और उनके संयोजन (hybrid) का महत्व है
20. Keyword/vector search का सही उपयोग
- semantic/synonym matching के लिए vector search, exact keyword के लिए keyword search, और दोनों की ज़रूरत हो तो hybrid search व
alphaweight tuning उपयोगी है
21. Hybrid search का अर्थ
- आम तौर पर keyword+vector combination को कहा जाता है, लेकिन metadata जैसी अन्य search methods के साथ संयोजन भी ‘hybrid’ कहलाता है
22. Filtering हमेशा speed नहीं बढ़ाती
- उदाहरण के लिए HNSW graph की connectivity टूट सकती है, और post-filtering करने पर result ही न मिले
- हर vector DB इसके लिए अलग optimization techniques अपनाती है
23. Two-stage search pipeline की उपयोगिता
- सिर्फ recommendation systems में नहीं, RAG जैसे scenarios में भी पहले candidate set निकालकर, फिर दूसरे चरण में high-performance reranking से quality सुधारी जा सकती है
24. Vector search और reranking में अंतर
- vector search पूरे DB से कुछ results लौटाती है, जबकि reranking मिले हुए result set का क्रम फिर से तय करती है
25. Embedding के लिए chunk size चुनना कठिन है
- बहुत छोटा हो तो context loss, बहुत बड़ा हो तो meaning dilute हो जाता है
- mean pooling जैसी तकनीक से पूरे document को vectorize किया जा सकता है, लेकिन जानकारी पतली पड़ सकती है (जैसे पूरी फिल्म के सभी frames मिलाकर एक poster बना देना)
26. Vector indexing library और vector DB में अंतर
- दोनों तेज़ हो सकते हैं, लेकिन vector DB durability, CRUD, filter/hybrid जैसी data management capabilities भी देती है
27. LLM context बढ़ने पर भी RAG विकसित होता रहेगा
- हर बार लंबे-context LLM आने पर ‘RAG मर गया’ जैसी चर्चा होती है, लेकिन व्यवहार में इसकी ज़रूरत बनी रहती है
28. Vector quantization से 97% जानकारी घटाकर भी search बनाए रखी जा सकती है
- binary quantization जैसी तकनीकों से storage को 32 गुना तक घटाया जा सकता है (32-bit float → 1-bit आदि)
29. Vector search typos के प्रति robust नहीं होती
- बड़े text corpus में भी हर typo reflect नहीं होता; सिर्फ कुछ typos ही cover होते हैं
30. Search quality के evaluation metrics कई हैं
- NDCG@k जैसे ranking-based metrics के साथ Precision/Recall जैसे सरल metrics भी परिस्थिति के अनुसार प्रभावी हो सकते हैं
31. Precision-Recall trade-off का व्यावहारिक उदाहरण
- सिर्फ एक result लौटाना (Precision ↑/Recall ↓), या सारे results लौटाना (Recall ↑/Precision ↓) जैसे extreme cases से समझाया जा सकता है
32. Search result के क्रम को दर्शाने वाले metrics
- Precision/Recall क्रम को नहीं दर्शाते, इसलिए MRR@k, MAP@k, NDCG@k जैसे order-aware metrics की ज़रूरत होती है
33. Tokenizer का प्रभाव
- सिर्फ BPE ही नहीं, keyword/hybrid search की quality पर भी tokenizer असर डालता है
34. Out-of-domain और out-of-vocabulary अलग चीज़ें हैं
- OOV को smart tokenizer से संभाला जा सकता है, लेकिन out-of-domain में embedding खुद ही अर्थपूर्ण नहीं रहती
35. Query optimization की ज़रूरत
- keyword search की तरह vector search में भी query input optimization की आदत ज़रूरी है
36. Vector search के बाद का paradigm
- keyword search → vector search → LLM reasoning आधारित retrieval की दिशा में विकास हो रहा है
37. Information retrieval इस समय सबसे ‘hot’ क्षेत्रों में से एक है
- LLM के साथ, LLM को देने के लिए ‘सबसे उपयुक्त जानकारी’ खोजना आज सबसे केंद्रीय और महत्वपूर्ण कार्य है
1 टिप्पणियां
Vector search पर काम करते हुए जिन बातों पर सोचा गया है, वे काफ़ी दिलचस्प हैं।