एलएलएम: बड़ा लैंग्वेज मॉडल क्या है?

लार्ज लैंग्वेज मॉडल (एलएलएम), एक नई टेक्नोलॉजी है. यह टोक़न या टोक़न के क्रम का अनुमान लगाती है. कभी-कभी, यह कई पैराग्राफ़ के बराबर टोक़न का अनुमान लगाती है. याद रखें कि टोकन कोई शब्द, सबवर्ड (किसी शब्द का सबसेट) या एक वर्ण भी हो सकता है. एलएलएम, एन-ग्राम लैंग्वेज मॉडल या बार-बार इस्तेमाल होने वाले न्यूरल नेटवर्क के मुकाबले काफ़ी बेहतर अनुमान लगाते हैं, क्योंकि:

  • एलएलएम में, बार-बार इस्तेमाल होने वाले मॉडल के मुकाबले ज़्यादा पैरामीटर होते हैं.
  • एलएलएम ज़्यादा जानकारी इकट्ठा करते हैं.

इस सेक्शन में, एलएलएम बनाने के लिए सबसे सफल और ज़्यादा इस्तेमाल किए जाने वाले आर्किटेक्चर के बारे में बताया गया है: ट्रांसफ़ॉर्मर.

ट्रांसफ़ॉर्मर क्या है?

ट्रांसफ़ॉर्मर, लैंग्वेज मॉडल के कई ऐप्लिकेशन के लिए सबसे बेहतर आर्किटेक्चर हैं. जैसे, अनुवाद:

चित्र 1.  इनपुट: I am a good dog. ट्रांसफ़ॉर्मर पर आधारित अनुवादक, उस इनपुट को आउटपुट में बदल देता है: Je suis un bon
            chien, जो कि फ़्रेंच में अनुवाद किया गया वही वाक्य है.
पहला डायग्राम. यह ट्रांसफ़ॉर्मर पर आधारित ऐप्लिकेशन है, जो अंग्रेज़ी से फ़्रेंच में अनुवाद करता है.

 

फ़ुल ट्रांसफ़ॉर्मर में एक एन्कोडर और एक डिकोडर होता है:

  • एन्कोडर, इनपुट टेक्स्ट को किसी इंटरमीडिएट रिप्रज़ेंटेशन में बदलता है. एन्कोडर एक बहुत बड़ा न्यूरल नेटवर्क होता है.
  • डिकोडर, उस इंटरमीडिएट रिप्रज़ेंटेशन को काम के टेक्स्ट में बदल देता है. डिकोडर भी एक बहुत बड़ा न्यूरल नेटवर्क होता है.

उदाहरण के लिए, अनुवाद करने वाले टूल में:

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

 

यह मॉड्यूल, ऐसे ट्रांसफ़ॉर्मर पर फ़ोकस करता है जिनमें एन्कोडर और डिकोडर, दोनों होते हैं. हालांकि, सिर्फ़ एन्कोडर और सिर्फ़ डिकोडर वाले आर्किटेक्चर भी मौजूद होते हैं:

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

सेल्फ़-अटेंशन क्या है?

कॉन्टेक्स्ट को बेहतर बनाने के लिए, ट्रांसफ़ॉर्मर सेल्फ़-अटेंशन नाम के कॉन्सेप्ट पर काफ़ी निर्भर करते हैं. असल में, इनपुट के हर टोकन के लिए, सेल्फ़-अटेंशन ये सवाल पूछता है:

"इनपुट के हर दूसरे टोकन से, इस टोकन के विश्लेषण पर कितना असर पड़ता है?"

"सेल्फ़-अटेंशन" में "सेल्फ़" का मतलब इनपुट सीक्वेंस से है. कुछ ऐटेंशन मशीन, इनपुट टोकन के बीच के संबंधों को, किसी अनुवाद जैसे आउटपुट क्रम में मौजूद टोकन या किसी अन्य क्रम में मौजूद टोकन के हिसाब से तय करती हैं. हालांकि, सेल्फ़-अटेंशन सिर्फ़ इनपुट क्रम में टोकन के बीच के संबंधों की अहमियत को तवज्जो देता है.

इसे आसानी से समझने के लिए, मान लें कि हर टोकन एक शब्द है और पूरा कॉन्टेक्स्ट सिर्फ़ एक वाक्य है. इस वाक्य पर ध्यान दें:

