टोकनाइज़ेशन के बाद, हर टोकन बस एक संख्या है - शब्दकोश में एक इंडेक्स। लेकिन इंडेक्स 4,821 मॉडल को अर्थ के बारे में कुछ नहीं बताता। AI को कैसे पता चलता है कि "king" और "queen" संबंधित हैं, या "bank" का मतलब नदी का किनारा या बैंक हो सकता है? इसका जवाब है एम्बेडिंग्स।
भोले दृष्टिकोण में हर शब्द को एक वेक्टर से दर्शाया जाता है जिसमें एक 1 और हज़ारों 0 होते हैं। "Cat" हो सकता है [0, 0, 1, 0, ..., 0] और "dog" [0, 0, 0, 1, ..., 0]।
इसमें दो गंभीर दोष हैं:
एक एम्बेडिंग हर टोकन को, मान लें, 256 या 768 आयामों के एक सघन वेक्टर में मैप करती है। one-hot वेक्टर के विपरीत, ये आयाम ट्रेनिंग के दौरान सीखे जाते हैं और अर्थ को एन्कोड करते हैं।
समान संदर्भों में उपयोग होने वाले शब्द इस स्थान में पास-पास आ जाते हैं। "Puppy" "kitten" के पास होता है। "London" "Paris" के पास होता है। स्थान की ज्यॉमेट्री ही अर्थ है।
2013 के Word2Vec पेपर ने कुछ उल्लेखनीय दिखाया। बड़े टेक्स्ट कॉर्पस पर ट्रेन किए गए वेक्टर अरिथमेटिक संबंध प्रदर्शित करते हैं:
vector("king") − vector("man") + vector("woman") ≈ vector("queen")
"man" से "woman" की दिशा जेंडर की अवधारणा को पकड़ती है। इसे "king" में जोड़ने पर "queen" पर पहुँच जाते हैं। यह प्रोग्राम नहीं किया गया - यह भाषा के पैटर्न से स्वयं उभरता है।
अन्य उदाहरण: , ।
Sign in to join the discussion
Paris − France + Italy ≈ Romebigger − big + small ≈ smallerWord2Vec को 2013 में Google में Tomáš Mikolov ने बनाया था। इस पेपर के 40,000 से अधिक साइटेशन हैं और इसे अब तक प्रकाशित सबसे प्रभावशाली NLP पेपरों में से एक माना जाता है। इसने प्रदर्शित किया कि कच्चे टेक्स्ट पर ट्रेन किए गए सरल न्यूरल नेटवर्क अद्भुत सिमैंटिक संबंध सीख सकते हैं।
आधुनिक मॉडल अलग-अलग एम्बेडिंग आकारों का उपयोग करते हैं:
| मॉडल | एम्बेडिंग आयाम | |-------|---------------------| | Word2Vec | 100–300 | | BERT | 768 | | GPT-3 | 12,288 | | OpenAI text-embedding-3-large | 3,072 |
अधिक आयाम सूक्ष्म भेदों को पकड़ते हैं लेकिन अधिक मेमोरी और कम्प्यूट की आवश्यकता होती है। इसे किसी व्यक्ति का वर्णन करने जैसा सोचें: 3 आयाम (ऊँचाई, वज़न, उम्र) एक मोटा रेखाचित्र देते हैं; 768 आयाम एक विस्तृत चित्र बनाते हैं।
प्रसिद्ध समीकरण 'king − man + woman ≈ queen' क्या प्रदर्शित करता है?
वर्ड एम्बेडिंग्स अलग-अलग शब्दों को दर्शाती हैं, लेकिन अक्सर हमें पूरे वाक्यों या दस्तावेज़ों की तुलना करनी होती है। सेंटेंस एम्बेडिंग्स (Sentence-BERT या OpenAI के एम्बेडिंग API जैसे मॉडलों से) पूरे पैसेज को एक ही वेक्टर में संक्षिप्त करती हैं।
"How do I reset my password?" और "I forgot my login credentials" में बहुत समान सेंटेंस एम्बेडिंग्स होंगी, भले ही उनमें लगभग कोई शब्द साझा न हो। एम्बेडिंग इरादे को पकड़ती है, केवल शब्दावली को नहीं।
दो एम्बेडिंग्स की तुलना करने के लिए, हम cosine similarity का उपयोग करते हैं - दो वेक्टर के बीच के कोण का कोसाइन। यह −1 (विपरीत) से +1 (समान दिशा) तक होता है।
Cosine similarity वेक्टर परिमाण को नज़रअंदाज़ करती है, केवल दिशा पर ध्यान केंद्रित करती है - और अर्थ वहीं रहता है।
"Love" और "hate" अर्थ में विपरीत हैं लेकिन उनकी cosine similarity मध्यम हो सकती है क्योंकि वे समान संदर्भों (भावनाएँ, रिश्ते) में दिखाई देते हैं। यह हमें शब्द सह-घटना पर पूरी तरह ट्रेन की गई एम्बेडिंग्स की सीमाओं के बारे में क्या बताता है?
एक वेक्टर डेटाबेस लाखों एम्बेडिंग्स स्टोर करता है और सबसे समान एम्बेडिंग्स को बेहद तेज़ी से खोजता है। कीवर्ड मैचिंग ("'machine learning' वाले दस्तावेज़ ढूँढें") के बजाय, आप अर्थ से खोजते हैं ("AI शिक्षा के बारे में दस्तावेज़ ढूँढें")।
लोकप्रिय वेक्टर डेटाबेस में शामिल हैं:
ये डेटाबेस HNSW (Hierarchical Navigable Small World) जैसे एल्गोरिदम का उपयोग करके अरबों वेक्टर को मिलीसेकंड में खोजते हैं।
पारंपरिक कीवर्ड सर्च की तुलना में वेक्टर सर्च का क्या फ़ायदा है?
RAG आधुनिक AI में सबसे महत्वपूर्ण पैटर्न में से एक है। यह वेक्टर सर्च को भाषा मॉडलों के साथ जोड़ता है:
RAG भाषा मॉडलों को आपके विशिष्ट डेटा - कंपनी के दस्तावेज़, उत्पाद कैटलॉग, शोध पत्र - के बारे में सवालों के जवाब देने देता है बिना रीट्रेनिंग के। यह हैलुसिनेशन को काफ़ी कम करता है क्योंकि मॉडल के पास संदर्भ के लिए वास्तविक स्रोत होते हैं।
RAG सिस्टम में, वेक्टर डेटाबेस क्या भूमिका निभाता है?
एम्बेडिंग्स अनगिनत वास्तविक-दुनिया की प्रणालियों को शक्ति प्रदान करती हैं:
Spotify गाने रिकमेंड करने के लिए ऑडियो एम्बेडिंग्स का उपयोग करता है। हर ट्रैक को उसकी ध्वनिक विशेषताओं के आधार पर एम्बेड किया जाता है, और रिकमेंडेशन पास के वेक्टर ढूँढने से आती हैं - वे गाने जो एम्बेडिंग स्पेस में "समान लगते हैं"।
अगर आपने एक ऑनलाइन दुकान के हर उत्पाद को एम्बेड किया, तो आप खरीद इतिहास पर निर्भर हुए बिना "जिन ग्राहकों ने यह आइटम देखा उन्हें यह भी पसंद आ सकता है..." कहने वाला रिकमेंडेशन सिस्टम कैसे बनाएँगे?