1. ट्रांसफार्मर और डीप लर्निंग का परिचय [0]

ट्रांसफार्मर एक प्रकार का न्यूरल नेटवर्क है जो मशीन लर्निंग मॉडल है और आर्टिफिशियल इंटेलिजेंस (AI) में वर्तमान उछाल का मुख्य आविष्कार है।

1.1. ट्रांसफार्मर का उद्देश्य और कार्य [0]

  1. ट्रांसफार्मर एक विशिष्ट प्रकार का न्यूरल नेटवर्क है जो AI में वर्तमान उछाल का मुख्य आविष्कार है। [0]
    1. GPT का अर्थ जेनरेटिव प्रीट्रेन्ड ट्रांसफार्मर है, जहाँ "जेनरेटिव" का अर्थ है कि ये बॉट नया टेक्स्ट उत्पन्न करते हैं। [0]
    2. "प्रीट्रेन्ड" का अर्थ है कि मॉडल ने भारी मात्रा में डेटा से सीखने की प्रक्रिया से गुजरा है, और इसे अतिरिक्त प्रशिक्षण के साथ विशिष्ट कार्यों पर ठीक किया जा सकता है। [0]
  2. ट्रांसफार्मर का उपयोग विभिन्न प्रकार के मॉडल बनाने के लिए किया जा सकता है: [0]
    1. ऑडियो को टेक्स्ट में बदलना। [0]
    2. टेक्स्ट से सिंथेटिक भाषण उत्पन्न करना। [0]
    3. डॉली और मिडजर्नी जैसे उपकरण, जो टेक्स्ट विवरण से छवियां बनाते हैं। [0]
    4. Google द्वारा 2017 में पेश किए गए मूल ट्रांसफार्मर का आविष्कार एक भाषा से दूसरी भाषा में टेक्स्ट का अनुवाद करने के लिए किया गया था। [0]
  3. ChatGPT जैसे उपकरण एक ट्रांसफार्मर वेरिएंट पर आधारित हैं जो टेक्स्ट के एक टुकड़े को लेता है (संभवतः आसपास की छवियों या ध्वनि के साथ) और यह भविष्यवाणी करता है कि परिच्छेद में आगे क्या आएगा। [0]
    1. यह भविष्यवाणी टेक्स्ट के कई अलग-अलग हिस्सों पर संभाव्यता वितरण का रूप लेती है जो अनुसरण कर सकती है। [0]
    2. अगले शब्द की भविष्यवाणी करना और नया टेक्स्ट उत्पन्न करना अलग-अलग लक्ष्य लग सकते हैं, लेकिन एक भविष्यवाणी मॉडल के साथ, आप एक स्निपेट देकर और फिर उत्पन्न वितरण से एक यादृच्छिक नमूना लेकर टेक्स्ट का एक लंबा टुकड़ा उत्पन्न कर सकते हैं। [0]
    3. यह प्रक्रिया तब होती है जब आप ChatGPT या अन्य बड़े भाषा मॉडल के साथ बातचीत करते हैं, और आप उन्हें एक समय में एक शब्द उत्पन्न करते हुए देखते हैं। [0]