The animal didn't cross the street because it was too tired.

पिछले वाक्य में ग्यारह शब्द हैं. ग्यारह में से हर शब्द, बाकी दस शब्दों पर ध्यान दे रहा है और यह सोच रहा है कि उन दस शब्दों में से हर शब्द उसके लिए कितना मायने रखता है. उदाहरण के लिए, ध्यान दें कि वाक्य में सर्वनाम it है. सर्वनाम अक्सर अस्पष्ट होते हैं. सर्वनाम it आम तौर पर किसी हाल ही के नाम या नाम वाले वाक्यांश का रेफ़रंस देता है. हालांकि, उदाहरण के वाक्य में, it किस हाल ही के नाम का रेफ़रंस देता है—जानवर या सड़क?

सेल्फ़-अटेन्शन मशीन, सर्वनाम it के लिए आस-पास मौजूद हर शब्द की काम की जानकारी तय करती है. तीसरे चित्र में नतीजे दिखाए गए हैं—जितनी ज़्यादा नीली होगी, उतना ही ज़्यादा वह शब्द सर्वनाम it के लिए अहम होगा. इसका मतलब है कि सर्वनाम it के लिए, street के मुकाबले animal ज़्यादा अहम है.

चित्र 3.  इस वाक्य में मौजूद ग्यारह शब्दों में से हर शब्द की प्रासंगिकता:
            'जानवर सड़क पार नहीं कर पाया, क्योंकि वह बहुत थक गया था'
            प्रोनाउन 'it' के लिए. सर्वनाम 'यह' के लिए, 'जानवर' शब्द सबसे ज़्यादा काम का है.
तीसरा डायग्राम. सर्वनाम it के लिए सेल्फ़-अटेंशन. Transformer: A Novel Neural Network Architecture for Language Understanding से लिया गया है.

 

इसके उलट, मान लें कि वाक्य का आखिरी शब्द इस तरह बदल जाता है:

The animal didn't cross the street because it was too wide.

इस बदले गए वाक्य में, उम्मीद है कि it सर्वनाम के लिए, street को animal से ज़्यादा काम का माना जाएगा.

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

मल्टी-हेड सेल्फ़-अटेंशन क्या है?

आम तौर पर, हर सेल्फ़-अटेन्शन लेयर में कई सेल्फ़-अटेन्शन हेड होते हैं. किसी लेयर का आउटपुट, अलग-अलग हेड के आउटपुट का मैथमैटिकल ऑपरेशन होता है. जैसे, वज़न के हिसाब से औसत या डॉट प्रॉडक्ट.

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

सेल्फ़-अटेंशन की मदद से, कॉन्टेक्स्ट में मौजूद हर शब्द को कॉन्टेक्स्ट में मौजूद अन्य सभी शब्दों के बारे में जानकारी मिलती है. इसलिए, इसे O(N2) समस्या के तौर पर बताने का मन करता है, जहां:

  • N, कॉन्टेक्स्ट में मौजूद टोकन की संख्या है.

जैसे कि पहले के बिग ओ काफ़ी परेशान करने वाले नहीं थे, वैसे ही ट्रांसफ़ॉर्मर में कई सेल्फ़-अटेन्शन लेयर और हर सेल्फ़-अटेन्शन लेयर में कई सेल्फ़-अटेन्शन हेड होते हैं. इसलिए, बिग ओ असल में:

O(N2 · S · D)

कहां:

  • S, सेल्फ़-अटेन्शन लेयर की संख्या है.
  • D, हर लेयर में हेड की संख्या है.

शायद आपको कभी भी एलएलएम को शुरू से ट्रेनिंग न देनी पड़े. इंडस्ट्री के हिसाब से एलएलएम को ट्रेनिंग देने के लिए, एमएल की काफ़ी विशेषज्ञता, कंप्यूटिंग रिसॉर्स, और समय की ज़रूरत होती है. इसके बावजूद, आपने ज़्यादा जानने के लिए आइकॉन पर क्लिक किया है. इसलिए, हमें आपको इसकी जानकारी देनी होगी.

