टेक्स्ट एम्बेडिंग्ज सोप्या भाषेत: ती कशी काम करतात [+उदाहरणे]
टेक्स्ट एम्बेडिंग्ज म्हणजे काय, ती मजकुराचे अर्थ टिपणाऱ्या व्हेक्टर्समध्ये रूपांतर कसे करतात, आणि शोध, RAG व इतर प्रत्यक्ष वापरांसाठी एम्बेडिंग मॉडेल्स कशी निवडावीत, त्यांचे मूल्यमापन कसे करावे आणि ती कशी लागू करावीत, हे या मार्गदर्शकात स्पष्ट केले आहे.

जर तुम्हाला टेक्स्ट एम्बेडिंग्जची मूलभूत संकल्पना माहीत असेल, पण त्यांचा प्रत्यक्ष वापर कसा करायचा असा प्रश्न पडला असेल, तर तुम्ही अगदी योग्य ठिकाणी आला आहात. आम्ही व्हेक्टर्स, टोकनायझेशन आणि साम्य-गणना यांचे सविस्तर विश्लेषण करू, एम्बेडिंग मॉडेल्सचे मूल्यमापन कसे करायचे याच्या खोलात शिरू आणि प्रत्यक्ष जगातील वापराची उदाहरणे दाखवू.
टेक्स्ट एम्बेडिंग्ज म्हणजे काय?
टेक्स्ट एम्बेडिंग्ज म्हणजे शब्द, वाक्ये किंवा दस्तऐवजांचे संख्यात्मक प्रतिनिधित्व, जे त्यांचा अर्थ आणि परस्परसंबंध टिपते. ती एम्बेडिंग मॉडेल्सद्वारे तयार केली जातात, जी टेक्स्टचे रूपांतर व्हेक्टर्समध्ये करतात — म्हणजेच अशा संख्यांच्या मालिकांमध्ये, ज्यांवर मशीन लर्निंग अल्गोरिदम प्रक्रिया करू शकतात आणि ज्यांची तुलना करू शकतात.
ML इंजिनिअर्स सॉफ्टवेअर ॲप्लिकेशन्सना शब्द आणि वाक्यांमधील संबंध ओळखण्यास मदत करण्यासाठी टेक्स्ट एम्बेडिंग्जचा वापर करतात, ज्यामुळे मोठ्या प्रमाणातील डेटा शोधणे, वर्गीकृत करणे आणि त्याचे विश्लेषण करणे सोपे होते.
समजा, तुमच्याकडे दररोज हजारो सपोर्ट तिकिटे येतात. ग्राहक कल्पना करता येतील अशा सर्व प्रकारच्या समस्या नोंदवतात, पण तुम्हाला त्यांचे वर्गीकरण करून त्यांना लेबल लावायचे असते. ही प्रक्रिया स्वयंचलित करण्याचा एक मार्ग म्हणजे प्रत्येक तिकिटाचे व्हेक्टरमध्ये रूपांतर करण्यासाठी पूर्वप्रशिक्षित टेक्स्ट एम्बेडिंग मॉडेल वापरणे.
उदाहरणार्थ, दोन ग्राहक पुढील संदेश पाठवतात:
- “माझ्या सबस्क्रिप्शनसाठी माझ्याकडून दोनदा शुल्क आकारले गेले”: [0.21, -0.47, 0.83, ...]
- “माझ्या खात्यावर एक डुप्लिकेट पेमेंट दिसत आहे”: [0.19, -0.45, 0.80, ...]
हे सोपे केलेले, केवळ उदाहरणादाखल व्हेक्टर्स आहेत.
ग्राहकांनी वेगवेगळे शब्द वापरले असले, तरी ते एकाच समस्येचे वर्णन करत आहेत. एम्बेडिंग मॉडेल त्यांचे व्हेक्टर्स गणितीय अवकाशात एकमेकांच्या जवळ ठेवून हा संबंध टिपते. दोन्ही तिकिटे वर्गीकृत होऊन बिलिंग टीमकडे पाठवली जातात.
व्यवसायात टेक्स्ट एम्बेडिंग्जचे उपयोग
टेक्स्ट एम्बेडिंग्जचा वापर नॅचरल लँग्वेज प्रोसेसिंग (NLP) च्या विविध कामांमध्ये केला जातो, ज्यात पुढील गोष्टींचा समावेश आहे:
- सिमँटिक शोध: अर्थाच्या आधारे संबंधित माहिती शोधणे. Delivery Hero किराणा ग्राहकांना संबंधित उत्पादने शोधण्यात मदत करण्यासाठी कीवर्ड शोधासोबतच उत्पादन आणि क्वेरी एम्बेडिंग्ज वापरते. उदाहरणार्थ, “लो-फॅट योगर्ट” असा शोध घेतल्यास, शब्दरचना तंतोतंत जुळत नसली तरीही ग्रीक योगर्ट किंवा 0.5% फॅट असलेले योगर्ट समोर येऊ शकते.
- टेक्स्ट वर्गीकरण: टेक्स्टचे वर्गीकरण करणे, जसे की स्पॅम ईमेल ओळखणे किंवा दस्तऐवज विषयानुसार लावणे. MindCraft.ai ने एक दस्तऐवज वर्गीकरण प्रणाली विकसित केली आहे, जी कॉर्पोरेट दस्तऐवजांचे वर्गीकरण करण्यासाठी आणि GDPR अनुपालनासाठी संवेदनशील माहिती ओळखण्यासाठी ट्रान्सफॉर्मर-आधारित टेक्स्ट एम्बेडिंग्ज आणि मशीन लर्निंग वापरते.
- क्लस्टरिंग: पॅटर्न्स ओळखण्यासाठी समान दस्तऐवज किंवा टेक्स्टचे भाग एकत्र गटबद्ध करणे. Doczy.ai कराराच्या टेक्स्टचे एम्बेडिंग्जमध्ये रूपांतर करते आणि अर्थाने संबंधित कलमे व संकल्पना एकत्र गटबद्ध करते — वेगवेगळ्या करारांमध्ये सारख्याच जबाबदाऱ्या वेगवेगळ्या शब्दांत मांडलेल्या असल्या तरीही.
- रिट्रीव्हल-ऑगमेंटेड जनरेशन (RAG): अशी संबंधित माहिती मिळवणे, जिचा वापर करून LLM अधिक अचूक आणि संदर्भानुरूप उत्तरे तयार करू शकते. Ring आंतरराष्ट्रीय बाजारपेठांमधील ग्राहकांच्या प्रश्नांची उत्तरे तयार करण्यापूर्वी संबंधित सपोर्ट दस्तऐवज मिळवण्यासाठी बहुभाषिक RAG चॅटबॉटमध्ये Amazon Titan टेक्स्ट एम्बेडिंग्ज वापरते.
- शिफारस प्रणाली: टेक्स्टमधील साम्याच्या आधारे संबंधित लेख, उत्पादने किंवा इतर कंटेंट सुचवणे. LinkedIn ची JUDE प्रणाली नोकरीच्या शिफारशी सुधारण्यासाठी जॉब डिस्क्रिप्शन्स आणि सदस्य प्रोफाइल्सची LLM-निर्मित टेक्स्ट एम्बेडिंग्ज वापरते, ज्यामुळे उमेदवारांची पार्श्वभूमी आणि उपलब्ध पदे यांच्यातील संबंध टिपले जातात.
- नेम्ड एंटिटी रेकग्निशन (NER): टेक्स्टमधील व्यक्ती, संस्था आणि ठिकाणांची नावे ओळखण्यास आणि वर्गीकृत करण्यास मदत करणे. Amazon Health Services ग्राहकांच्या क्वेरीजमधील आजार, लक्षणे, औषधे आणि उपचार यांसारख्या वैद्यकीय संकल्पना ओळखण्यासाठी NER वापरते. ही समज एम्बेडिंग-आधारित साम्य शोधाशी जोडून ते क्वेरीजना संबंधित आरोग्यसेवा उत्पादने आणि सेवांशी जोडते.
- मशीन ट्रान्सलेशन: एका भाषेतून दुसऱ्या भाषेत टेक्स्टचे भाषांतर करणाऱ्या मॉडेल्सना सहाय्य करणे. Transglot सिमँटिक ट्रान्सलेशन मेमरीमध्ये टेक्स्ट एम्बेडिंग्ज वापरून सारखा अर्थ असलेले, पूर्वी भाषांतरित केलेले उतारे ओळखते, ज्यामुळे लोकलायझेशन वर्कफ्लोमध्ये विद्यमान भाषांतरांचा पुनर्वापर करता येतो.
टेक्स्ट एम्बेडिंग्ज कशी काम करतात?
मग एखाद्या टेक्स्टला कोणती संख्यात्मक मूल्ये द्यायची हे एम्बेडिंग मॉडेल कसे ठरवते, आणि आपण त्यावर विश्वास का ठेवावा?
या सगळ्याची सुरुवात प्रशिक्षणापासून होते. एम्बेडिंग मॉडेल्स मोठ्या टेक्स्ट संग्रहांमधून शिकतात आणि शब्द एकत्र कसे वापरले जातात यातील पॅटर्न्स शोधतात. उदाहरणार्थ, Word2Vec सारखी पारंपरिक मॉडेल्स आजूबाजूच्या शब्दांवरून एखाद्या शब्दाचा अंदाज लावून, किंवा याउलट, शिकतात. आधुनिक रिट्रीव्हल-केंद्रित मॉडेल्स बहुतेकदा कॉन्ट्रास्टिव्ह लर्निंग वापरतात. त्यांना असंबंधित क्वेरी-दस्तऐवज जोड्यांपेक्षा संबंधित जोड्यांना अधिक साम्य गुण देण्यासाठी प्रशिक्षित केले जाते.
मॉडेल प्रशिक्षित झाल्यानंतर, तुम्ही त्याला नवीन टेक्स्ट दिल्यावर पुढीलप्रमाणे प्रक्रिया होते:
- टोकनायझेशन. मॉडेल सर्वप्रथम टेक्स्टचे टोकन्स नावाच्या लहान तुकड्यांमध्ये विभाजन करते. हे संपूर्ण शब्द, शब्दांचे भाग किंवा विरामचिन्हे असू शकतात. प्रत्येक टोकनला मॉडेलच्या शब्दसंग्रहातून एक संख्यात्मक ID मिळतो, ज्याला स्वतःहून कोणताही अर्थ नसतो.
- एन्कोडिंग आणि पूलिंग. प्रशिक्षणादरम्यान शिकलेल्या पॅटर्न्सचा वापर करून मॉडेल या टोकन्सवर प्रक्रिया करते आणि एक व्हेक्टर तयार करते. व्हेक्टरमधील प्रत्येक संख्या एक निर्देशांक (coordinate) किंवा घटक (component) असते, आणि परिमाण (dimension) म्हणजे तो अक्ष, ज्याच्या बाजूने ती संख्या व्हेक्टरचे स्थान निश्चित करते. प्रत्येक मूल्य गणितीय अवकाशातील टेक्स्टच्या स्थानात योगदान देते; या अवकाशाला एम्बेडिंग स्पेस म्हणतात.
- साम्य-गणना. संबंधित टेक्स्ट शोधण्यासाठी, रिट्रीव्हल प्रणाली कोसाइन साम्य किंवा डॉट प्रॉडक्ट यांसारख्या साम्य मापनाचा वापर करून क्वेरी एम्बेडिंगची दस्तऐवज एम्बेडिंग्जशी तुलना करते
उदाहरणार्थ, ऑनलाइन स्टोअर्स वापरकर्त्याच्या क्वेरीशी जुळणाऱ्या वस्तू अशाच प्रकारे दाखवतात.
शब्द, वाक्य आणि दस्तऐवज एम्बेडिंगमध्ये काय फरक आहे?
मुख्य फरक म्हणजे प्रत्येक एम्बेडिंग एकाच व्हेक्टरमध्ये किती टेक्स्टचे प्रतिनिधित्व करते. तुम्हाला कोणती माहिती टिपायची आहे यानुसार तुम्ही स्वतंत्र शब्द, संपूर्ण वाक्ये किंवा संपूर्ण दस्तऐवजांसाठी एम्बेडिंग्ज तयार करू शकता.
- शब्द एम्बेडिंग्ज स्वतंत्र शब्दांमधील संबंध टिपतात; उदाहरणार्थ, “आउटेज” आणि “डाउनटाइम” या संबंधित संकल्पना आहेत हे ती ओळखतात.
- वाक्य एम्बेडिंग्ज संपूर्ण वाक्यांचा अर्थ समजून घेतात, मग ती वाक्ये एकच कल्पना वेगवेगळ्या शब्दांत व्यक्त करत असली तरीही.
- दस्तऐवज एम्बेडिंग्ज प्रत्येक वाक्यासाठी स्वतंत्र व्हेक्टर तयार करण्याऐवजी संपूर्ण दस्तऐवजाचे प्रतिनिधित्व एकाच व्हेक्टरद्वारे करतात. यामुळे सर्वसाधारण विषय जपला जातो आणि तोच विषय हाताळणारे इतर दस्तऐवज शोधण्यास मदत होते; मात्र, तपशील मिळवणे अधिक कठीण (किंबहुना अशक्य) होऊ शकते.
किती सूक्ष्म पातळीपर्यंत जावे? योग्य पातळी तुमच्या डेटावर आणि तुम्हाला काय साध्य करायचे आहे यावर अवलंबून असते.
मोठ्या दस्तऐवजांसाठी, टेक्स्टचे लहान चंक्समध्ये विभाजन करून प्रत्येकासाठी स्वतंत्र एम्बेडिंग तयार करणे ही सामान्य पद्धत आहे. अशा प्रकारे तुम्हाला दस्तऐवजाचा एकूण अर्थ आणि त्याचबरोबर विशिष्ट तपशीलही मिळतात, जे दस्तऐवज एम्बेडिंगमध्ये हरवू शकतात.
चंकचा आकार एम्बेडिंग्जच्या गुणवत्तेवर किती परिणाम करतो?
बराच परिणाम करतो. राहुल कुमार (Xenoss येथील AI इंजिनिअरिंगचे VP) यांच्या मते, महत्त्वाचा संदर्भ न गमावता एक संपूर्ण कल्पना टिपणारा चंक आकार शोधणे हे खरे आव्हान आहे. ते ही तडजोड अशी समजावून सांगतात:
“चंकचा आकार एक एम्बेडिंग किती सिमँटिक संदर्भ वाहून नेते हे ठरवतो. मोठा चंक व्हेक्टरला अधिक संदर्भ देतो, पण त्यामुळे अधिक विषयांची सरासरी एकाच व्हेक्टरमध्ये येते. तीन विषय व्यापणारा चंक मधोमध येऊन पडतो आणि त्यापैकी कोणत्याही विषयाशी नीट जुळत नाही. लहान चंक अर्थ स्पष्ट ठेवतो, पण ज्या संदर्भामुळे तो शोधता येत होता, तोच संदर्भ तो गमावू शकतो.”
म्हणूनच कुमार एकाच निश्चित आकाराला चिकटून राहण्याऐवजी कंटेंटनुसार चंकिंग स्ट्रॅटेजी निवडण्याची शिफारस करतात. त्यांच्या शब्दांत, “ओव्हरलॅपसह निश्चित आकाराचे चंकिंग फक्त ईमेल्स किंवा स्क्रेप केलेल्या वेब पेजेससारख्या एकसमान टेक्स्टसाठीच ठीक आहे.”
करार किंवा धोरणांसारख्या संरचित दस्तऐवजांसाठी, रिकर्सिव्ह आणि संरचनेचा विचार करणारे विभाजन अधिक योग्य ठरते. दुसरीकडे, ट्रान्सक्रिप्ट्ससाठी सिमँटिक चंकिंग चांगले काम करू शकते, कारण ते विषय किंवा अर्थ जिथे बदलतो तिथे टेक्स्टचे विभाजन करते.
टेक्स्ट एम्बेडिंग्ज विरुद्ध कीवर्ड शोध
फक्त कीवर्ड्स शोधता येत असताना टेक्स्ट एम्बेडिंग्ज का वापरायची? कारण कीवर्ड शोध शब्द जुळण्यावर अवलंबून असतो, तर एम्बेडिंग-आधारित सिमँटिक शोध क्वेरी आणि दस्तऐवजात वेगवेगळे शब्द वापरलेले असले तरीही संबंधित माहिती मिळवू शकतो.
पण सिमँटिक साम्य म्हणजे नेहमीच प्रासंगिकता असे नाही. AI Builder Academy चे संस्थापक शॉ तालेबी रेझ्युमे शोध प्रणालीच्या उदाहरणाद्वारे ही मर्यादा दाखवून देतात. तालेबी यांच्या उदाहरणात, “Apache Airflow चा अनुभव असलेला डेटा इंजिनिअर” शोधल्यावर, पहिल्या पाच निकालांपैकी फक्त एकात Apache Airflow चा उल्लेख होता, आणि तोही तिसऱ्या क्रमांकावर होता — डेटासेटमधील इतर तीन रेझ्युमेंमध्ये हे कौशल्य नमूद असूनही.
याचा अर्थ, संकल्पनात्मकदृष्ट्या संबंधित माहिती शोधण्यासाठी सिमँटिक शोध उपयुक्त आहे, पण तांत्रिक कौशल्ये, उत्पादन आयडेंटिफायर्स किंवा एरर कोड्ससारख्या नेमक्या आवश्यकता त्यातून सुटू शकतात.
ही समस्या सोडवण्यासाठी, राहुल कुमार रिट्रीव्हल प्रणाली नेमकी कुठे कमी पडते त्यानुसार रिट्रीव्हल पद्धत निवडण्याची शिफारस करतात:
- हायब्रिड शोध (कीवर्ड जुळवणी आणि सिमँटिक शोध यांचे संयोजन) हा डीफॉल्ट पर्याय असतो, जेव्हा क्वेरीजमध्ये SKUs, एरर कोड्स किंवा कायदेशीर संदर्भांसारखे नेमके शब्द असतात.
- रीरँकर्सवरील खर्च तेव्हा सार्थ ठरतो, जेव्हा फक्त पहिले काही निकालच महत्त्वाचे असतात, उदाहरणार्थ, मिळवलेल्या संदर्भातून उत्तरे तयार करताना.
- ग्राफ रिट्रीव्हल तेव्हा उपयोगी ठरते, जेव्हा उत्तर एकमेकांशी जोडलेल्या अनेक डेटा स्रोतांमध्ये विखुरलेले असते.
कुमार यांनी त्यांच्या टीमने या पद्धती प्रत्यक्षात कशा वापरल्या हेही सांगितले. एका प्रोजेक्टमध्ये, त्यांनी BM25 कीवर्ड शोध आणि व्हेक्टर शोध एकाच वेळी चालवले, रेसिप्रोकल रँक फ्यूजन (RRF) वापरून निकाल एकत्र केले, आणि LLM वापरून पहिल्या 124 निकालांचे रीरँकिंग करून ते 6 पर्यंत कमी केले.
“ग्राफ-फर्स्ट रिट्रीव्हलकडे वळल्यामुळे — ज्यात व्हेक्टर शोध सारख्या लेटंट स्पेसेस शोधतो आणि त्यानंतर टू-हॉप ग्राफ वॉक होतो — रँकिंगची गुणवत्ता (nDCG) 0.58 वरून 0.67 पर्यंत वाढली आणि p90 रिट्रीव्हल वेळ 19 सेकंदांवरून 3 सेकंदांपेक्षा कमी झाला,” असे कुमार पुढे सांगतात.
टेक्स्ट एम्बेडिंग मॉडेल्सचे प्रकार
सर्व एम्बेडिंग मॉडेल्स ढोबळमानाने एकच काम करतात — टेक्स्टमधील संबंध शिकणे. मात्र, ती कोणत्या कामासाठी प्रशिक्षित केली आहेत, कोणती माहिती विचारात घेतात आणि कोणती कार्ये हाताळण्यासाठी डिझाइन केली आहेत, यानुसार त्यांच्यात फरक असतो.
स्थिर शब्द एम्बेडिंग मॉडेल्स
पारंपरिक शब्द एम्बेडिंग मॉडेल्स मोठ्या टेक्स्ट संग्रहांमधील शब्दवापराच्या पॅटर्न्सच्या आधारे शब्दांचे डेन्स संख्यात्मक प्रतिनिधित्व शिकतात. ही एम्बेडिंग्ज स्थिर (static) असतात, म्हणजेच एखाद्या विशिष्ट संदर्भात शब्दाचा अर्थ काहीही असला तरी प्रत्येक शब्दाला एकच व्हेक्टर मिळतो.
दोन सुप्रसिद्ध पद्धती अशा आहेत:
- Word2Vec: 2013 मध्ये Google ने विकसित केलेले हे मॉडेल दोन आर्किटेक्चर्स वापरून शेजारच्या शब्दांवरून प्रतिनिधित्व शिकते: Continuous Bag of Words (CBOW), जे शेजारच्या शब्दांवरून एखाद्या शब्दाचा अंदाज लावते, आणि skip-gram, जे दिलेल्या शब्दावरून शेजारच्या शब्दांचा अंदाज लावते.
- GloVe (Global Vectors for Word Representation): 2014 मध्ये स्टॅनफर्ड येथे विकसित केलेले हे मॉडेल शब्दांमधील संबंध शिकण्यासाठी शब्दांच्या सह-उपस्थितीची (co-occurrence) आकडेवारी वापरते.
संदर्भाधारित भाषा मॉडेल्स
स्थिर एम्बेडिंग्जच्या विपरीत, सर्वसाधारण उद्देशाची भाषा मॉडेल्स आजूबाजूच्या टेक्स्टनुसार बदलणारे संदर्भाधारित प्रतिनिधित्व तयार करतात. यामुळे मॉडेल्सना एकाच शब्दाच्या वेगवेगळ्या अर्थांमध्ये फरक करता येतो.
- BERT (2018, Google): टोकनच्या दोन्ही बाजूंचे शब्द विचारात घेण्यासाठी द्विदिशात्मक सेल्फ-अटेन्शन वापरते. उदाहरणार्थ, “I deposited money at the bank” (मी बँकेत पैसे जमा केले) आणि “I sat on the bank of a river” (मी नदीच्या काठावर बसलो) या वाक्यांमधील “bank” साठी ते वेगवेगळे प्रतिनिधित्व तयार करते.
- GPT (2018, OpenAI): पुढील टोकनचा अंदाज लावताना आधीचा टेक्स्ट विचारात घेणारे ट्रान्सफॉर्मर-आधारित प्रतिनिधित्व वापरते. GPT मॉडेल्स प्रामुख्याने भाषा निर्मितीसाठी डिझाइन केलेली आहेत.
वाक्य आणि दस्तऐवज एम्बेडिंग मॉडेल्स
ही मॉडेल्स स्वतंत्र वाक्यांपासून परिच्छेद आणि संपूर्ण दस्तऐवजांपर्यंत, टेक्स्टच्या मोठ्या भागांचे व्हेक्टर्सच्या स्वरूपात प्रतिनिधित्व करतात.
- Doc2Vec: Word2Vec-शैलीतील शिक्षण वाक्ये, परिच्छेद आणि दस्तऐवजांपर्यंत विस्तारते. संबंधित लेख एकत्र गटबद्ध करण्यासाठी किंवा दस्तऐवजांचे विषयानुसार वर्गीकरण करण्यासाठी हे उपयोगी ठरू शकते.
- Universal Sentence Encoder (USE): सिमँटिक साम्य आणि टेक्स्ट वर्गीकरणासाठी वाक्ये व लहान परिच्छेदांचे निश्चित-लांबीचे प्रतिनिधित्व तयार करण्यासाठी Google ने 2018 मध्ये विकसित केले.
- Sentence-BERT (SBERT, 2019): टेक्निकल युनिव्हर्सिटी डार्मस्टाट येथे निल्स राइमर्स आणि इरिना गुरेविच यांनी विकसित केलेले हे मॉडेल Google च्या BERT मॉडेलवर आधारित आहे आणि सामान्यतः सिमँटिक शोध, पॅराफ्रेज डिटेक्शन आणि क्लस्टरिंगसाठी वापरले जाते.
- pplx-embed-v1 (2026, Perplexity): प्रत्यक्ष जगातील, वेब-स्केल रिट्रीव्हलसाठी तयार केलेल्या या अत्याधुनिक टेक्स्ट एम्बेडिंग मॉडेल फॅमिलीमध्ये कॉझल भाषा मॉडेलचे द्विदिशात्मक एन्कोडरमध्ये रूपांतर करण्यासाठी डिफ्यूजन-आधारित प्रीट्रेनिंग वापरले जाते. हे स्वतंत्रपणे एन्कोड केलेल्या क्वेरीज आणि दस्तऐवजांसाठी डेन्स एम्बेडिंग्ज तयार करते, तसेच स्टोरेज खर्च कमी करण्यासाठी क्वांटायझेशन-अवेअर ट्रेनिंग वापरते. आमच्या 4B INT8 मॉडेलने बहुभाषिक MTEB रिट्रीव्हल बेंचमार्कवर 69.66 nDCG@10 गाठले, तर Google च्या gemini-embedding-001 ने 67.71 गाठले.
- pplx-embed-context-v1 (2026, Perplexity): दस्तऐवज चंकिंगमधील एका सामान्य समस्येवर उपाय करते: आजूबाजूच्या टेक्स्टपासून वेगळे केल्यावर उताऱ्यांचा अर्थ हरवू शकतो. लेट चंकिंग वापरून, हे मॉडेल संदर्भाधारित टोकन प्रतिनिधित्वांचे स्वतंत्र चंक एम्बेडिंग्जमध्ये पूलिंग करण्यापूर्वी संपूर्ण दस्तऐवजावर प्रक्रिया करते. आमच्या 4B मॉडेलने ConTEB वर 81.96 nDCG@10 गाठले, तर voyage-context-3 चा स्कोअर 79.45 होता.
- pplx-embed-v2-context (2026, Perplexity): संदर्भाधारित रिट्रीव्हल आणखी पुढे नेते. केवळ उत्तर असलेला उतारा शोधण्यासाठी प्रशिक्षित होण्याऐवजी, हे मॉडेल त्या उत्तराचे स्पष्टीकरण देण्यास किंवा ते पडताळण्यास मदत करणारे सहाय्यक उतारे ओळखायला शिकते. प्रशिक्षणादरम्यान हे मॉडेल कॉन्टेक्स्ट कॉम्प्रेशन मॉडेलमधून डिस्टिल केलेले प्रासंगिकतेचे संकेत वापरते, पण इन्फरन्सच्या वेळी त्या टीचर मॉडेलची आवश्यकता नसते. आमच्या 9B प्रिव्ह्यूने context-bench वर 10 निकालांवर 45.5% उत्तर रिकॉल आणि 40.6% पुरावा रिकॉल गाठला.
Perplexity ची मॉडेल्स मोठ्या प्रमाणावर एम्बेडिंग्ज साठवणेही शक्य करतात. ही मॉडेल्स INT8 आणि बायनरी एम्बेडिंग्ज तयार करतात, ज्यामुळे FP32 च्या तुलनेत स्टोरेजची गरज अनुक्रमे 4 पट आणि 32 पट कमी होते.
मॉडेल | परिमाणे | संदर्भ | MRL | क्वांटायझेशन | सूचना | पूलिंग |
pplx-embed-v1-0.6B | 1024 | 32K | होय | INT8/BINARY | नाही | सरासरी |
pplx-embed-v1-4B | 2560 | 32K | होय | INT8/BINARY | नाही | सरासरी |
pplx-embed-context-v1-0.6B | 1024 | 32K | होय | INT8/BINARY | नाही | सरासरी |
pplx-embed-context-v1-4B | 2560 | 32K | होय | INT8/BINARY | नाही | सरासरी |
pplx-embed मॉडेलची परिमाणे, संदर्भ लांबी, क्वांटायझेशन आणि पूलिंग कॉन्फिगरेशन
डेन्स, स्पार्स आणि मल्टी-व्हेक्टर एम्बेडिंग्ज
विशेषतः सिमँटिक शोधासाठी, समजून घेण्यासारखा आणखी एक फरक आहे. एम्बेडिंग मॉडेल्स टेक्स्टचे प्रतिनिधित्व कसे करतात आणि प्रासंगिकता कशी मोजतात, यात ती वेगवेगळी असू शकतात.
- डेन्स एम्बेडिंग्ज: अशा संक्षिप्त व्हेक्टर्सद्वारे टेक्स्टचे प्रतिनिधित्व करतात, ज्यांतील बहुतेक मूल्ये शून्येतर (nonzero) असतात.
- स्पार्स एम्बेडिंग्ज: बहुतांश शून्य मूल्ये असलेले व्हेक्टर्स वापरतात, ज्यात महत्त्वाच्या शब्दांशी शिकलेली वेट्स जोडलेली असतात. SPLADE (2021) सारखी मॉडेल्स संबंधित दस्तऐवज मिळवण्यासाठी कोणते शब्द महत्त्वाचे आहेत हे शिकतात.
- मल्टी-व्हेक्टर एम्बेडिंग्ज: टेक्स्टच्या एका भागासाठी अनेक व्हेक्टर्स राखून ठेवतात, ज्यामुळे क्वेरीज आणि दस्तऐवजांची अधिक तपशीलवार तुलना करता येते. ColBERT (2020) सारखी मॉडेल्स क्वेरी-दस्तऐवजांच्या अधिक तपशीलवार तुलनेसाठी या प्रतिनिधित्वांचा वापर करतात.
- अनेक पद्धती एकत्र करणारी मॉडेल्स: BAAI ने विकसित केलेले BGE-M3 (2024) एकाच मॉडेलमध्ये डेन्स, स्पार्स आणि मल्टी-व्हेक्टर रिट्रीव्हलला सपोर्ट करते.
टेक्स्ट एम्बेडिंग मॉडेल कसे निवडावे आणि त्याचे मूल्यमापन कसे करावे
MTEB सारखे सार्वजनिक बेंचमार्क्स सुरुवात करण्यासाठी चांगले आहेत. तुमच्या भाषा, इनपुटची लांबी आणि डिप्लॉयमेंटच्या आवश्यकतांना सपोर्ट करणारी दोन किंवा तीन मॉडेल्स निवडून यादी लहान करण्यासाठी त्यांचा वापर करा. पण आत्ताच विजेता निवडू नका. ती मॉडेल्स तुमच्या स्वतःच्या डेटावर तपासणे किती महत्त्वाचे आहे, यावर आम्ही कितीही भर दिला तरी तो कमीच आहे.
मूल्यमापनाचा एक व्यावहारिक वर्कफ्लो असा आहे:
- टेस्ट डेटासेट तयार करा. सुरुवातीचा मूल्यमापन संच म्हणून 50-100 प्रातिनिधिक शोध क्वेरीज गोळा करा (तुम्हाला आणखी लागू शकतात), ज्यात पॅराफ्रेजेस, तांत्रिक परिभाषा आणि नेमके एरर कोड्स यांसारख्या अवघड प्रकरणांचा समावेश असेल. प्रत्येक क्वेरीसाठी, कोणत्या दस्तऐवजांमध्ये किंवा उताऱ्यांमध्ये संबंधित उत्तरे आहेत ते ओळखा. ही प्रासंगिकता लेबल्स तुमचे ग्राउंड ट्रुथ बनतात.
- पुनर्प्राप्तीची गुणवत्ता मोजा. प्रत्येक मॉडेलची एकाच मूल्यमापन डेटासेटवर चाचणी करा. दस्तऐवजांची तयारी आणि पुनर्प्राप्तीच्या अटी तुलनात्मक ठेवा, आणि त्याच वेळी क्वेरी फॉरमॅटिंग, नॉर्मलायझेशन आणि साम्य स्कोअरिंगसाठीच्या मॉडेल-विशिष्ट आवश्यकतांचे पालन करा. त्यानंतर Sentence Transformers च्या InformationRetrievalEvaluator चा वापर करून पुढील मेट्रिक्स मोजा:
- Recall@k: शीर्ष k निकालांमध्ये दिसणाऱ्या संबंधित परिच्छेदांचे प्रमाण दर्शवते.
- MRR: पहिला संबंधित निकाल क्रमवारीत किती वर दिसतो, हे मोजते.
- nDCG@k: शीर्ष k निकाल त्यांच्या प्रासंगिकतेनुसार किती चांगल्या प्रकारे क्रमवारीत लावले आहेत, हे मोजते.
- लेटन्सी आणि थ्रूपुटचे बेंचमार्किंग करा. प्रत्येक मॉडेलला एखादी क्वेरी एम्बेड करण्यासाठी किती वेळ लागतो ते मोजा; शक्यतो वास्तववादी लोडखाली मध्यक (p50) आणि 95व्या पर्सेंटाइलची (p95) लेटन्सी नोंदवा.
- स्टोरेज आणि परिचालन खर्चाची गणना करा. व्हेक्टर स्टोरेज हे एम्बेडिंग्जची संख्या, त्यांच्या मिती आणि संख्यात्मक अचूकता (precision) यांवर अवलंबून असते. उदाहरणार्थ, दहा लाख 768-मितीय FP32 एम्बेडिंग्जसाठी, इंडेक्सिंगचा अतिरिक्त भार वगळता, सुमारे 3.1 GB रॉ व्हेक्टर स्टोरेज लागते. स्टोरेजची गरज कमी करण्यासाठी तुम्ही व्हेक्टर्सना कमी संख्यात्मक अचूकतेत क्वांटाइझ करू शकता. उदाहरणार्थ, FP32 वरून INT8 वर गेल्यास रॉ व्हेक्टर स्टोरेज साधारण 4 पटीने कमी होते. मात्र, कॉम्प्रेशनमुळे पुनर्प्राप्तीच्या गुणवत्तेवर परिणाम होऊ शकतो, त्यामुळे हा समतोल तपासण्यासाठी तुमची मूल्यमापने पुन्हा चालवा.
शेवटी, निकालांची शेजारी-शेजारी तुलना करा: पुनर्प्राप्ती मेट्रिक्स, p95 लेटन्सी, थ्रूपुट, स्टोरेज आणि खर्च. तुमच्या प्रोडक्शनमधील मर्यादांमध्ये राहून तुमच्या गुणवत्तेच्या आवश्यकता पूर्ण करणारे मॉडेल निवडा.
LLM ऐवजी एम्बेडिंग्ज कधी वापरावीत?
दस्तऐवजांच्या विश्लेषणापासून गुंतागुंतीच्या कारणमीमांसेपर्यंत सर्व काही LLMs हाताळत असताना, तुमचा सगळा मजकूर एखाद्या मॉडेलकडे सोपवून त्यालाच सगळं उलगडू देण्याचा मोह होणं साहजिक आहे. पण त्यासाठी येणारा खर्च पाहून तुम्ही कदाचित खूश होणार नाही.
शिवाय, LLMs मूल्यांकन करण्यात आणि मजकूर रचण्यात अधिक चांगले असतात, पण एकाच प्रॉम्प्टमध्ये ते किती माहिती सामावू शकतात यावर त्यांना मर्यादा असते. याउलट, एम्बेडिंग्ज स्वस्त, जलद आणि सुसंगत असतात, आणि लाखो आयटम्सवर काम करू शकतात.
“शोध, शिफारसी (“यासारखे आणखी”), वारंवार येणाऱ्या सपोर्ट तिकिटांसारखे डुप्लिकेट्स ओळखणे, आणि मोठ्या प्रमाणातील कंटेंटचे विषयानुसार गट करणे, यांमध्ये एम्बेडिंग्ज बाजी मारतात. वेगवेगळ्या भाषांमध्येही ती प्रभावी ठरतात. जेव्हा कामासाठी कारणमीमांसेची गरज असते, जसे की सारांश तयार करणे, पर्यायांची तुलना करणे किंवा उत्तर लिहिणे, तेव्हा LLM सरस ठरते. बहुतेक प्रत्यक्ष सिस्टम्सना दोन्हींची गरज असते, आणि त्यांपैकी प्रत्येक जण आपल्याला जमणारा भाग हाताळतो,” असा निष्कर्ष कुमार मांडतात.
टेक्स्ट एम्बेडिंग्जच्या बाबतीत डेव्हलपर्स कुठे चुकतात
डेव्हलपर्स सहसा कोणत्या गोष्टींकडे दुर्लक्ष करतात हे जाणून घेण्यासाठी मी राहुल कुमार आणि Xibeijia Guan (Ahrefs मधील डेटा सायंटिस्ट) यांच्याशी बोललो. त्यांनी सावध राहण्याजोग्या सहा चुका अधोरेखित केल्या:
- मजकुराचे प्रीप्रोसेसिंग वगळणे. इनपुट डेटामध्ये HTML, नेव्हिगेशन मेनू, जाहिराती किंवा इतर असंबद्ध कंटेंट असल्यास, बॉयलरप्लेट काढून टाकण्यासारख्या प्रीप्रोसेसिंगच्या पायऱ्या अनावश्यक माहिती दूर करून एम्बेडिंगची गुणवत्ता सुधारण्यास मदत करू शकतात.
- मॉडेलच्या कमाल इनपुट लांबीकडे दुर्लक्ष करणे. वेगवेगळ्या मॉडेल्सच्या टोकन मर्यादा आणि ट्रंकेशनच्या पद्धती वेगवेगळ्या असतात. मर्यादेपेक्षा जास्त असलेला मजकूर कापला जाऊ शकतो, ज्यामुळे महत्त्वाची माहिती गमावली जाऊ शकते.
- मॉडेल-विशिष्ट आवश्यकतांचे पालन न करणे. काही एम्बेडिंग मॉडेल्सना query: आणि passage: यांसारखे विशिष्ट प्रीफिक्स, किंवा वेगवेगळ्या कामांसाठी वेगवेगळ्या सूचना आवश्यक असतात. या आवश्यकतांचे पालन न केल्यास पुनर्प्राप्तीची कामगिरी कमी होऊ शकते.
- विसंगत साम्य मापनाचा वापर करणे. कोसाइन सिमिलॅरिटी आणि डॉट प्रॉडक्ट नेहमीच एकमेकांच्या जागी वापरता येत नाहीत. एम्बेडिंग्ज नॉर्मलाइझ केलेली आहेत का ते तपासा, आणि मॉडेल व व्हेक्टर इंडेक्ससाठी शिफारस केलेली स्कोअरिंग पद्धत वापरा.
- विषयगत साम्यालाच प्रासंगिकता समजणे. मर्यादित क्षेत्रातील संग्रहांमध्ये अनेक दस्तऐवज अर्थदृष्ट्या समान असू शकतात, पण ते एकाच प्रश्नाचे उत्तर देतीलच असे नाही. अयशस्वी क्वेरी आणि क्रमवारीचे वितरण तपासा. वापरकर्त्यांना अचूक माहिती हवी असते, तेव्हा लेक्सिकल किंवा हायब्रिड पुनर्प्राप्ती, रीरँकिंग आणि मेटाडेटा फिल्टर्स यांची चाचणी करा.
- एम्बेडिंग नॉर्मलायझेशनकडे दुर्लक्ष करणे. वेगवेगळी एम्बेडिंग मॉडेल्स नॉर्मलाइझ केलेले किंवा नॉर्मलाइझ न केलेले व्हेक्टर्स देऊ शकतात. तुम्ही वापरत असलेल्या साम्य मेट्रिकनुसार, एम्बेडिंग्ज नॉर्मलाइझ केलेली आहेत का आणि अतिरिक्त नॉर्मलायझेशनची गरज आहे का, ते तपासा.
टेक्स्ट एम्बेडिंग्ज: वारंवार विचारले जाणारे प्रश्न
1. मी टेक्स्ट एम्बेडिंग्ज कशी तयार करू?
सर्वात सोपा मार्ग म्हणजे प्रीट्रेन्ड एम्बेडिंग मॉडेल वापरणे. उदाहरणार्थ, Python च्या Sentence Transformers लायब्ररीद्वारे तुम्ही all-MiniLM-L6-v2 सारखे मॉडेल लोड करू शकता, तुमचा मजकूर model.encode(), कडे पाठवू शकता आणि त्याबदल्यात एक संख्यात्मक व्हेक्टर मिळवू शकता. पर्यायाने, तुम्ही API द्वारेही एम्बेडिंग्ज तयार करू शकता.
सिमॅंटिक शोध किंवा RAG साठी, तुम्ही सहसा तुमचे दस्तऐवज छोट्या भागांमध्ये (chunks) विभागता, प्रत्येक भागासाठी एम्बेडिंग तयार करता आणि ते व्हेक्टर्स शोधण्यायोग्य इंडेक्समध्ये साठवता.
2. मजकुरासाठी सर्वोत्तम एम्बेडिंग मॉडेल्स कोणती आहेत?
तुम्ही काय तयार करत आहात यावर अवलंबून, पुढील अनेक मॉडेल्स विचारात घेण्याजोगी आहेत:
- Perplexity चे pplx-embed-v1: मोठ्या प्रमाणावरील डेन्स पुनर्प्राप्तीसाठी तयार केलेले; यात INT8 आणि बायनरी एम्बेडिंग्ज आहेत, जी व्हेक्टर स्टोरेजची गरज कमी करतात.
- Perplexity चे pplx-embed-context-v1: लांब दस्तऐवजांमधून परिच्छेद पुनर्प्राप्त करण्यासाठी उपयुक्त, जिथे स्वतंत्र भाग (chunks) आजूबाजूच्या संदर्भाशिवाय आपला अर्थ गमावतात.
- all-MiniLM-L6-v2: हलक्याफुलक्या, लोकल सिमॅंटिक शोधासाठी, क्लस्टरिंगसाठी आणि वाक्य-साम्याच्या कामांसाठी चांगले. हे कॉम्पॅक्ट 384-मितीय व्हेक्टर्स तयार करते, पण 256 वर्ड पीसेसपेक्षा लांब इनपुट कापते.
- BGE-M3: बहुभाषिक RAG आणि हायब्रिड पुनर्प्राप्तीसाठी उपयुक्त. 100 हून अधिक भाषांना सपोर्ट करते आणि डेन्स, स्पार्स व मल्टी-व्हेक्टर रिप्रेझेंटेशन्स एकत्र करते.
- Qwen3-Embedding: बहुभाषिक शोध, कोड पुनर्प्राप्ती आणि कार्य-विशिष्ट एम्बेडिंग्जसाठी एक भक्कम पर्याय. सूचनांच्या सपोर्टसह 0.6B, 4B आणि 8B ओपन-वेट मॉडेल्स उपलब्ध करून देते.
- OpenAI चे text-embedding-3-large: तुम्हाला स्वतः मॉडेल होस्ट करायचे नसेल, तेव्हा सिमॅंटिक शोध आणि दस्तऐवज पुनर्प्राप्तीसाठी API-आधारित पर्याय. 3,072 मितींपर्यंत सपोर्ट करते, ज्या स्टोरेज वाचवण्यासाठी तुम्ही कमी करू शकता.
- Google ची Gemini Embedding मॉडेल्स: व्यवस्थापित (managed) पुनर्प्राप्ती ॲप्लिकेशन्ससाठी उपयुक्त. Gemini Embedding 2 एकाच सामायिक एम्बेडिंग स्पेसमध्ये मजकूर, प्रतिमा, ऑडिओ, व्हिडिओ आणि PDF फायलींमध्ये शोध घेण्यासही सपोर्ट करते.
3. LLM चा एम्बेडिंग मॉडेल म्हणून वापर करता येतो का?
होय, पण सर्वसाधारण वापराचे LLM आणि एम्बेडिंग्जसाठी ऑप्टिमाइझ केलेले LLM यांत फरक आहे. LLMs मजकुराचे अंतर्गत व्हेक्टर रिप्रेझेंटेशन्स तयार करतात, जे तुम्ही काढून पूलिंगद्वारे एकाच एम्बेडिंगमध्ये एकत्र करू शकता. मात्र, अतिरिक्त प्रशिक्षणाशिवाय हे व्हेक्टर्स सिमॅंटिक शोधासाठी उपयुक्त ठरतीलच असे नाही.
उदाहरणार्थ, Qwen3-Embedding एका LLM बॅकबोनचा वापर करते, ज्याला एम्बेडिंग आणि पुनर्प्राप्तीच्या कामांसाठी आणखी प्रशिक्षित केले आहे. त्यामुळे, एम्बेडिंग्ज तयार करण्यासाठी तुम्ही LLM जुळवून घेऊ शकत असलात, तरी सुरुवात करण्यासाठी समर्पित एम्बेडिंग मॉडेल हा सहसा अधिक व्यावहारिक पर्याय असतो.