1.2. ट्रांसफार्मर के माध्यम से डेटा प्रवाह का उच्च-स्तरीय अवलोकन [0]

  1. इनपुट को छोटे टुकड़ों में तोड़ा जाता है जिन्हें टोकन कहा जाता है। [0]
    1. टेक्स्ट के लिए, टोकन शब्द, शब्दों के छोटे टुकड़े या अन्य सामान्य वर्ण संयोजन होते हैं। [0]
    2. छवियों या ध्वनि के लिए, टोकन छवि या ध्वनि के छोटे टुकड़े हो सकते हैं। [0]
  2. प्रत्येक टोकन एक वेक्टर से जुड़ा होता है, जो संख्याओं की एक सूची होती है जो उस टुकड़े के अर्थ को एन्कोड करती है। [0]
    1. समान अर्थ वाले शब्द अक्सर उन वैक्टरों पर आते हैं जो एक उच्च-आयामी स्थान में एक-दूसरे के करीब होते हैं। [0]
  3. वैक्टर का यह क्रम एक अटेंशन ब्लॉक से गुजरता है, जो वैक्टरों को एक-दूसरे से बात करने और अपने मूल्यों को अपडेट करने के लिए जानकारी भेजने की अनुमति देता है। [0]
    1. अटेंशन ब्लॉक यह पता लगाने के लिए जिम्मेदार है कि संदर्भ में कौन से शब्द किन अन्य शब्दों के अर्थों को अपडेट करने के लिए प्रासंगिक हैं। [0]
  4. इसके बाद, ये वेक्टर एक मल्टी-लेयर परसेप्ट्रॉन (या फीड-फॉरवर्ड लेयर) से गुजरते हैं, जहाँ वेक्टर एक-दूसरे से बात नहीं करते हैं, बल्कि सभी समानांतर में एक ही ऑपरेशन से गुजरते हैं। [0]
    1. यह ब्लॉक प्रत्येक वेक्टर के बारे में प्रश्नों की एक लंबी सूची पूछने और फिर उन प्रश्नों के उत्तरों के आधार पर उन्हें अपडेट करने जैसा है। [0]
  5. ये दोनों ब्लॉक मैट्रिक्स गुणन के विशाल ढेर की तरह दिखते हैं, और अंतर्निहित मैट्रिसेस को समझना प्राथमिक कार्य है। [0]
  6. यह प्रक्रिया दोहराई जाती है, अटेंशन ब्लॉक और मल्टी-लेयर परसेप्ट्रॉन ब्लॉकों के बीच आगे और पीछे जाते हुए, जब तक कि मार्ग के सभी आवश्यक अर्थ अंतिम वेक्टर क्रम में पुनः प्राप्त न हो जाएं। [0]
  7. अंतिम वेक्टर पर एक निश्चित ऑपरेशन किया जाता है जो सभी संभावित टोकन पर एक संभावना वितरण उत्पन्न करता है जो आगे आ सकता है। [0]
    1. एक बार जब आपके पास ऐसा उपकरण हो जो टेक्स्ट के एक टुकड़े के आधार पर यह पूर्वानुमान लगा दे कि आगे क्या आने वाला है, तो आप इसमें थोड़ा सा बीज टेक्स्ट डाल सकते हैं और इसे बार-बार यह पूर्वानुमान लगाने का खेल खेलने दे सकते हैं। [0]
    2. ChatGPT जैसे चैटबॉट में एक उपकरण बनाने के लिए, आप एक सिस्टम प्रॉम्प्ट का उपयोग करते हैं जो एक सहायक AI सहायक के साथ उपयोगकर्ता के इंटरैक्शन की सेटिंग स्थापित करता है, और फिर उपयोगकर्ता के प्रारंभिक प्रश्न का उपयोग संवाद के पहले अंश के रूप में करते हैं। [0]

1.3. डीप लर्निंग के मूल आधार [2]

  1. डीप लर्निंग मशीन लर्निंग का एक दृष्टिकोण है जहाँ आप डेटा का उपयोग यह निर्धारित करने के लिए करते हैं कि मॉडल कैसे व्यवहार करता है। [2]
    1. मशीन लर्निंग में, कोड में कार्य को स्पष्ट रूप से परिभाषित करने के बजाय, आप ट्यून करने योग्य मापदंडों के साथ एक लचीली संरचना स्थापित करते हैं, और फिर उन मापदंडों के मूल्यों को ट्विक और ट्यून करते हैं ताकि व्यवहार की नकल की जा सके। [3]
    2. उदाहरण के लिए, रैखिक प्रतिगमन में, आप घर के वर्ग फुटेज और उसकी कीमत जैसे इनपुट और आउटपुट के लिए सबसे अच्छी रेखा ढूंढते हैं, जहाँ रेखा को ढलान और y-इंटरसेप्ट जैसे दो निरंतर मापदंडों द्वारा वर्णित किया जाता है। [3]
  2. डीप लर्निंग मॉडल बहुत अधिक जटिल होते हैं; उदाहरण के लिए, GPT-3 में 175 बिलियन पैरामीटर हैं। [3]
    1. डीप लर्निंग उन मॉडलों के एक वर्ग का वर्णन करता है जो पिछले कुछ दशकों में उल्लेखनीय रूप से बड़े पैमाने पर साबित हुए हैं। [4]
    2. उन्हें एकीकृत करने वाली चीज़ वही प्रशिक्षण एल्गोरिदम है जिसे बैकप्रॉपैगेशन कहा जाता है। [4]
    3. बैकप्रॉपैगेशन को बड़े पैमाने पर अच्छी तरह से काम करने के लिए, इन मॉडलों को एक निश्चित विशिष्ट प्रारूप का पालन करना होगा। [4]

