paint-brush
डिजाइन द्वारा हल्काइयां: कैसे एम्बेडमेंट मॉडल भाषा को गलत समझते हैंद्वारा@riteshmodi
497 रीडिंग
497 रीडिंग

डिजाइन द्वारा हल्काइयां: कैसे एम्बेडमेंट मॉडल भाषा को गलत समझते हैं

द्वारा Ritesh Modi11m2025/03/29
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

मानव भाषा की अर्थपूर्ण समृद्धि को पारंपरिक कीवर्ड-आधारित टेक्स्ट प्रोसेसिंग तकनीकों द्वारा नहीं समझा जा सकता है। बड़ी तकनीकी फर्मों ने और भी अधिक उन्नत एम्बेडिंग मॉडल बनाने पर अरबों खर्च किए हैं। उनके व्यापक उपयोग के बावजूद, हम अभी भी पूरी तरह से समझ नहीं पाए हैं कि ये एम्बेडिंग मॉडल व्यावहारिक परिस्थितियों में कैसे काम करते हैं।
featured image - डिजाइन द्वारा हल्काइयां: कैसे एम्बेडमेंट मॉडल भाषा को गलत समझते हैं
Ritesh Modi HackerNoon profile picture
0-item

एम्बेडिंग की खामोश खामियां: आपका AI गलत क्यों हो रहा है

हाल ही में असंरचित पाठ डेटा का प्रचलन बढ़ा है, जिसमें तकनीकी दस्तावेज और वैज्ञानिक साहित्य से लेकर सोशल मीडिया पोस्ट और ग्राहक मूल्यांकन तक शामिल हैं। विभिन्न क्षेत्रों के व्यवसाय तेजी से यह महसूस कर रहे हैं कि यह पाठ अमूल्य अंतर्दृष्टि प्रदान करता है, लेकिन इस डेटा को प्राप्त करना, व्यवस्थित करना और उसका उपयोग करना कठिन है।


मानव भाषा की अर्थपूर्ण समृद्धि को पारंपरिक कीवर्ड-आधारित टेक्स्ट प्रोसेसिंग तकनीकों द्वारा नहीं पकड़ा जा सकता है, जो खुद को अपर्याप्त साबित कर चुकी हैं। उदाहरण के लिए, "कार की समस्याओं" की खोज से "ऑटोमोबाइल समस्याओं" से संबंधित प्रासंगिक पेपर नहीं मिल सकते हैं, और "सिस्टम क्रैश" के बारे में ग्राहकों की शिकायतों की जांच करते समय "स्क्रीन फ़्रीज़" का उल्लेख करने वाली उत्पाद समीक्षा छूट सकती है।


टेक्स्ट एम्बेडिंग, एक नई तकनीक जो शब्दों और वाक्यों को संख्यात्मक वैक्टर में परिवर्तित करती है जो उनके अर्थ को कैप्चर करते हैं, इस बुनियादी बाधा के परिणामस्वरूप विकसित और उपयोग की गई थी। बड़ी तकनीकी फर्मों ने कभी-कभी अधिक उन्नत एम्बेडिंग मॉडल बनाने पर अरबों खर्च किए हैं; ओपनएआई की एम्बेडिंग, मेटा का रोबर्टा, गूगल का बर्ट, और कई ओपन-सोर्स विकल्प अब समकालीन एनएलपी सिस्टम के आवश्यक हिस्से हैं।


हालाँकि, उनके व्यापक उपयोग के बावजूद, हम अभी भी पूरी तरह से समझ नहीं पाए हैं कि ये एम्बेडिंग मॉडल व्यावहारिक परिस्थितियों में कैसे काम करते हैं। समझ की इस कमी के परिणामस्वरूप:


  • महंगी कार्यान्वयन त्रुटियाँ तब होती हैं जब प्रणालियाँ व्यावसायिक आवश्यकताओं को पूरा नहीं करती हैं।
  • जब प्रासंगिक सामग्री खोज या अनुशंसा प्रणालियों द्वारा छूट जाती है तो खराब उपयोगकर्ता अनुभव। विभिन्न उपयोगकर्ता जनसांख्यिकी, सामग्री श्रेणियों और भाषाओं के बीच प्रदर्शन अंतर।
  • अत्यधिक जटिल मॉडलों का उपयोग करने वाले संगठनों द्वारा संसाधनों का अप्रभावी उपयोग

