LSTM या लॉन्ग शॉर्ट-टर्म मेमोरी नेटवर्क लंबे समय से मौजूद हैं। इनका इस्तेमाल कई अनुक्रम-संबंधी कार्यों के लिए किया जाता है, जैसे टेक्स्ट जनरेशन और ट्रांसलेशन या फिर इमेज कैप्शन तैयार करना।
उनकी कमी यह रही है कि उन्हें शक्तिशाली आधुनिक GPU का उपयोग करने के लिए समानांतर नहीं बनाया जा सका। इस सीमा ने ट्रांसफॉर्मर के उद्भव का मार्ग प्रशस्त किया जो प्रशिक्षण और अनुमान के बड़े पैमाने पर समानांतरीकरण के लिए GPU का लाभ उठाते हैं।
यदि हम अब LSTM को नया रूप देने और समानांतर बनाने का प्रयास करते हैं, तो क्या वे अगली पीढ़ी के LLM के निर्माण के लिए उपकरण बन सकते हैं?
यह वही सवाल है जिसका जवाब “ एक्सएलएसएम - एक्सटेंडेड लॉन्ग शॉर्ट-टर्म मेमोरी नेटवर्क ” नामक पेपर में दिया गया है, जिसका मतलब है “ एक्सटेंडेड ” लॉन्ग शॉर्ट-टर्म मेमोरी। वे आर्किटेक्चर में दो नए ब्लॉक, अर्थात्, sLSTM और mLSTM का प्रस्ताव करके ऐसा करते हैं।
तो, आइए इस पेपर में प्रस्तावित sLSTM और mLSTM ब्लॉकों पर गहराई से विचार करें और देखें कि XLSTM आर्किटेक्चर विकसित करने के लिए हम उन्हें एक साथ कैसे जोड़ सकते हैं।
यदि आप मेरी तरह हैं और XLSTMs को दृश्यात्मक रूप से समझाना चाहते हैं, तो कृपया इस लेख पर यूट्यूब वीडियो देखें:
अनुक्रमिक डेटा से निपटने के लिए डिज़ाइन किए गए शुरुआती नेटवर्कों में से एक है रिकरंट न्यूरल नेटवर्क।
यह अपने आर्किटेक्चर में x को इनपुट और o को आउटपुट के रूप में इस्तेमाल करते हुए आवर्ती कनेक्शन का उपयोग करता है। अगर हम इसे खोलते हैं, तो हम इसे टाइम स्टैम्प, t-1, t, और t+1 पर होने वाले ऑपरेशन के अनुक्रम के रूप में देख सकते हैं। RNN की एक बड़ी खामी गायब होने वाली ग्रेडिएंट समस्या थी, जहाँ बहुत सारे ब्लॉक एक साथ रखने पर ग्रेडिएंट शून्य हो जाता है।
नेटवर्क में कोशिका अवस्थाओं और गेटिंग तंत्रों को शामिल करके लुप्त ग्रेडिएंट्स पर काबू पाने के लिए एलएसटीएम या दीर्घ-अल्पकालिक मेमोरी नेटवर्क का प्रस्ताव किया गया था।
सेल अवस्थाएँ, c , दीर्घकालिक स्मृतियाँ हैं जो कई समय-चिह्नों में रहती हैं। छिपी हुई अवस्थाएँ, h , अल्पकालिक स्मृतियाँ हैं जो एक समय-चरण से दूसरे समय-चरण तक जाती हैं। और, ज़ाहिर है, हमारे पास इनपुट अनुक्रम से इनपुट, z , हैं।
तीन गेटों में S-आकार के फ़ंक्शन होते हैं। फ़ॉरगेट गेट एक सिग्मॉइड फ़ंक्शन का उपयोग करके यह तय करता है कि दीर्घकालिक स्मृति में कौन सी जानकारी भूलनी है। इनपुट गेट भी इनपुट को प्रोसेस करने के लिए सिग्मॉइड फ़ंक्शन का उपयोग करता है और इसे फ़ॉरगेट गेट के आउटपुट में जोड़ता है। इस एडिशन ऑपरेशन में XLSTM पेपर और अकादमिक साहित्य में निरंतर त्रुटि कैरोसल नामक एक फैंसी शब्द है। यह एडिशन ऑपरेशन RNN में पाए जाने वाले लुप्त ग्रेडिएंट समस्या से निपटता है। आउटपुट c_t को फिर आउटपुट गेट द्वारा प्रोसेस किया जाता है, जो आमतौर पर एक tanh फ़ंक्शन होता है जो छिपे हुए राज्य आउटपुट h_t की ओर ले जाता है जिसे अगले चरण में पास किया जाता है।
इन ऑपरेशनों के साथ, हमने LSTM के दो मुख्य समीकरणों को विच्छेदित किया है जो c_t और h_t हैं।
LSTM की मुख्य कमियों में से एक यह है कि वे स्टोरेज संबंधी निर्णयों को संशोधित करने में असमर्थ हैं। इसका मतलब यह है कि जैसे-जैसे अनुक्रम की लंबाई बढ़ती है, मॉडल को यह तय करने में सक्षम होना चाहिए कि वह पिछली जानकारी को मेमोरी में रखता है या नहीं।
उदाहरण के लिए, अगर हम यह वाक्य लें, "टॉम दुकान पर गया। उसने कुछ पेय खरीदे," और इसकी तुलना "टॉम कुछ किराने का सामान खरीदने के लिए दुकान पर गया, जिसमें गाजर, प्याज, केले, सेब, संतरे, कॉफी और ब्रेड शामिल थे। उसने कुछ पेय भी खरीदे।" हर नए शब्द, जैसे केले या सेब के लिए, मॉडल को लगातार संशोधित करना पड़ता है कि उसे अपनी स्मृति में पिछले शब्द "टॉम" को रखना चाहिए या नहीं। यह LSTM के लिए एक बड़ी चुनौती है, और यह इसके भूल गेट के सिग्मॉइड फ़ंक्शन से उत्पन्न होता है।
सिग्मॉइड फ़ंक्शन बनाम एक्सपोनेंशियल फ़ंक्शन। सिग्मॉइड सिरों की ओर समतल हो जाता है, लेकिन एक्सपोनेंशियल केवल बढ़ता रहता है।
इसलिए, अगर हम एक भूल गेट लेते हैं, तो यह एक सिग्मॉइड फ़ंक्शन से बना होता है, जिसमें एक एस-आकार का वक्र होता है जो अंत की ओर सपाट हो जाता है। यह दर्शाता है कि जैसे-जैसे हम इनपुट के उच्च मूल्यों की ओर बढ़ते हैं, यह निर्णय लेना कि क्या भूलना है और क्या स्मृति में रखना है, काफी चुनौतीपूर्ण हो जाता है। लेकिन अगर हम इसके स्थान पर एक घातीय फ़ंक्शन का उपयोग करते हैं, तो खेल बदल जाता है, और जैसे-जैसे हम इनपुट के उच्च मूल्यों पर जाते हैं, हमें आउटपुट के लिए एक व्यापक रेंज मिलती है। यह, बदले में, इंगित करता है कि LSTM भंडारण निर्णयों को संशोधित करने में बेहतर हो सकते हैं।
तो, इस पेपर में प्रस्तावित समाधान सिस्टम ब्लॉक है। अगर हम क्लासिक LSTM समीकरण पर वापस जाते हैं जो सेल स्टेट को दर्शाता है, जैसा कि हमने पहले देखा था, यह फॉरगेट गेट और इनपुट गेट का एक फ़ंक्शन है।
ये गेट, बदले में, सिग्मॉइड फ़ंक्शन से बने होते हैं। तो, क्या होगा अगर हम इन सिग्मॉइड फ़ंक्शन को एक्सपोनेंशियल फ़ंक्शन से बदल दें? नए गेट f_t और i_t अब exp(f_t) और exp(i_t) बन जाते हैं, और यह sLSTM ब्लॉक बनाने के लिए मुख्य संशोधन है।
सिग्मॉइड फ़ंक्शन के विपरीत, जो इनपुट को एक निश्चित सीमा में सीमित कर देता है, एक्सपोनेंशियल फ़ंक्शन इनपुट बढ़ने पर मूल्य में वृद्धि करते हैं, और यह स्वाभाविक रूप से आउटपुट को सिग्मॉइड फ़ंक्शन की तरह 0 और 1 के बीच सामान्यीकृत नहीं करता है।
इसलिए, हमें एक नई नॉर्मलाइज़र स्थिति शुरू करने की ज़रूरत है, जो कि भूल और इनपुट गेट्स का एक फ़ंक्शन है। हम इसे नॉर्मलाइज़ेशन मान के रनिंग औसत के रूप में सोच सकते हैं।
हम आउटपुट या नई छिपी हुई स्थिति को सामान्य करने के लिए गणना किए गए सामान्यीकरण मानों का उपयोग करते हैं।
जबकि सामान्यीकरण छिपी हुई अवस्थाओं का ख्याल रखता है, घातांक को भूलने और इनपुट गेट्स को उड़ाने से नियंत्रित करने के लिए, हमें एक स्टेबलाइज़र पेश करने की आवश्यकता है। यह घातांक के प्रभाव का मुकाबला करने और स्थिरता लाने के लिए लॉग फ़ंक्शन के रूप में आता है। तो, स्टेबलाइज़र अवस्था भूलने वाले गेट और इनपुट गेट आउटपुट के लॉग का अधिकतम है। हम उन्हें स्थिर करने के लिए इनपुट और भूलने वाले गेट्स से इन स्टेबलाइज़र मानों को घटाते हैं।
LSTM की दूसरी कमी समानांतरीकरण की कमी है। LSTM को अनुक्रमिक डेटा को संभालने के लिए डिज़ाइन किया गया था, जिसका अर्थ है कि अनुक्रम में वर्तमान इनपुट को संसाधित करने के लिए अनुक्रम में पिछले इनपुट को संसाधित करने के आउटपुट की आवश्यकता होती है। यह विशेष कमी समानांतरीकरण को रोकती है और यही वह अपराधी है जिसके कारण ट्रांसफॉर्मर युग की शुरुआत हुई।
इस पेपर में प्रस्तावित समाधान नए mLSTM ब्लॉक हैं। तो, आइए आगे उन पर नज़र डालें।
XLSTMs का अगला बिल्डिंग ब्लॉक mLSTM ब्लॉक है, जहाँ m का मतलब मेमोरी है। आइए फिर से क्लासिक LSTM समीकरण पर वापस जाएँ और देखें कि इसकी कमी क्या है। हम देख सकते हैं कि सेल स्टेट c_t एक स्केलर है। इसका मतलब है कि हम एक समय में केवल 1 नंबर से निपटते हैं, जबकि हमारे पास कम से कम 12 गीगा मेमोरी वाले आधुनिक GPU की सुविधा है।
mLSTM ब्लॉक सेल अवस्थाओं के लिए स्केलर के स्थान पर मैट्रिसेस का परिचय देता है। LSTM के हमारे क्लासिक समीकरण पर वापस जाते हुए, क्या होगा यदि हम c_t को मैट्रिक्स C *_t* से बदल दें, ताकि सेल अवस्था अब मैट्रिसेस को इंगित करने के लिए कैपिटल C *_t* बन जाए और सेल अवस्थाओं को न केवल गेट i_t द्वारा बल्कि कुंजी-मूल्य जोड़े को संग्रहीत करके प्राप्त किया जा सकता है जो सदिश हैं। जिनके मान क्वेरी द्वारा प्राप्त किए जा सकते हैं जो समान आयाम के सदिश हैं।
इसे ट्रांसफार्मर की शब्दावली से परिचित बनाने के लिए, उन्होंने इस मैट्रिक्स को बनाने के लिए यहां कुंजी और मूल्य को शामिल किया है।
एसएलएसटीएम और एमएलएसटीएम पर दी गई जानकारी के साथ, आइए एक्सएलएसटीएम की विस्तृत वास्तुकला पर नजर डालें।
जब sLSTM की बात आती है, तो हम पोस्ट-अप प्रोजेक्शन का उपयोग करते हैं। इसलिए, इनपुट को सबसे पहले स्विश एक्टिवेशन फ़ंक्शन के साथ कॉज़ल कन्वोल्यूशन लेयर्स से गुज़ारा जाता है। फिर इन लेयर्स से आउटपुट को चार विकर्ण ब्लॉक या "हेड्स" वाली ब्लॉक-डायगोनल रैखिक लेयर के ज़रिए फीड किया जाता है। फिर इनसे आउटपुट को चार हेड्स वाले sLSTM ब्लॉक के ज़रिए फीड किया जाता है। अंत में, आउटपुट को GeLU एक्टिवेशन वाली गेटेड MLP लेयर का उपयोग करके ऊपर की ओर प्रोजेक्ट किया जाता है और गेटेड MLP फ़ंक्शन का उपयोग करके नीचे की ओर प्रोजेक्ट किया जाता है।
mLSTM ब्लॉक के विवरण पर आगे बढ़ते हुए, हम प्री-अप प्रोजेक्शन का उपयोग करते हैं। इसका मतलब है कि इनपुट को पहले 2 के प्रोजेक्शन फैक्टर के साथ अप-प्रोजेक्ट किया जाता है। प्रोजेक्शन आउटपुट में से एक mLSTM में जाता है, और दूसरा आउटपुट गेट में जाता है। mLSTM ब्लॉक में इनपुट कॉज़ल कन्वोल्यूशन से होकर गुजरता है और फिर ब्लॉक साइज़ 4 के ब्लॉक डायगोनल प्रोजेक्शन मैट्रिसेस से होकर गुजरता है, जो क्वेरी, कुंजी और मान को आउटपुट करता है जिसका mLSTM ब्लॉक द्वारा आसानी से उपयोग किया जाता है।
अंत में, हम विस्तारित LSTM आर्किटेक्चर बनाने के लिए दो प्रकार के ब्लॉकों को स्टैक कर सकते हैं। तो गहरे भूरे रंग के ब्लॉक mLSTM ब्लॉक हैं और हल्के भूरे रंग के ब्लॉक sLSTM ब्लॉक हैं।
लाभों के संदर्भ में, पेपर में उल्लेख किया गया है कि XLSTM नेटवर्क में रैखिक कम्प्यूटेशनल जटिलता और अनुक्रम लंबाई के संबंध में स्थिर मेमोरी जटिलता होती है।
लेखकों ने स्लिमपजामा डेटासेट पर प्रशिक्षण लिया है ताकि इसकी तुलना LLAMA जैसे अन्य ट्रांसफॉर्मर-आधारित तरीकों और MAMBA जैसे स्टेट-स्पेस-आधारित तरीकों से की जा सके। उन्होंने xLSTM a:b के इस संकेतन का उपयोग किया, जहाँ a mLSTM ब्लॉकों की संख्या है और b स्टैक में sLSTM ब्लॉकों की संख्या है।
सटीकता के संदर्भ में, वे 0 और 1 के बीच सटीकता को मापकर सापेक्ष सटीकता की रिपोर्ट करते हैं, जहां 0 यादृच्छिक है और 1 पूर्ण है।
मूल्यांकन से पता चलता है कि XLSTM पैरिटी जैसे कार्यों में बेहतर प्रदर्शन करता है, जबकि लामा और माम्बा खराब प्रदर्शन करते हैं।
परिणामों से, कुछ ऐसा जो विशेष रूप से दिलचस्प है वह है समता कार्य, जहाँ ट्रांसफॉर्मर या स्टेट-स्पेस मॉडल मेमोरी मिक्सिंग या स्टेट ट्रैकिंग के बिना संघर्ष करते हैं। हम देख सकते हैं कि इस तरह के कार्य में, जब हम sLSTM और mLSTM दोनों ब्लॉकों का एक साथ उपयोग करते हैं, तो xLSTM 1 की सटीकता प्राप्त करता है।
उन्होंने XLSTMs की मजबूती दिखाने के लिए कुछ एब्लेशन अध्ययन भी किए हैं। उन्हें पेपर से समझना आसान है। इसके अलावा, यह लेख XLSTMs की वास्तुकला संबंधी नवीनताओं के बारे में अधिक है, इसलिए मैं यहाँ प्रायोगिक परिणामों में नहीं जा रहा हूँ।
अगर आपको यह लेख पसंद आया तो मुझे फॉलो क्यों न करें
कृपया मेरी सदस्यता भी लें
आशा है कि यह आलेख XLSTM आर्किटेक्चर को समझने में सरल और आसान बना देगा, कि हमें उनकी आवश्यकता क्यों है, और निकट भविष्य में वे किस प्रकार ट्रांसफॉर्मर्स से आगे निकल सकते हैं।
आइए इंतज़ार करें और देखें कि उनके पास क्या है। मैं आपको अपने अगले लेख में देखूंगा…