1.4. डीप लर्निंग मॉडल का प्रारूप [4]

  1. इनपुट को वास्तविक संख्याओं की एक सारणी के रूप में स्वरूपित किया जाना चाहिए, जिसे अक्सर टेंसर कहा जाता है। [4]
  2. इनपुट डेटा उत्तरोत्तर कई अलग-अलग परतों में परिवर्तित होता है, जहाँ प्रत्येक परत हमेशा वास्तविक संख्याओं की किसी प्रकार की सारणी के रूप में संरचित होती है, जब तक कि आप अंतिम परत तक नहीं पहुंच जाते, जिसे आउटपुट माना जाता है। [4]
    1. हमारे टेक्स्ट प्रोसेसिंग मॉडल में, अंतिम परत संख्याओं की एक सूची है जो सभी संभावित अगले टोकनों के लिए संभावना वितरण का प्रतिनिधित्व करती है। [4]
  3. डीप लर्निंग में, मॉडल मापदंडों को लगभग हमेशा वजन के रूप में संदर्भित किया जाता है, क्योंकि इन मॉडलों की एक प्रमुख विशेषता यह है कि वे डेटा के साथ कैसे बातचीत करते हैं, वह भारित योग का योग होता है। [4]
    1. भारित योगों को अक्सर मैट्रिक्स-वेक्टर गुणन के विभिन्न घटकों के रूप में एक साथ पैक किया जाता है। [4]
    2. GPT-3 में 175 बिलियन वजन को 28,000 से कम अलग-अलग मैट्रिसेस में व्यवस्थित किया गया है, जो आठ अलग-अलग श्रेणियों में आते हैं। [4]
  4. मॉडल के भार (जो प्रशिक्षण के दौरान सीखी गई चीजें हैं और यह निर्धारित करते हैं कि यह कैसे व्यवहार करेगा) और संसाधित किए जा रहे डेटा (जो किसी भी विशिष्ट इनपुट को एन्कोड करता है) के बीच एक स्पष्ट अंतर करना महत्वपूर्ण है। [4]

2. टोकन एम्बेडिंग और अर्थपूर्ण वैक्टर [4]

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

2.1. टोकन को वैक्टर में बदलना [4]

  1. इनपुट टेक्स्ट को छोटे टुकड़ों में तोड़ा जाता है जिन्हें टोकन कहा जाता है, जो शब्द या विराम चिह्न के टुकड़े हो सकते हैं। [4]
    1. मॉडल में एक पूर्वनिर्धारित शब्दावली होती है, जिसमें सभी संभावित शब्दों की सूची होती है (उदाहरण के लिए, 50,000 शब्द)। [4]
  2. पहला मैट्रिक्स जिसे हम सामना करेंगे, उसे एम्बेडिंग मैट्रिक्स (WE) के रूप में जाना जाता है, जिसमें इनमें से प्रत्येक शब्द के लिए एक एकल कॉलम होता है। [4]
    1. ये कॉलम निर्धारित करते हैं कि प्रत्येक शब्द पहले चरण में किस वेक्टर में बदलेगा। [4]
    2. इन मैट्रिसेस के मान यादृच्छिक रूप से शुरू होते हैं लेकिन डेटा के आधार पर सीखे जाते हैं। [4]
  3. एम्बेडिंग शब्द आपको इन वैक्टरों को एक उच्च-आयामी स्थान में बिंदुओं के रूप में सोचने के लिए आमंत्रित करता है। [4]
    1. GPT-3 में, एम्बेडिंग के 12,288 आयाम हैं, और ऐसे स्थान पर काम करना मायने रखता है जिसमें कई अलग-अलग दिशाएँ हों। [4]
    2. मॉडल प्रशिक्षण के दौरान अपने वजन को बदलकर और समायोजित करके यह निर्धारित करता है कि शब्द वास्तव में कैसे वेक्टर के रूप में एम्बेड होते हैं। [5]

2.2. एम्बेडिंग में अर्थपूर्ण दिशाएँ [5]

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

