पाठ 28 / 28

Revision: Cheat Sheet और Self-Check

पूरे कोर्स के मुख्य विचार दोहराएँ।

Cheat sheet

विचार: embedding सीखा हुआ vector है; समान अर्थ का मतलब पास के vectors; हर मॉडल का अपना space है (मॉडल कभी न मिलाएँ)। Similarity: dot लंबाई और कोण के साथ बढ़ता है, cosine सिर्फ़ दिशा है, L2 दूरी है; इकाई vectors के लिए cosine = dot और L2 वही क्रम देता है, इसलिए normalise करें। आयाम: ज़्यादा अपने आप बेहतर नहीं; भंडारण = vectors × आयाम × bytes; random डेटा दूरियाँ सिकोड़ता है। बनाना: संदर्भ से सीखा (LSA, word2vec) और transformers का contrastive प्रशिक्षण; भाषाओं, domain, अधिकतम लंबाई, आयाम, लागत, licence और अपने recall से चुनें; अच्छा chunk करें, अधिकतम लंबाई मानें, ज़रूरत पर query/document prefixes। खोज: पहले सटीक kNN (ground truth); IVF (nprobe) और HNSW (efSearch) गति के लिए recall देते हैं; scalar और product quantisation memory के लिए सटीकता। आगे: query के भीतर metadata filters, RRF के साथ hybrid BM25 + vector, cross-encoder reranking, clustering, near-duplicate सीमाएँ, बहुभाषी और multimodal मॉडल। गुणवत्ता: recall@k, MRR, nDCG वाला golden set; कारण-अनुसार error विश्लेषण; मॉडल बदलाव पर समानांतर index से re-index। Production: library बनाम database extension बनाम समर्पित engine; वृद्धिशील अद्यतन और deletes; memory अंकगणित और p95/p99; vectors स्रोत जितने संवेदनशील; अनुमतियाँ query में।

त्वरित जाँच: User "time off work" खोजता है पर नीति में "annual leave" लिखा है। कौन-सा तरीक़ा इसे सबसे सीधे ठीक करता है?

  • सिर्फ़ सटीक string मिलान
  • Embedding (semantic) search, आदर्श रूप से keyword search के साथ
  • nprobe बढ़ाना
  • int8 vectors उपयोग करना
Answer

Embedding (semantic) search, आदर्श रूप से keyword search के साथ — Semantic embeddings शब्दावली-बेमेल पाटते हैं; keyword search सटीक शब्द फिर भी सँभालती है।

त्वरित जाँच: आप embedding model upgrade करते हैं और सिर्फ़ नए दस्तावेज़ दोबारा embed करते हैं, पुराने vectors छोड़ देते हैं। क्या बिगड़ता है?

  • कुछ नहीं, vectors अदल-बदल योग्य हैं
  • पुराने और नए vectors अलग spaces में हैं, इसलिए तुलना अर्थहीन हो जाती है
  • Index छोटा हो जाता है
  • सिर्फ़ latency बदलती है
Answer

पुराने और नए vectors अलग spaces में हैं, इसलिए तुलना अर्थहीन हो जाती है — मॉडल बदलने पर सब कुछ नए index में दोबारा embed करें।

त्वरित जाँच: आपके HNSW index का exact खोज के विरुद्ध recall@10 0.93 है। समझदार अगला क़दम क्या है?

  • बिना परखे छोटा मॉडल लगाएँ
  • उसे पूर्ण घोषित करें
  • Index हटाएँ
  • efSearch (या index parameters) बढ़ाएँ और लक्ष्य recall व latency के विरुद्ध दोबारा मापें
Answer

efSearch (या index parameters) बढ़ाएँ और लक्ष्य recall व latency के विरुद्ध दोबारा मापें — Recall और latency में समझौता होता है; स्वीकार्य लागत पर लक्ष्य पूरा होने तक tune करें।