उद्योग के लिए प्रासंगिकता और प्रयोज्यता

इस विश्लेषण से कई अलग-अलग उद्योग सीधे लाभान्वित हो सकते हैं:

खुदरा और ई-कॉमर्स:

  • बहुभाषी पूछताछ, समानार्थी शब्द और अशुद्ध वर्तनी को समायोजित करने के लिए उत्पाद खोज को उन्नत करना।
  • विभिन्न विवरणों वाले तुलनीय उत्पादों की पहचान करने के लिए अनुशंसा प्रणालियों में सुधार करना।
  • अधिक परिष्कृत समीक्षा विश्लेषण उपकरण विकसित करना जो भावनाओं की सूक्ष्मताओं से अवगत हों।

चिकित्सा देखभाल:

  • चिकित्सीय दस्तावेज़ पुनर्प्राप्ति प्रणालियों में संकेतन विविधताओं के बीच चिकित्सा शब्दावली का मिलान करने की अनुमति देना।
  • शैक्षिक योग्यता की परवाह किए बिना, लक्षण वर्णन के लिए रोगी की भाषाई प्रसंस्करण को बढ़ाना।
  • तकनीकी चरों में अवधारणाओं का बेहतर मिलान करके चिकित्सा साहित्य की खोज में सुधार करना

वित्त:

  • नीति उल्लंघनों के लिए अनुपालन निगरानी को बढ़ाना, चाहे उनका शब्दांकन कुछ भी हो।
  • भाषाई भिन्नताओं में संदिग्ध पैटर्न की पहचान के माध्यम से धोखाधड़ी का पता लगाना।
  • विभिन्न प्रकार की उपभोक्ता पूछताछ को बेहतर ढंग से समझकर ग्राहक सेवा में सुधार करना


यह पता लगाना कि आपका एम्बेडिंग मॉडल कैसे समान परिणाम दे रहा है: यह विश्लेषण संगठनों को एम्बेडिंग व्यवहार को समझने का एक व्यवस्थित तरीका प्रदान करके मॉडल चयन, प्रीप्रोसेसिंग आवश्यकताओं और संभावित संवर्द्धन रणनीतियों के बारे में बेहतर निर्णय लेने में मदद करता है। इस दृष्टिकोण के परिणामस्वरूप अंततः भाषा प्रसंस्करण प्रणाली अधिक कुशल, विश्वसनीय और न्यायसंगत होती है।

टेक्स्ट एम्बेडिंग क्या है?

जो लोग इस बारे में नहीं जानते, उनके लिए बता दें कि टेक्स्ट एम्बेडिंग शब्दों या वाक्यों को संख्यात्मक वैक्टर में बदल देती है - अनिवार्य रूप से संख्याओं की लंबी सूची, कई आयामों वाले सघन वैक्टर। ये वैक्टर उच्च-आयामी स्थान में स्थित होते हैं जहाँ अर्थगत समानता को निकटता द्वारा दर्शाया जाता है। सरल शब्दों में, समान अर्थ वाली चीजें इस स्थान में एक दूसरे के करीब होनी चाहिए। ये एम्बेडिंग आधुनिक NLP में व्यावहारिक रूप से हर चीज को शक्ति प्रदान करते हैं:


  • जब आप गूगल पर सर्च करते हैं, तो वह समझ जाता है कि आपका मतलब "न्यूयॉर्क के होटल" था, भले ही आपने "NYC में ठहरने के स्थान" लिखा हो।

  • जब आपका ईमेल क्लाइंट उत्तर सुझाता है

  • जब कोई सामग्री अनुशंसा प्रणाली उन लेखों का पता लगाती है जो आपको पसंद आ सकते हैं