2.3. डॉट उत्पाद और वेक्टर संरेखण [5]

  1. दो वैक्टरों के डॉट उत्पाद को यह मापने के तरीके के रूप में देखा जा सकता है कि वे कितनी अच्छी तरह संरेखित हैं। [5]
    1. कंप्यूटेशनल रूप से, डॉट उत्पाद में सभी संगत घटकों को गुणा करना और फिर परिणामों को जोड़ना शामिल होता है। [5]
    2. ज्यामितीय रूप से, जब वेक्टर समान दिशाओं में इंगित करते हैं तो डॉट गुणन धनात्मक होता है, यदि वे लंबवत होते हैं तो यह शून्य होता है, और जब भी वे विपरीत दिशाओं में इंगित करते हैं तो यह ऋणात्मक होता है। [5]
  2. उदाहरण के लिए, यदि आप परिकल्पना करते हैं कि बिल्लियों का एम्बेडिंग माइनस बिल्ली इस स्थान में एक प्रकार की बहुलता दिशा का प्रतिनिधित्व कर सकता है, तो आप इस वेक्टर को कुछ एकवचन संज्ञाओं के एम्बेडिंग के विरुद्ध इसके डॉट गुणन की गणना करेंगे, और इसकी तुलना संबंधित बहुवचन संज्ञाओं के डॉट गुणांकों से करेंगे। [5]
    1. बहुवचन वाले एकवचन वाले की तुलना में लगातार उच्च मान देते हैं, जो दर्शाता है कि वे इस दिशा के साथ अधिक संरेखित हैं। [5]
    2. यह भी मजेदार है कि यदि आप इस डॉट गुणन को 1, 2, 3 और इसी तरह के शब्दों के एम्बेडिंग के साथ लेते हैं, तो वे बढ़ते हुए मान देते हैं, इसलिए यह ऐसा है जैसे हम मात्रात्मक रूप से माप सकते हैं कि मॉडल किसी दिए गए शब्द को कितना बहुवचन में पाता है। [5]

2.4. एम्बेडिंग मैट्रिक्स और संदर्भ आकार [5]

  1. एम्बेडिंग मैट्रिक्स (WE) हमारे मॉडल में वज़न का पहला ढेर है, जिसके कॉलम हमें बताते हैं कि प्रत्येक शब्द का क्या होता है। [5]
    1. GPT-3 में, शब्दावली का आकार 50,257 है (तकनीकी रूप से टोकन, शब्द नहीं)। [5]
    2. एम्बेडिंग आयाम 12,288 है, और इन्हें गुणा करने पर लगभग 617 मिलियन पद शामिल होते हैं। [5]
  2. ट्रांसफार्मर के मामले में, आप वास्तव में इस एम्बेडिंग स्पेस में वैक्टरों के बारे में सोचना चाहते हैं जो केवल व्यक्तिगत शब्दों का प्रतिनिधित्व नहीं करते हैं। [5]
    1. वे उस शब्द की स्थिति के बारे में भी जानकारी को एन्कोड करते हैं। [5]
    2. आपको उनके संदर्भ में सोचने की क्षमता के बारे में भी सोचना चाहिए। [5]
    3. एक वेक्टर जिसने अपने जीवन की शुरुआत "किंग" शब्द के एम्बेडिंग के रूप में की थी, इस नेटवर्क में विभिन्न ब्लॉक द्वारा धीरे-धीरे संशोधित और खींचा जा सकता है ताकि अंत तक यह अधिक विशिष्ट और सूक्ष्म बन सके। [5]
  3. नेटवर्क एक समय में केवल निश्चित संख्या में वैक्टर संसाधित कर सकता है, जिसे इसके संदर्भ आकार के रूप में जाना जाता है। [5]
    1. GPT-3 को 2048 के संदर्भ आकार के साथ प्रशिक्षित किया गया था, इसलिए नेटवर्क के माध्यम से प्रवाहित होने वाला डेटा हमेशा 2048 कॉलमों वाली इस सारणी की तरह दिखता है, जिनमें से प्रत्येक में 12,000 आयाम होते हैं। [5]
    2. यह संदर्भ आकार इस बात को सीमित करता है कि ट्रांसफार्मर अगले शब्द का पूर्वानुमान लगाते समय कितना पाठ पढ़ सकता है। [5]
    3. यही कारण है कि कुछ चैटबॉट्स के साथ लंबी बातचीत, जैसे कि ChatGPT के शुरुआती संस्करण, अक्सर ऐसा महसूस कराते थे कि जैसे-जैसे आप बहुत लंबे समय तक बातचीत करते हो, बॉट बातचीत का सूत्र खो देता है। [5]

