इस दो-भाग श्रृंखला की पहली किस्त में, हम देखते हैं कि कैसे उप-इष्टतम एम्बेडिंग मॉडल, अकुशल चंकिंग रणनीतियाँ और मेटाडेटा फ़िल्टरिंग की कमी आपके एलएलएम से प्रासंगिक प्रतिक्रियाएँ प्राप्त करना कठिन बना सकती है। यहां बताया गया है कि इन चुनौतियों से कैसे पार पाया जाए।
उपयोग करने वाले जेनेरिक एआई अनुप्रयोगों का निर्माण
हम इस प्रक्रिया को दो मुख्य भागों में विभाजित करेंगे। पहला, जिसे हम श्रृंखला के इस पहले लेख में संबोधित करेंगे, एम्बेडिंग पाइपलाइन है, जो पॉप्युलेट होती है
यहां, हम तीन मुख्य क्षेत्रों पर विचार करेंगे जो खराब परिणाम दे सकते हैं: उप-इष्टतम एम्बेडिंग मॉडल, अक्षम चंकिंग रणनीतियाँ, और मेटाडेटा फ़िल्टरिंग की कमी। (आगामी लेख में, हम एलएलएम के साथ वास्तविक बातचीत को देखेंगे और कुछ सामान्य समस्याओं की जांच करेंगे जो वहां उत्पन्न होती हैं और खराब परिणाम दे सकती हैं।)
एम्बेडिंग मॉडल की आपकी पसंद आपके आरएजी एप्लिकेशन की समग्र प्रासंगिकता और उपयोगिता पर महत्वपूर्ण प्रभाव डालेगी। इस प्रकार, इसके लिए प्रत्येक मॉडल की क्षमताओं की सूक्ष्म समझ और विश्लेषण की आवश्यकता होती है कि वे क्षमताएं आपके एप्लिकेशन की आवश्यकताओं के साथ कैसे संरेखित होती हैं।
यदि आप सामान्य रूप से आरएजी और एम्बेडिंग में अपेक्षाकृत नए हैं, तो सबसे अच्छे संसाधनों में से एक जिसके बारे में आपको अवगत होना चाहिए वह है
लीडरबोर्ड आपको उन मॉडलों की पहचान करने में मदद कर सकता है जो आपके विशिष्ट उपयोग के मामले में सबसे अच्छा प्रदर्शन करेंगे।
खराब आरएजी प्रदर्शन के सबसे आम कारणों में से एक यह है कि इस क्षेत्र में नए डेवलपर्स एम्बेडिंग पीढ़ी के उदाहरण खोजने के लिए Google खोज करते हैं। उन्हें अक्सर ऐसे नमूने मिलते हैं जो Word2Vec, sBERT, और RoBERTa जैसे एम्बेडिंग मॉडल का उपयोग करते हैं जो पुनर्प्राप्ति उपयोग के मामलों के लिए खराब विकल्प हैं।
यदि आपको यह लेख इसलिए मिला क्योंकि आप खराब प्रासंगिकता वाले परिणामों को डीबग कर रहे हैं और आपने अपनी एम्बेडिंग उत्पन्न करने के लिए sBERT जैसी किसी चीज़ का उपयोग किया है, तो हमने संभवतः आपकी प्रासंगिकता समस्याओं के कारण की पहचान कर ली है।
यदि हां, तो अगला प्रश्न आपके मन में होगा कि आप अपने समानता खोज परिणामों को बेहतर बनाने के लिए कौन से एम्बेडिंग मॉडल का उपयोग कर सकते हैं। आपके उपयोग के मामले का विवरण जाने बिना, हम जिन तीन की अनुशंसा करेंगे वे हैं:
8,192 टोकन तक की अधिकतम इनपुट अनुक्रम लंबाई के साथ, यह आपको वैकल्पिक मॉडल की तुलना में पाठ के अधिक लंबे टुकड़ों के लिए एम्बेडिंग बनाने की भी अनुमति देता है। यह आशीर्वाद भी है और अभिशाप भी.
एक बड़ा अनुक्रम आकार होने से आपकी अधिक टेक्स्ट सामग्री के लिए एम्बेडिंग बनाने की प्रक्रिया सरल हो जाती है, और यह एम्बेडिंग मॉडल को टेक्स्ट के बड़े हिस्से में शब्दों और वाक्यों में संबंधों की पहचान करने की अनुमति देता है।
हालाँकि, इसका परिणाम समानता खोजों में भी होता है जो दो लंबे दस्तावेज़ों की समानता की तुलना करते समय और अधिक अस्पष्ट हो सकती है जब आप जो खोज रहे हैं वह पीढ़ी प्रक्रिया को सुविधाजनक बनाने के लिए संदर्भ का प्रासंगिक हिस्सा है।
Ada v2 की दो बड़ी कमियाँ हैं। पहला यह कि इसे स्थानीय स्तर पर नहीं चलाया जा सकता. एम्बेडिंग बनाने के लिए आपको OpenAI के API का उपयोग करना होगा। यह न केवल उन मामलों में बाधा उत्पन्न कर सकता है जहां आप सामग्री के कई टुकड़ों के लिए एम्बेडिंग बनाना चाहते हैं, बल्कि यह प्रति 1,000 टोकन पर $0.0001 की लागत भी जोड़ता है।
दूसरा यह है कि ओपन एआई मॉडल से निर्मित एम्बेडिंग प्रत्येक 1,536 आयाम हैं। यदि आप क्लाउड वेक्टर डेटाबेस का उपयोग कर रहे हैं, तो यह आपकी वेक्टर भंडारण लागत में काफी वृद्धि कर सकता है।
कब चुनें: आप एक सरल समाधान चाहते हैं जिसके लिए केवल एपीआई कॉल की आवश्यकता होती है, आपको संभावित रूप से बड़े दस्तावेज़ों को वेक्टराइज़ करने की आवश्यकता होती है, और लागत कोई समस्या नहीं है।
जीना v2 एक नया ओपन-सोर्स एम्बेडिंग मॉडल है जो आपको Ada v2 के समान 8,000 इनपुट अनुक्रम समर्थन देता है और वास्तव में पुनर्प्राप्ति उपयोग के मामलों में थोड़ा बेहतर स्कोर देता है।
जीना v2, Ada v2 की समस्याओं का निवारण प्रदान करता है। यह अपाचे लाइसेंस 2.0 के तहत खुला स्रोत है और इसे स्थानीय रूप से चलाया जा सकता है, जो निश्चित रूप से एक खामी है यदि आप ऐसा करने के लिए अपना खुद का कोड नहीं चलाना चाहते हैं। यह Ada v2 के आधे आयामों के साथ एक एम्बेडिंग वेक्टर भी तैयार करता है।
इसलिए न केवल आपको बेंचमार्क उपयोग के मामलों पर थोड़ा बेहतर पुनर्प्राप्ति प्रदर्शन मिलता है, बल्कि आपको वेक्टर डेटाबेस परिप्रेक्ष्य से कम भंडारण और गणना आवश्यकताओं के साथ बेहतर परिणाम भी मिलते हैं।
कब चुनें: आप एक ओपन-सोर्स समाधान का उपयोग करना चाहते हैं और संभावित रूप से बड़े दस्तावेज़ों को वेक्टराइज़ करने की आवश्यकता है और स्थानीय स्तर पर एम्बेडिंग पाइपलाइन चलाने में सहज हैं। आप निम्न-आयाम एम्बेडिंग के साथ वेक्टर डेटाबेस लागत को कम करना चाहते हैं।
bge-large-en-v1.5 एमआईटी लाइसेंस के तहत ओपन-सोर्स है और वर्तमान में पुनर्प्राप्ति उपयोग के मामलों के लिए एमटीईबी लीडरबोर्ड पर शीर्ष रैंक वाला एम्बेडिंग मॉडल है। छोटे इनपुट अनुक्रम के साथ, आपको अपनी चंकिंग रणनीति पर अधिक विचार करने की आवश्यकता होगी लेकिन अंततः पुनर्प्राप्ति उपयोग के मामलों के लिए सर्वोत्तम ऑल-अराउंड प्रदर्शन प्रदान करता है।
कब चुनें: आप एक ओपन-सोर्स समाधान का उपयोग करना चाहते हैं और इनपुट आकार सीमाओं के भीतर रहने के लिए चंकिंग रणनीतियों पर अधिक समय बिताने के इच्छुक हैं। आप स्थानीय स्तर पर एम्बेडिंग पाइपलाइन चलाने में सहज हैं। आप पुनर्प्राप्ति उपयोग के मामलों के लिए सबसे अच्छा प्रदर्शन करने वाला एम्बेडिंग मॉडल चाहते हैं।
इस आलेख के दायरे से बाहर रहते हुए, हो सकता है कि आप एमटीईबी लीडरबोर्ड में 15 बेंचमार्कों की गहराई से जांच करना चाहें, ताकि उस बेंचमार्क की पहचान की जा सके जो आपकी विशिष्ट स्थिति से सबसे अधिक मिलता-जुलता हो।
हालांकि विभिन्न एम्बेडिंग मॉडल अलग-अलग बेंचमार्क में कितना अच्छा प्रदर्शन करते हैं, इसके पैटर्न निश्चित रूप से हैं, अक्सर ऐसे विशिष्ट मॉडल होते हैं जो प्रत्येक में खड़े होते हैं। यदि आपको अपने एम्बेडिंग चयन को और अधिक परिष्कृत करने की आवश्यकता है, तो यह आगे की जांच का एक संभावित क्षेत्र है।
इनपुट टेक्स्ट का विभाजन या "चंकिंग" एक महत्वपूर्ण कारक है जो उत्पन्न आउटपुट की प्रासंगिकता और सटीकता को महत्वपूर्ण रूप से प्रभावित करता है। विभिन्न चंकिंग रणनीतियाँ अद्वितीय लाभ प्रदान करती हैं और विशिष्ट प्रकार के कार्यों के लिए उपयुक्त हैं। यहां, हम इन पद्धतियों पर गहराई से चर्चा करते हैं और कुछ प्रमुख विचारों को शामिल करते हुए उनके आवेदन के लिए दिशानिर्देश प्रदान करते हैं:
कब उपयोग करें - जब तक आपकी सामग्री अत्यधिक संरचित और निश्चित लंबाई की न हो, आप आमतौर पर अनुसरण की जाने वाली रणनीति की तरह अधिक उपयोगी चंकिंग रणनीति पर भरोसा करना चाहेंगे।
तकनीकी विचार - लागू करने में बहुत सरल होते हुए भी, यह खंडन रणनीति आम तौर पर आरएजी अनुप्रयोगों में खराब परिणाम देने वाली है।
अतिरिक्त जानकारी यदि आप अपने आरएजी एप्लिकेशन के साथ एक निश्चित-लंबाई रणनीति का उपयोग कर रहे हैं और प्रासंगिक संदर्भ पुनर्प्राप्त करने में परेशानी हो रही है, तो आपको एक अलग चंकिंग दृष्टिकोण पर स्विच करने पर विचार करना चाहिए।
कब उपयोग करें - यह रणनीति तब प्रभावी होती है जब इनपुट टेक्स्ट में प्रत्येक वाक्य अर्थ और संदर्भ में समृद्ध होता है। यह मॉडल को प्रत्येक वाक्य की पेचीदगियों पर ध्यान केंद्रित करने की अनुमति देता है, जिससे अधिक सुसंगत और प्रासंगिक रूप से प्रासंगिक प्रतिक्रियाएं उत्पन्न होती हैं। आप आरएजी उपयोग के मामलों के लिए शायद ही कभी वाक्य-स्तरीय विखंडन पर भरोसा करेंगे।
तकनीकी विचार - वाक्य-स्तरीय विखंडन में अक्सर वाक्य सीमाओं के आधार पर टोकननाइजेशन शामिल होता है, जिसे प्राकृतिक भाषा प्रसंस्करण (एनएलपी) पुस्तकालयों का उपयोग करके प्राप्त किया जा सकता है।
अतिरिक्त जानकारी - जब आप विशिष्ट कथनों की खोज कर रहे हों तो वाक्य-स्तरीय विखंडन विशेष रूप से उपयोगी हो सकता है, जैसे किसी मीटिंग की प्रतिलेख में जहां आप पाठ के किसी दिए गए टुकड़े के समान अर्थ वाले कथन ढूंढने का प्रयास कर रहे हैं।
कब उपयोग करें - इस रणनीति को तब नियोजित करें जब इनपुट टेक्स्ट को अलग-अलग अनुभागों या पैराग्राफों में व्यवस्थित किया गया हो, जिनमें से प्रत्येक में एक अलग विचार या विषय समाहित हो। यह मॉडल को प्रत्येक पैराग्राफ के भीतर प्रासंगिक जानकारी पर ध्यान केंद्रित करने में सक्षम बनाता है।
तकनीकी विचार - अनुच्छेद सीमाओं की पहचान करने में आम तौर पर न्यूलाइन वर्णों या अन्य सीमांककों का पता लगाना शामिल होता है जो अनुच्छेद के अंत का संकेत देते हैं।
अतिरिक्त जानकारी - पैराग्राफ-स्तरीय खंडन तब उपयोगी हो सकता है जब आपके पास ऐसे दस्तावेज़ हों जो एक ही विषय के कई अलग-अलग पहलुओं को कवर करते हों। उदाहरण के लिए, उत्पाद दस्तावेज़ीकरण का एक पृष्ठ किसी उत्पाद विशेषता का परिचय दे सकता है, समझा सकता है कि इसका उपयोग कब करना है, इसे कॉन्फ़िगर करने के तरीके के बारे में बात करें और विभिन्न कॉन्फ़िगरेशन के उदाहरण दें।
पैराग्राफ-स्तरीय खंडन का उपयोग करने से आपको एलएलएम को संदर्भ के रूप में प्रदान करने के लिए दस्तावेज़ के सबसे प्रासंगिक हिस्से की पहचान करने में मदद मिल सकती है।
कब उपयोग करें - इस रणनीति का विकल्प तब चुनें जब पाठ के भीतर विशिष्ट अनुभागों की प्रासंगिकता सर्वोपरि हो। उदाहरण के लिए, कानूनी दस्तावेज़ों में, खंडों या अनुभागों के आधार पर पाठ को विभाजित करने से अधिक संदर्भ-विशिष्ट प्रतिक्रियाएँ मिल सकती हैं।
तकनीकी विचार - इस दृष्टिकोण को पाठ के भीतर अर्थ संबंधी सीमाओं को समझने के लिए उन्नत एनएलपी तकनीकों की आवश्यकता हो सकती है।
अतिरिक्त अंतर्दृष्टि - संरचित या अर्ध-संरचित डेटा से निपटने के दौरान सामग्री-जागरूक चंकिंग विशेष रूप से उपयोगी होती है, क्योंकि अधिक सटीक पुनर्प्राप्ति के लिए विशिष्ट खंडों को मेटाडेटा फ़िल्टरिंग के साथ जोड़ा जा सकता है।
उदाहरण के लिए, एक कानूनी दस्तावेज़ में, आप सभी वारंटी या क्षतिपूर्ति खंड निकालना चाह सकते हैं, और जब आप वेक्टर डेटाबेस में टुकड़ों के लिए एम्बेडिंग संग्रहीत करते हैं, तो आप निर्माण करते समय किसी दिए गए प्रकार की सामग्री की खोज को आसान बनाने के लिए मेटाडेटा का उपयोग कर सकते हैं। आरएजी उपयोग मामला।
कब उपयोग करें - पुनरावर्ती चंकिंग एक पदानुक्रमित दृष्टिकोण का उपयोग करके डेटा को छोटे और छोटे टुकड़ों में विभाजित करता है। उदाहरण के लिए, किसी टेक्स्ट दस्तावेज़ को खंडित करते समय, आप टेक्स्ट को पहले पैराग्राफों में, फिर वाक्यों में और अंत में शब्दों में विभाजित कर सकते हैं।
एक बार जब डेटा को खंडों के पहले सेट में विभाजित कर दिया जाता है, तो आप प्रत्येक छोटे खंड पर खंडिंग प्रक्रिया को पुनरावर्ती रूप से लागू कर सकते हैं, इसे तब तक दोहरा सकते हैं जब तक कि आप अपनी रुचि के सबसे छोटे खंड आकार तक नहीं पहुंच जाते।
तकनीकी विचार - पुनरावर्ती चंकिंग को लागू करने में एक बहुस्तरीय पार्सिंग रणनीति शामिल हो सकती है जहां अतिरिक्त मानदंडों के आधार पर टुकड़ों को उप-खंडों में विभाजित किया जाता है। यदि आप उपयोग कर रहे हैं
अतिरिक्त अंतर्दृष्टि - यह दृष्टिकोण मॉडल को उच्च-स्तरीय विषयों से लेकर विस्तृत बारीकियों तक कई स्तरों पर संदर्भ को समझने में सक्षम बनाता है, जिससे यह अकादमिक पेपर, तकनीकी मैनुअल या कानूनी अनुबंध जैसे जटिल दस्तावेजों के लिए विशेष रूप से उपयोगी हो जाता है। इससे लचीलेपन का लाभ मिलता है क्योंकि समानता खोज व्यापक और छोटी दोनों क्वेरी के लिए समान पाठ की पहचान कर सकती है।
हालाँकि, इसका मतलब यह भी है कि ऐसी संभावना है कि समान स्रोत दस्तावेज़ के समान खंडों को समानता खोजों में भी अधिक प्रस्तुत किया जा सकता है, खासकर यदि आप अपने टेक्स्ट स्प्लिटर कॉन्फ़िगरेशन में खंडों के बीच लंबे ओवरलैप का विकल्प चुनते हैं।
एक सामान्य दृष्टिकोण के रूप में, इससे पहले कि आप एक बड़े कोष को इकट्ठा करने और उसे वेक्टराइज़ करने का प्रयास करें, आपको अपने डेटा के साथ कुछ तदर्थ प्रयोग करने पर विचार करना चाहिए।
किसी दिए गए प्रश्न के लिए आप जिन दस्तावेज़ों को पुनः प्राप्त करना चाहते हैं, उनका मैन्युअल रूप से निरीक्षण करें, उन हिस्सों की पहचान करें जो उस आदर्श संदर्भ का प्रतिनिधित्व करते हैं जो आप एलएलएम प्रदान करना चाहते हैं, और फिर टुकड़ों की रणनीतियों के साथ प्रयोग करके देखें कि कौन सा आपको वह हिस्सा देता है जो आपको लगता है कि सबसे अधिक प्रासंगिक होगा। एलएलएम के लिए.
एलएलएम की उपलब्ध संदर्भ विंडो चंकिंग रणनीति का चयन करने में एक महत्वपूर्ण कारक है। यदि संदर्भ विंडो छोटी है, तो आपको यह सुनिश्चित करने के लिए मॉडल में फ़ीड किए गए हिस्सों में अधिक चयनात्मक होने की आवश्यकता होगी कि सबसे प्रासंगिक जानकारी शामिल है।
इसके विपरीत, एक बड़ी संदर्भ विंडो अधिक लचीलेपन की अनुमति देती है, अतिरिक्त संदर्भ को शामिल करने में सक्षम बनाती है जो मॉडल के आउटपुट को बढ़ा सकती है, भले ही यह सब सख्ती से आवश्यक न हो।
इन खंडित रणनीतियों के साथ प्रयोग करके और इन विचारों को ध्यान में रखकर, आप उत्पन्न आउटपुट की प्रासंगिकता पर उनके प्रभाव का मूल्यांकन कर सकते हैं। कुंजी आपके आरएजी एप्लिकेशन की विशिष्ट आवश्यकताओं के साथ चुनी गई रणनीति को संरेखित करना, इनपुट की अर्थ संबंधी अखंडता को संरक्षित करना और संदर्भ की व्यापक समझ प्रदान करना है।
यह आपको इष्टतम प्रदर्शन के लिए सही चंकिंग प्रक्रिया ढूंढने में सक्षम करेगा।
जैसे-जैसे आपके खोज सूचकांक में एम्बेडिंग की संख्या बढ़ती है, आपके संकेतों में शामिल करने के लिए प्रासंगिक संदर्भ की तलाश करते समय अनुमानित निकटतम पड़ोसी (एएनएन) कम सहायक हो जाते हैं। मान लीजिए कि आपने अपने ज्ञानकोष में 200 लेखों के लिए एम्बेडिंग को अनुक्रमित किया है।
यदि आप 1% की सटीकता के साथ शीर्ष निकटतम पड़ोसी की पहचान कर सकते हैं, तो आपको काफी प्रासंगिक परिणाम मिलने की संभावना है क्योंकि 1% उन 200 में से शीर्ष दो लेखों का प्रतिनिधित्व करता है, और आप उन दो में से एक प्राप्त करने जा रहे हैं।
अब, विकिपीडिया पर प्रत्येक लेख वाले एक खोज सूचकांक पर विचार करें। यह लगभग 6.7 मिलियन लेख होंगे। यदि आपका निकटतम पड़ोसी सर्वाधिक समान लेखों में शीर्ष 1% में है, तो इसका मतलब है कि आपको 67,000 सर्वाधिक समान लेखों में से एक मिल रहा है।
विकिपीडिया जैसे कोष के साथ, इसका मतलब है कि आप अभी भी लक्ष्य से बहुत दूर हो सकते हैं।
मेटाडेटा फ़िल्टरिंग आपको पहले दस्तावेज़ों को फ़िल्टर करके और फिर निकटतम पड़ोसी एल्गोरिदम को लागू करके सामग्री के टुकड़ों को सीमित करने का एक तरीका देता है। ऐसे मामलों में जहां आप बड़ी संख्या में संभावित मिलानों से निपट रहे हैं, यह प्रारंभिक प्री-फ़िल्टरिंग आपको निकटतम पड़ोसियों को पुनः प्राप्त करने से पहले संभावित विकल्पों को सीमित करने में मदद कर सकती है।
आगे, हम एलएलएम के साथ बातचीत में उतरेंगे और कुछ सामान्य समस्याओं की जांच करेंगे जिनके कारण खराब परिणाम हो सकते हैं।
कोशिश
क्रिस लैटिमर द्वारा, डेटास्टैक्स
यहाँ भी प्रकाशित किया गया