यह क्षमता अनेक ऐप्स को शक्ति प्रदान करती है:

  • अर्थगत खोज इंजन
  • सामग्री की अनुशंसा करने की प्रणालियाँ
  • चैटबॉट के इरादे की पहचान
  • दस्तावेजों का संगठन और समूहीकरण
  • पाठों को वर्गीकृत करने और प्रश्नों के उत्तर देने की प्रणालियाँ


इन अनुप्रयोगों की प्रभावशीलता काफी हद तक इस बात पर निर्भर करती है कि एम्बेडिंग मॉडल विभिन्न टेक्स्ट वेरिएंट और भाषाई घटनाओं को कितनी अच्छी तरह से प्रबंधित करता है। जबकि एक मॉडल जो छोटे स्वरूपण भिन्नताओं के प्रति बहुत संवेदनशील है, उसे वास्तविक खोज क्वेरी के साथ परेशानी होगी, एक मॉडल जो "मुझे यह उत्पाद पसंद है" और "मुझे यह उत्पाद पसंद नहीं है" को लगभग समान मानता है, वह भावना विश्लेषण के लिए अप्रभावी होगा।

मैंने एम्बेडिंग मॉडल की जांच क्यों शुरू की?

मैं उस दिन को कभी नहीं भूल सकता जब मैं अपने एक ग्राहक के लिए सैंपल डॉक्यूमेंट के साथ एम्बेडिंग मॉडल पर शोध कर रहा था। मैंने "टच स्क्रीन के बिना लैपटॉप" खोजने की कोशिश की, लेकिन वेक्टर इंडेक्स से टच स्क्रीन लैपटॉप के बारे में ही जवाब मिला। हमारे एम्बेडिंग मॉडल में नकारात्मकता पूरी तरह से छूट गई थी।


वह क्षण मेरे साथ रह गया। मेरा मतलब है, अगर मॉडल बुनियादी "बिना" को नहीं समझ सकता, तो इसमें और क्या कमी थी? उस घटना ने मुझे एक अप्रत्याशित रास्ते पर ले गया। मुझे यह जानना था कि समस्या कितनी गंभीर थी। निश्चित रूप से, हमारे एम्बेडिंग मॉडल के लिए बेंचमार्क प्रभावशाली दिखते थे, लेकिन यह हमारे उपयोगकर्ताओं द्वारा हर दिन टाइप की जाने वाली गड़बड़, वास्तविक दुनिया की भाषा के साथ कैसा व्यवहार करता था? जब शब्दों की गलत वर्तनी होती थी, वाक्य अधूरे होते थे, या लोग इमोजी का उपयोग करते थे, तो क्या होता था?