एलएलएम बनाने के लिए, ज़रूरी है कि आपके पास बहुत ज़्यादा ट्रेनिंग डेटा (टेक्स्ट) हो. आम तौर पर, यह डेटा कुछ हद तक फ़िल्टर किया जाता है. आम तौर पर, ट्रेनिंग का पहला फ़ेज़, ट्रेनिंग डेटा पर बिना निगरानी वाले लर्निंग का कोई रूप होता है. खास तौर पर, मॉडल को मास्क किए गए अनुमान पर ट्रेन किया जाता है. इसका मतलब है कि ट्रेनिंग डेटा में कुछ टोकन जान-बूझकर छिपाए जाते हैं. मॉडल, उन टोकन का अनुमान लगाकर ट्रेनिंग करता है जो मौजूद नहीं हैं. उदाहरण के लिए, मान लें कि यह वाक्य ट्रेनिंग डेटा का हिस्सा है:

The residents of the sleepy town weren't prepared for what came next.

रैंडम टोकन हटा दिए जाते हैं. उदाहरण के लिए:

The ___ of the sleepy town weren't prepared for ___ came next.

एलएलएम सिर्फ़ एक न्यूरल नेटवर्क है. इसलिए, लॉस (मास्क किए गए उन टोकन की संख्या जिन्हें मॉडल ने सही तरीके से माना है) से यह तय होता है कि बैकप्रोपगेशन, पैरामीटर वैल्यू को किस हद तक अपडेट करता है.

छूटे हुए डेटा का अनुमान लगाने के लिए, ट्रांसफ़ॉर्मर पर आधारित मॉडल को ट्रेन किया जाता है. यह मॉडल, डेटा में पैटर्न और बेहतर स्ट्रक्चर का पता लगाने के लिए धीरे-धीरे सीखता है, ताकि छूटे हुए टोकन के बारे में जानकारी मिल सके. मास्क किए गए इस उदाहरण पर ध्यान दें:

Oranges are traditionally ___ by hand. Once clipped from a tree, __ don't ripen.

मास्क किए गए बहुत सारे उदाहरणों पर ज़्यादा ट्रेनिंग देने से, एलएलएम को यह पता चलता है कि "कटाई" या "चुने गए", पहले टोकन के लिए मैच होने की संभावना ज़्यादा है. साथ ही, "नारंगी" या "वे", दूसरे टोकन के लिए अच्छे विकल्प हैं.

निर्देश को बेहतर बनाने की सुविधा, ट्रेनिंग के एक और चरण के तौर पर उपलब्ध है. हालांकि, इसे इस्तेमाल करना ज़रूरी नहीं है. इससे एलएलएम को निर्देशों को बेहतर तरीके से समझने में मदद मिलती है.

ट्रांसफ़ॉर्मर इतने बड़े क्यों होते हैं?

ट्रांसफ़ॉर्मर में सैकड़ों अरब या खरबों पैरामीटर होते हैं. इस कोर्स में आम तौर पर, ज़्यादा पैरामीटर वाले मॉडल के बजाय, कम पैरामीटर वाले मॉडल बनाने का सुझाव दिया गया है. आखिरकार, कम पैरामीटर वाले मॉडल में, ज़्यादा पैरामीटर वाले मॉडल की तुलना में अनुमान लगाने के लिए कम संसाधनों का इस्तेमाल होता है. हालांकि, रिसर्च से पता चलता है कि ज़्यादा पैरामीटर वाले ट्रांसफ़ॉर्मर, कम पैरामीटर वाले ट्रांसफ़ॉर्मर की तुलना में लगातार बेहतर परफ़ॉर्म करते हैं.

लेकिन एलएलएम, टेक्स्ट को कैसे जनरेट करता है?

आपने देखा है कि रिसर्चर, एलएलएम को एक या दो शब्दों का अनुमान लगाने के लिए कैसे ट्रेन करते हैं. शायद आपको यह बात पसंद न आई हो. आखिरकार, एक या दो शब्दों का अनुमान लगाना, टेक्स्ट, ईमेल, और लेखन सॉफ़्टवेयर में पहले से मौजूद ऑटोकंप्लीट की सुविधा है. आपके मन में यह सवाल उठ रहा होगा कि एलएलएम, आर्बिट्रेज के बारे में वाक्य, पैराग्राफ़ या हाइकु कैसे जनरेट कर सकते हैं.

असल में, एलएलएम, ऑटोकंप्लीट की सुविधा देने वाले ऐसे मशीन हैं जो हज़ारों टोकन का अनुमान अपने-आप लगा सकते हैं (पूरा कर सकते हैं). उदाहरण के लिए, एक वाक्य के बाद मास्क किया गया वाक्य देखें:

My dog, Max, knows how to perform many traditional dog tricks.
___ (masked sentence)

एलएलएम, मास्क किए गए वाक्य के लिए संभावनाएं जनरेट कर सकता है. इनमें ये शामिल हैं:

प्रॉबेबिलिटी शब्द
3.1% उदाहरण के लिए, वह बैठ सकता है, बिस्तर पर लेट सकता है, और रोल कर सकता है.
2.9% उदाहरण के लिए, वह बैठना, रुकना, और रोल करना जानता है.

ज़रूरत के मुताबिक बड़ा एलएलएम, पैराग्राफ़ और पूरी तरह के लेखों के लिए संभावनाएं जनरेट कर सकता है. उपयोगकर्ता के एलएलएम से पूछे गए सवालों को "दिए गए" वाक्य के तौर पर माना जा सकता है. इसके बाद, एक काल्पनिक मास्क होता है. उदाहरण के लिए:

User's question: What is the easiest trick to teach a dog?
LLM's response:  ___

एलएलएम, अलग-अलग संभावित जवाबों के लिए संभावनाएं जनरेट करता है.

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

एलएलएम करने के फ़ायदे

एलएलएम, अलग-अलग तरह की टारगेट ऑडियंस के लिए, साफ़ और आसानी से समझ आने वाला टेक्स्ट जनरेट कर सकते हैं. एलएलएम उन टास्क के लिए अनुमान लगा सकते हैं जिनके लिए उन्हें खास तौर पर ट्रेन किया गया है. कुछ शोधकर्ताओं का दावा है कि एलएलएम, ऐसे इनपुट के लिए भी अनुमान लगा सकते हैं जिनके लिए उन्हें साफ़ तौर पर नहीं ट्रेन किया गया था. हालांकि, अन्य शोधकर्ताओं ने इस दावे का खंडन किया है.

एलएलएम से जुड़ी समस्याएं

एलएलएम की ट्रेनिंग में कई समस्याएं आती हैं. इनमें ये शामिल हैं:

  • बहुत बड़ा ट्रेनिंग सेट इकट्ठा करना.
  • इसमें कई महीने लगते हैं. साथ ही, इसमें बहुत ज़्यादा कंप्यूटिंग संसाधनों और बिजली की ज़रूरत होती है.
  • पैरलल प्रोसेस से जुड़ी समस्याओं को हल करना.

अनुमान नतीजे के लिए एलएलएम का इस्तेमाल करने पर, ये समस्याएं आ सकती हैं:

  • एलएलएम गलत जानकारी देते हैं. इसका मतलब है कि उनके अनुमान में अक्सर गलतियां होती हैं.
  • एलएलएम, कंप्यूटिंग रिसॉर्स और बिजली का बहुत ज़्यादा इस्तेमाल करते हैं. आम तौर पर, बड़े डेटासेट पर एलएलएम को ट्रेन करने से, अनुमान लगाने के लिए ज़रूरी संसाधनों की संख्या कम हो जाती है. हालांकि, बड़े डेटासेट के लिए ज़्यादा ट्रेनिंग संसाधनों की ज़रूरत होती है.
  • सभी एमएल मॉडल की तरह, एलएलएम में भी कई तरह के पूर्वाग्रह हो सकते हैं.

एक्सरसाइज़: देखें कि आपको क्या समझ आया

मान लें कि किसी ट्रांसफ़ॉर्मर को एक अरब दस्तावेज़ों पर ट्रेन किया गया है. इनमें ऐसे हज़ारों दस्तावेज़ शामिल हैं जिनमें कम से कम एक बार elephant शब्द मौजूद है. इनमें से कौनसी बातें सही हो सकती हैं?
अकेसिया के पेड़, हाथी के खान-पान का एक अहम हिस्सा हैं. इसलिए, हाथी शब्द के साथ, अकेसिया के पेड़ को धीरे-धीरे ज़्यादा ध्यान मिलने का स्कोर मिलेगा.
Transformer, ट्रेनिंग डेटा में elephant शब्द के इस्तेमाल को धीरे-धीरे अनदेखा करना सीख जाएगा.
ट्रांसफ़ॉर्मर, elephant शब्द को उन अलग-अलग elephant वाक्यांशों से जोड़ देगा जिनमें elephant शब्द शामिल है.