2.5. आउटपुट परत और अनएम्बेडिंग मैट्रिक्स [5]

  1. इच्छित आउटपुट आगे आने वाले सभी टोकनों पर संभावना वितरण है। [5]
    1. उदाहरण के लिए, यदि सबसे अंतिम शब्द "प्रोफेसर" है, और संदर्भ में "हैरी पॉटर" जैसे शब्द शामिल हैं, तो एक अच्छी तरह से प्रशिक्षित नेटवर्क जिसने हैरी पॉटर के बारे में ज्ञान अर्जित किया है, संभवतः "स्नैप" शब्द को एक उच्च संख्या प्रदान करेगा। [5]
  2. इसमें दो अलग-अलग चरण शामिल हैं: [5]
    1. पहला तरीका एक अन्य मैट्रिक्स का उपयोग करना है, जो उस संदर्भ में अंतिम वेक्टर को 50,000 मानों की सूची में मैप करता है, जो शब्दावली में प्रत्येक टोकन के लिए होता है। [5]
    2. फिर एक फ़ंक्शन है, जो इसे संभावना वितरण में सामान्यीकृत करता है, इसे सॉफ्टमैक्स कहा जाता है। [5]
  3. भविष्यवाणी करने के लिए केवल इस अंतिम एम्बेडिंग का उपयोग करना थोड़ा अजीब लग सकता है, जब आख़िरकार उस अंतिम चरण में हजारों अन्य वेक्टर अपने परत में स्वयं के संदर्भ-समृद्ध अर्थों के साथ वहां बैठे हैं। [5]
    1. इसका संबंध इस तथ्य से है कि प्रशिक्षण प्रक्रिया में यह अधिक कुशल हो जाता है यदि आप अंतिम परत में उन वैक्टरों में से प्रत्येक का उपयोग एक साथ भविष्यवाणी करने के लिए करते हैं कि इसके तुरंत बाद क्या आएगा। [5]
  4. इस मैट्रिक्स को अनएम्बेडिंग मैट्रिक्स (Wᴜ) कहा जाता है। [5]
    1. इसकी प्रविष्टियां यादृच्छिक रूप से शुरू होती हैं, लेकिन इन्हें प्रशिक्षण प्रक्रिया के दौरान सीखा जाता है। [5]
    2. इस अनएम्बेडिंग मैट्रिक्स में शब्दावली में प्रत्येक शब्द के लिए एक पंक्ति होती है, और प्रत्येक पंक्ति में एम्बेडिंग आयाम के समान तत्वों की संख्या होती है। [5]
    3. यह नेटवर्क में अन्य 617 मिलियन पैरामीटर जोड़ता है, जिसका अर्थ है कि अब तक कुल पैरामीटर गणना एक अरब से थोड़ी अधिक है। [6]

2.6. सॉफ्टमैक्स फ़ंक्शन और तापमान [6]

  1. सॉफ्टमैक्स फ़ंक्शन संख्याओं के अनुक्रम को संभावना वितरण में बदलने का मानक तरीका है, जहाँ प्रत्येक मान 0 और 1 के बीच होता है और उन सभी का योग 1 होता है। [6]
    1. यह सबसे बड़े मान को 1 के सबसे करीब बनाता है, और छोटे मानों को 0 के बहुत करीब बनाता है। [6]
    2. यह e को प्रत्येक संख्या की घात तक बढ़ाकर काम करता है, फिर इन सभी धनात्मक मूल्यों का योग लेता है और प्रत्येक पद को उस योग से विभाजित करता है। [6]
    3. यदि इनपुट में से कोई संख्या बाकी की तुलना में सार्थक रूप से बड़ी है, तो आउटपुट में संबंधित पद वितरण पर हावी हो जाता है। [6]
  2. सॉफ्टमैक्स फ़ंक्शन में एक स्थिर T (तापमान) डालकर थोड़ा अतिरिक्त मनोरंजन मिल सकता है। [6]
    1. जब T बड़ा होता है, तो आप निम्न मानों को अधिक महत्व देते हैं, जिसका अर्थ है कि वितरण थोड़ा अधिक समान है। [6]
    2. यदि T छोटा है, तो बड़े मान अधिक आक्रामक रूप से हावी होंगे, जहाँ चरम में, T को शून्य के बराबर सेट करने का मतलब है कि सारा भार अधिकतम मूल्य पर चला जाता है। [6]
    3. उदाहरण के लिए, तापमान शून्य का अर्थ है कि यह हमेशा सबसे पूर्वानुमानित शब्द के साथ जाता है, जिसके परिणामस्वरूप एक घिसा-पिटा व्युत्पन्न होता है। [6]
    4. उच्च तापमान उसे कम संभावना वाले शब्दों को चुनने का मौका देता है, लेकिन यह एक जोखिम के साथ आता है, जिससे कहानी बकवास में बदल सकती है। [6]
  3. सॉफ्टमैक्स फ़ंक्शन के आउटपुट के घटकों की संभावना को लॉजिट्स के रूप में संदर्भित किया जाता है। [6]
    1. जब आप कुछ टेक्स्ट फीड करते हैं, तो शब्द एम्बेडिंग नेटवर्क के माध्यम से प्रवाहित होते हैं, और आप अनएम्बेडिंग मैट्रिक्स के साथ यह अंतिम गुणन करते हैं, मशीन लर्निंग वाले लोग उस कच्चे, असामान्य आउटपुट में घटकों को अगले शब्द की भविष्यवाणी के लिए लॉजिट्स के रूप में संदर्भित करेंगे। [7]