RAG एक्सपेरिमेंट एक्सेलरेटर ( https://github.com/microsoft/rag-experiment-accelerator ) का उपयोग करके विभिन्न अनुप्रयोगों में विभिन्न एम्बेडिंग मॉडल के साथ दो साल तक प्रयोग करने के बाद, मैंने यह मूल्यांकन करने का एक व्यवस्थित तरीका विकसित किया है कि ये मॉडल विभिन्न प्रकार के वाक्य भिन्नताओं को कैसे संभालते हैं। मैंने जो पाया उससे मैं डर गया।


ये बेतरतीब गड़बड़ियाँ नहीं थीं - ये मॉडल भाषा को जिस तरह से देखते हैं उसमें गहरी, व्यवस्थित अंधी जगहें थीं। और कोई भी इसके बारे में बात नहीं कर रहा था। मैं ये निष्कर्ष इसलिए साझा कर रहा हूँ क्योंकि मैंने बहुत सी टीमों को परिष्कृत एम्बेडिंग-आधारित सिस्टम को लागू करने में महीनों बर्बाद करते देखा है और बहुत देर से पता चलता है कि वे अप्रत्याशित तरीके से टूट जाते हैं।


यह मुद्दा सिर्फ़ अकादमिक नहीं है। एम्बेडिंग व्यवहार को गलत समझने के परिणाम गंभीर हैं: एक प्रमुख स्वास्थ्य सेवा कंपनी के एक सहकर्मी ने मुझे बताया कि उनकी चिकित्सा सूचना पुनर्प्राप्ति प्रणाली प्रासंगिक नैदानिक दस्तावेज़ों को याद कर रही थी क्योंकि उनका एम्बेडिंग मॉडल संक्षिप्ताक्षरों और चिकित्सा शब्दावली भिन्नताओं को ठीक से संभाल नहीं पा रहा था। स्वास्थ्य सेवा में, इस तरह की चूक उपचार निर्णयों को प्रभावित कर सकती है।


एक वित्तीय सेवा फर्म में, उनकी अनुपालन निगरानी प्रणाली नीति उल्लंघनों को अनदेखा कर देती है क्योंकि उनका एम्बेडिंग मॉडल यह नहीं पहचान पाता है कि निष्क्रिय आवाज़ वाक्य ("धन हस्तांतरित किया गया") का अर्थ सक्रिय आवाज़ ("किसी ने धन हस्तांतरित किया") के समान ही है। मैंने देखा है कि ई-कॉमर्स कंपनियों को अपने उत्पाद खोज प्रणाली की वजह से लाखों डॉलर का नुकसान होता है, जो खरीदारों द्वारा उपयोग किए जाने वाले सामान्य टाइपो और भाषाई शॉर्टकट को समायोजित करने में असमर्थता के कारण होता है।

मेरा परीक्षण दृष्टिकोण

मैंने एक परीक्षण ढांचा विकसित किया है जो जांचता है कि एम्बेडिंग मॉडल टेक्स्ट भिन्नताओं की कई अलग-अलग श्रेणियों पर कैसे प्रतिक्रिया करते हैं। कोसाइन समानता को मीट्रिक के रूप में उपयोग करते हुए (जहाँ 1.0 का अर्थ समान अर्थ है और 0.0 का अर्थ पूरी तरह से असंबंधित है), मैंने सैकड़ों परीक्षण मामले चलाए। मैं जो पाया उसके बारे में बताऊंगा, MSMarco DistilBERT, OpenAI टेक्स्ट एम्बेडिंग और कई अन्य सहित कई मॉडलों पर ध्यान केंद्रित करते हुए, और मैंने अधिकांश ट्रांसफॉर्मर-आधारित एम्बेडिंग में समान पैटर्न देखे हैं।

अपरकेस और लोअरकेस में अंतर नहीं बताया जा सकता (बिलकुल भी नहीं)

इसने मुझे चौंका दिया। एम्बेडिंग मॉडल " Apple ने नए उत्पादों की घोषणा की" और "apple ने नए उत्पादों की घोषणा की" को बिल्कुल एक ही चीज़ के रूप में देखते हैं - बिल्कुल सही 1.0 समानता स्कोर। कोई भी अंतर नहीं।


मैं एक उत्पाद सूची प्रणाली के साथ इस में भाग गया। खोज ब्रांड "एप्पल" और फल "सेब" के बीच अंतर नहीं बता सका। Apple उत्पादों की खोज करने वाले ग्राहकों को सेब पाई के लिए व्यंजन विधि मिली। क्या आपको लगता है कि आपके ग्राहक परिणाम देखकर खुश होंगे? मुझे यकीन है कि मुझे यह पसंद नहीं आएगा।


यह क्यों मायने रखता है? उन सभी मामलों के बारे में सोचें जहाँ कैपिटलाइज़ेशन अर्थ बदल देता है - "पोलिश" बनाम "पोलिश", "मार्च" बनाम "मार्च", "बिल" बनाम "बिल"। कानूनी या चिकित्सा ग्रंथों के लिए, ये अंतर महत्वपूर्ण हो सकते हैं। हम मूल रूप से ऐसे मॉडल के साथ काम कर रहे हैं जो लिखित भाषा के पूरे आयाम के लिए आंशिक रूप से अंधे हैं। इस तरह के मुद्दों को ठीक करने का एक तरीका है, और उन्हें बाद में कवर किया जाएगा। आइए एम्बेडिंग के साथ और अधिक मुद्दों को समझें। ध्यान दें कि यह फायदेमंद हो सकता है यदि ये अंतर आपके द्वारा संभाले जा रहे मामले को प्रभावित नहीं करते हैं।

संख्याएँ भी मनगढ़ंत हो सकती हैं

इसने भी मुझे चौंका दिया। एम्बेडिंग मॉडल "निवेश ने सालाना 2% रिटर्न दिया" और "निवेश ने सालाना 20% रिटर्न दिया" को एक ही चीज़ के रूप में देखते हैं, जो एक पागलपन भरा उच्च 0.97 समानता स्कोर है। दोनों परिदृश्यों के बीच कोई स्पष्ट अंतर नहीं है।


मैं वित्तीय दस्तावेज़ खोज प्रणाली के साथ इस पर आया। एल्गोरिथ्म "प्रबंधन शुल्क: 0.2%" और "प्रबंधन शुल्क: 2.0%" के बीच अंतर नहीं बता सका। कम शुल्क वाले फंड की तलाश करने वाले निवेशकों को इसके बजाय महंगे विकल्पों की सिफारिश की गई। क्या आपको लगता है कि आपका रिटायरमेंट अकाउंट उस गलती से खुश होगा? मुझे यकीन है कि मैं अपनी बचत को फीस द्वारा खाए जाते हुए नहीं देखना चाहूंगा।


उन सभी मामलों के बारे में सोचें जहां संख्यात्मक मान महत्वपूर्ण खुराक निर्देश, इंजीनियरिंग सहनशीलता, वित्तीय रिटर्न और अनुबंध की समय सीमा हैं। निवेश या चिकित्सा पाठ के लिए, ये अंतर जीवन बदलने वाले हो सकते हैं। हम मूल रूप से ऐसे मॉडलों के साथ काम कर रहे हैं जो महत्वपूर्ण मात्राओं से भरे पाठ को संभालने के बावजूद संख्यात्मक रूप से निरक्षर हैं।

"नहीं" समस्या डरावनी है

यह वास्तव में खतरनाक है। वाक्य में "नहीं" जोड़ने से - वस्तुतः इसका अर्थ बदल जाता है - समानता स्कोर पर मुश्किल से ही कोई प्रभाव पड़ता है। हमने नियमित रूप से पूर्ण विपरीत के लिए 0.95 से ऊपर स्कोर देखा। "उपचार ने रोगी के परिणामों में सुधार किया" बनाम "उपचार ने रोगी के परिणामों में सुधार नहीं किया" → 0.96 समानता जब मैंने इसे एक डॉक्टर को दिखाया जो हमारे मेडिकल सर्च सिस्टम का उपयोग कर रहा था, तो वह भयभीत हो गया। वह इतना भयभीत था कि वह शारीरिक रूप से कंप्यूटर से दूर चला गया। और उसे ऐसा करना चाहिए।


हम एक ऐसी प्रणाली बना रहे थे जिसका उपयोग डॉक्टर उपचार प्रोटोकॉल खोजने के लिए करेंगे। अगर यह गलत हो जाए, तो लोग मर सकते हैं। नकारात्मकता कोई चरम मामला नहीं है - यह मानव भाषा का मूल है। जब आपकी खोज, अनुशंसा या विश्लेषण प्रणाली "प्रभावी" को "अप्रभावी" से या "सुरक्षित" को "असुरक्षित" से अलग नहीं बता पाती, तो आप खतरनाक भ्रम मशीनें बना रहे हैं।


स्वास्थ्य सेवा में, इसका मतलब हानिकारक उपचारों की सिफारिश करना हो सकता है। कानूनी दस्तावेजों में, यह अनुबंध संबंधी दायित्वों को पूरी तरह से उलट सकता है। सामग्री मॉडरेशन में, आप "हिंसा स्वीकार्य है" और "हिंसा कभी स्वीकार्य नहीं है" के बीच अंतर को अनदेखा कर सकते हैं।

रिक्त स्थान मायने नहीं रखते (जब तक कि वे वास्तव में मायने नहीं रखते)

अतिरिक्त रिक्त स्थान, टैब, अजीब स्वरूपण - मॉडल परवाह नहीं करते। समानता 0.995 से ऊपर रहती है। लेकिन सभी रिक्त स्थान हटा दें? समानता अचानक 0.82 पर गिर जाती है। मुझे इस समस्या का सामना तब करना पड़ा जब मैं स्क्रैप की गई सामग्री के साथ काम कर रहा था और खराब HTML के कारण अनियमित रिक्तियाँ थीं। हमने हज़ारों स्क्रैप किए गए दस्तावेज़ों वाली डिजिटल लाइब्रेरी के लिए यह सुंदर खोज प्रणाली बनाई। असंगत रिक्तियों के कारण आधी क्वेरीज़ ने कुछ भी उपयोगी नहीं लौटाया। लाइब्रेरियन पूरे प्रोजेक्ट को स्क्रैप करने के लिए तैयार थे।


यह विचित्रता तब विनाशकारी हो जाती है जब उपयोगकर्ता द्वारा निर्मित सामग्री, OCR'd दस्तावेज़ों या उन भाषाओं से निपटना होता है जो अंग्रेजी की तरह रिक्त स्थान का उपयोग नहीं करती हैं (जैसे थाई या चीनी)। इसका मतलब यह भी है कि ये मॉडल हैशटैग, URL और उत्पाद कोड के साथ संघर्ष करते हैं - ऐसी चीजें जिन्हें वास्तविक लोग हर दिन खोजते हैं।

संदर्भ चुनौतीपूर्ण हैं

एम्बेडेड मॉडल "कार पेड़ के बाईं ओर है" और "कार पेड़ के दाईं ओर है" को लगभग समान मानते हैं - एक बेहद उच्च 0.98 समानता स्कोर। विपरीत दृष्टिकोणों का वर्णन करने के बावजूद, एम्बेडेड मॉडल उन्हें लगभग समान मानते हैं। क्या आपको लगता है कि जब रोबोट गलत स्टेशनों पर पैकेज वितरित करेंगे तो वेयरहाउस मैनेजर प्रसन्न होंगे? मैं आपको आश्वस्त कर सकता हूं कि मैं निराशा से अभिभूत हो जाऊंगा।


उन सभी मामलों के बारे में सोचें जहाँ परिप्रेक्ष्य और संदर्भ फ़्रेम आवश्यक हैं - नेविगेशन दिशाएँ, स्थानिक संबंध, चिकित्सा प्रक्रियाओं में सापेक्ष स्थिति और दुर्घटना के दृश्यों का कानूनी विवरण। ये अंतर तुच्छ नहीं हैं - वे परिप्रेक्ष्य के आधार पर अर्थ को पूरी तरह से बदल देते हैं। हम मूल रूप से ऐसे मॉडल के साथ काम कर रहे हैं जो यह नहीं बता सकते कि आप किसी चीज़ का वर्णन सामने से कर रहे हैं या पीछे से।

प्रतितथ्यात्मक तथ्य पूरी तरह से उलट गए

इसने मुझे हंसाया, फिर रुलाया। एम्बेडिंग मॉडल "यदि मांग बढ़ती है, तो कीमतें बढ़ेंगी" और "यदि मांग बढ़ती है, तो कीमतें गिरेंगी" को व्यावहारिक रूप से समान मानते हैं - एक चौंकाने वाला 0.95 समानता स्कोर । इसके बावजूद, वे पूरी तरह से अलग आर्थिक परिदृश्य दर्शाते हैं!


मुझे आर्थिक शोध पत्रों के लिए विश्लेषण प्रणाली बनाते समय यह समस्या आई। एल्गोरिथ्म विपरीत कारण संबंधों के बीच अंतर नहीं कर सका। मांग में उछाल के दौरान मूल्य वृद्धि के बारे में शोध पत्र खोजने वाले अर्थशास्त्रियों को मंदी के दौरान मूल्य में गिरावट के बारे में परिणाम मिले। क्या आपको लगता है कि लाखों डॉलर के निवेश निर्णय लेने वाले वित्तीय विश्लेषक बिल्कुल उलट जानकारी प्राप्त करना पसंद करेंगे? मुझे यकीन है कि मैं नहीं चाहूँगा कि मेरे रिटायरमेंट फंड को इस तरह से प्रबंधित किया जाए।


फिर से, उन सभी मामलों के बारे में सोचें जहाँ प्रतितथ्यात्मक तर्क महत्वपूर्ण है: आर्थिक अनुमान, चिकित्सा कारण-और-प्रभाव संबंध, कानूनी परिकल्पनाएँ, और इंजीनियरिंग विफलता विश्लेषण। जब आप "यदि X, तो Y" को "यदि नहीं-X, तो नहीं-Y" से नहीं बता सकते, तो आप मूल रूप से कारण संबंध को गलत समझते हैं। हम मूल रूप से ऐसे मॉडल के साथ काम कर रहे हैं जो काल्पनिक और भविष्यवाणियों से भरे पाठ को संभालने के बावजूद बुनियादी सशर्त तर्क को समझ नहीं सकते हैं।

रेंज और सटीक मान

इसने मुझे अवाक कर दिया। एम्बेडिंग मॉडल "उत्पाद की कीमत $50-$100 के बीच है" और "उत्पाद की कीमत ठीक $101 है" को लगभग एक ही चीज़ के रूप में देखते हैं - एक मन-भ्रमित करने वाला 0.98 समानता स्कोर । एक सीमा में है, एक उस सीमा से बाहर है, लेकिन मॉडल मुश्किल से नोटिस करता है!


मुझे यह बात एक ई-कॉमर्स क्लाइंट के लिए मूल्य तुलना प्रणाली बनाते समय पता चली। खोज मूल्य सीमा और सटीक कीमतों के बीच अंतर नहीं कर सकती थी, भले ही सटीक कीमत निर्दिष्ट सीमा से बाहर हो। $100 के सख्त बजट वाले शॉपर्स "$100 से कम" के उत्पादों की खोज करते समय $120 या $150 की लागत वाले आइटम दिखाते रहते थे। क्या आपको लगता है कि निश्चित बजट वाले ग्राहक ऐसे उत्पाद देखना पसंद करते हैं जिन्हें वे स्पष्ट रूप से खरीद नहीं सकते? मुझे यकीन है कि मैं उन चीजों को ब्राउज़ करने में समय बर्बाद नहीं करना चाहूँगा जिन्हें मैं खरीद नहीं सकता।


उन सभी मामलों के बारे में सोचें जहाँ सीमा बनाम सटीक मान महत्वपूर्ण हैं - मूल्य निर्धारण निर्णय, दवा की खुराक सीमा, कानूनी समय सीमा, सुरक्षा सहनशीलता और प्रदर्शन बेंचमार्क। जब आपका मॉडल "कम से कम 25 दिन" और "बिल्कुल 20 दिन" को मूल रूप से समान मानता है, तो आपने महत्वपूर्ण अर्थ खो दिया है। हम मूल रूप से ऐसे मॉडल के साथ काम कर रहे हैं जो पाठ को संभालने के बावजूद लचीलेपन और सटीकता के बीच अंतर नहीं कर सकते हैं; यह अंतर निर्णयों को प्रभावित करता है।

सत्य और परिणाम

यहां msmarco-distilbert-base-tas-b, all-mpnet-base-v2, और open-ai-text-embedding-3-large के बीच तुलना दी गई है, और आप देखेंगे कि इन मॉडलों के आउटपुट के बीच कोई महत्वपूर्ण अंतर नहीं है।


विभिन्न परीक्षण मामलों में msmarco-distilbert-base-tas-b एम्बेडिंग स्कोर



विभिन्न परीक्षण मामलों में all-mpnet-base-v2 एम्बेडिंग स्कोर



openai-text-embedding-3-विभिन्न परीक्षण मामलों में बड़ा एम्बेडिंग स्कोर

एम्बेडिंग के साथ कैसे काम करें

देखिए, इन समस्याओं के बावजूद एम्बेडिंग आश्चर्यजनक रूप से उपयोगी हैं। मैं यह नहीं कह रहा हूँ कि उनका उपयोग न करें - मैं कह रहा हूँ कि उन्हें अपनी आँखें खोलकर उपयोग करें। दर्जनों परियोजनाओं और अनगिनत विफलताओं के बाद मेरी युद्ध-परीक्षित सलाह यहाँ दी गई है:


  1. तैनाती से पहले अपने मॉडल को वास्तविक उपयोगकर्ता भाषा पैटर्न पर परखें। अकादमिक बेंचमार्क नहीं, स्वच्छ परीक्षण मामले नहीं - आपके उपयोगकर्ता कैसे संवाद करते हैं, इसके वास्तविक उदाहरण। हमने एक "भाषाई तनाव परीक्षण" टूलकिट बनाया है जो नकारात्मकता, टाइपो और संख्यात्मक अंतर जैसे सामान्य भिन्नताओं का अनुकरण करता है। हमारे द्वारा परीक्षण किया जाने वाला प्रत्येक सिस्टम कुछ क्षेत्रों में विफल रहता है - सवाल यह है कि क्या वे क्षेत्र आपके विशिष्ट अनुप्रयोग के लिए मायने रखते हैं।


  2. महत्वपूर्ण ब्लाइंड स्पॉट के आसपास सुरक्षा कवच बनाएं। अलग-अलग अनुप्रयोगों के लिए अलग-अलग आवश्यकताएं होती हैं, जिन्हें पूरा करना मुश्किल होता है। स्वास्थ्य सेवा के लिए, यह आमतौर पर नकारात्मकता और इकाई परिशुद्धता है। वित्त के लिए, यह संख्या और अस्थायी संबंध है। कानूनी के लिए, यह शर्तें और दायित्व हैं। पहचानें कि आपके डोमेन में क्या गलत नहीं हो सकता है, और विशेष सुरक्षा उपायों को लागू करें।


  3. एम्बेडिंग पर सब कुछ दांव पर लगाने के बजाय अलग-अलग तकनीकों को लेयर करें। हमारी सबसे सफल प्रणालियाँ एम्बेडिंग-आधारित पुनर्प्राप्ति को कीवर्ड सत्यापन, स्पष्ट नियम जाँच और महत्वपूर्ण अंतरों के लिए विशेषीकृत क्लासिफायर के साथ जोड़ती हैं। यह अतिरेक अक्षम नहीं है; यह आवश्यक है।


  4. उपयोगकर्ताओं के साथ इस बारे में पारदर्शी रहें कि सिस्टम क्या कर सकता है और क्या नहीं। हमने विश्वास स्कोर जोड़े हैं जो स्पष्ट रूप से संकेत देते हैं कि परिणाम में नकारात्मकता, संख्यात्मक तुलना या अन्य संभावित कमज़ोर बिंदु शामिल हो सकते हैं। उपयोगकर्ता ईमानदारी की सराहना करते हैं, और यह समग्र रूप से सिस्टम में विश्वास बनाता है।


यहाँ सबसे महत्वपूर्ण बात जो मैंने सीखी है: ये मॉडल भाषा को उस तरह नहीं समझते जैसे मनुष्य समझते हैं - वे सांख्यिकीय पैटर्न को समझते हैं। जब मैंने मानव जैसी समझ की अपेक्षा करना बंद कर दिया और उन्हें विशिष्ट ब्लाइंड स्पॉट वाले परिष्कृत पैटर्न-मिलान उपकरण के रूप में देखना शुरू किया, तो मेरे सिस्टम बेहतर हो गए। बहुत बेहतर।


मैंने जिन अंधे धब्बों का वर्णन किया है, वे जल्द ही दूर नहीं होने वाले हैं - वे इन मॉडलों के काम करने के तरीके में अंतर्निहित हैं। लेकिन अगर आपको पता है कि वे मौजूद हैं, तो आप उनके आसपास डिज़ाइन कर सकते हैं। और कभी-कभी, किसी सीमा को स्वीकार करना उस पर काबू पाने की दिशा में पहला कदम होता है।


नोट: मेरे पास प्रयोगों के माध्यम से पाए गए ऐसे कई और मामले हैं, और मैं उन्हें कोड उदाहरणों के साथ अपनी अगली पोस्ट में शामिल करूंगा।


अगला लेख जल्द ही प्रकाशित होगा। बने रहिए!!