# Embeddings कहाँ से आते हैं — Embeddings और Vector Search

Source: https://www.geekswithgeeks.com/hi/embeddings/b-origin

> देखें कि मॉडल डेटा से vectors कैसे सीखते हैं।

## संदर्भ से सीखे हुए

Embeddings **सीखे** जाते हैं, हाथ से नहीं लिखे। **LSA** जैसे पुराने तरीक़े शब्द-दस्तावेज़ गिनती matrices का गुणनखंड करते थे; **word2vec** और **GloVe** ने पास-पास आने वाले शब्दों से शब्द vectors सीखे ("शब्द को उसकी संगत से पहचानो")। आधुनिक पाठ embeddings **contrastive learning** से प्रशिक्षित **transformer encoders** से आते हैं: मॉडल ऐसी जोड़ियाँ देखता है जो मेल खानी चाहिए (सवाल और उसका उत्तर, शीर्षक और लेख, दो पुनर्कथन) और जो नहीं, और विशाल डेटासेट पर मेल खाती जोड़ियों को पास लाना व बाक़ी को दूर धकेलना सीखता है। नतीजा ऐसा मॉडल है जो कई भाषाओं का कोई भी पाठ साझा space में vector पर map करता है। अलग मॉडल **अलग spaces** बनाते हैं: दो मॉडलों के vectors की आपस में तुलना नहीं हो सकती।

## एक चित्र में प्रशिक्षण संकेत

Contrastive प्रशिक्षण space को कैसे आकार देता है।

```text
positive pair   ("How many leave days?", "Employees get 24 days of annual leave")  -> pull vectors together
negative pair   ("How many leave days?", "Hotels are capped at 6000 rupees")            -> push vectors apart

after training on millions of such pairs:
   [leave questions] [leave policies]  <- one neighbourhood
   [hotel questions] [travel policies] <- another neighbourhood
```

## Model card देखें

उसमें भाषाएँ, अधिकतम इनपुट लंबाई, vectors normalised हैं या नहीं और query/document prefixes होते हैं। कुछ भी index करने से पहले पढ़ें।

**Quiz:** दो अलग embedding models के vectors की तुलना क्यों नहीं हो सकती?

- [x] हर मॉडल अपना space और निर्देशांक तय करता है
- [ ] उनकी bytes लंबाई हमेशा अलग होती है
- [ ] मॉडल licence से इसे मना करते हैं
- [ ] यह सिर्फ़ धीमा है

*Answer:* हर मॉडल अपना space और निर्देशांक तय करता है. हर मॉडल में आयाम 17 का अर्थ अलग होता है।
