paint-brush
ट्रांसफॉर्मर्स: एज ऑफ अटेंशनद्वारा@bhavdeepsethi
1,925 रीडिंग
1,925 रीडिंग

ट्रांसफॉर्मर्स: एज ऑफ अटेंशन

द्वारा Bhavdeep Sethi7m2024/08/26
Read on Terminal Reader

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

क्रांतिकारी शोधपत्र "अटेंशन इज ऑल यू नीड" से ट्रांसफार्मर मॉडल की सरल व्याख्या, जो BERT और GPT जैसे कई अत्याधुनिक मॉडलों का आधार है।
featured image - ट्रांसफॉर्मर्स: एज ऑफ अटेंशन
Bhavdeep Sethi HackerNoon profile picture
0-item



2017 में, शोधकर्ताओं के एक समूह (Google और टोरंटो विश्वविद्यालय से) ने प्राकृतिक भाषा प्रसंस्करण (NLP) कार्यों को संभालने का एक नया तरीका पेश किया। उनके क्रांतिकारी पेपर " अटेंशन इज़ ऑल यू नीड " ने ट्रांसफॉर्मर मॉडल प्रस्तुत किया, एक आर्किटेक्चर जो आज कई उन्नत AI सिस्टम का आधार बन गया है। मॉडल के प्रदर्शन, मापनीयता और बहुमुखी प्रतिभा ने इसे व्यापक रूप से अपनाया है, जो BERT (द्विदिशात्मक एनकोडर प्रतिनिधित्व) और GPT (जेनरेटिव प्री-ट्रेन्ड ट्रांसफॉर्मर) जैसे अत्याधुनिक मॉडल की रीढ़ बना है।


ट्रांसफॉर्मर मॉडल से पहले, भाषा को संसाधित करने वाले अधिकांश AI मॉडल एक प्रकार के न्यूरल नेटवर्क पर बहुत अधिक निर्भर थे, जिसे रिकरंट न्यूरल नेटवर्क (RNN) या इसका बेहतर संस्करण, लॉन्ग शॉर्ट-टर्म मेमोरी नेटवर्क (LSTM) कहा जाता है। विशेष रूप से, भाषा मॉडलिंग और मशीन अनुवाद (जिसे अनुक्रम ट्रांसडक्शन भी कहा जाता है) जैसी समस्याएं। ये मॉडल शब्दों को एक क्रम में, एक-एक करके, बाएं से दाएं (या इसके विपरीत) संसाधित करते हैं। हालाँकि यह दृष्टिकोण समझ में आता था क्योंकि वाक्य में शब्द अक्सर पिछले शब्दों पर निर्भर होते हैं, लेकिन इसमें कुछ महत्वपूर्ण कमियाँ थीं:


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


मुख्य विचार: वास्तुकला पर ध्यान

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


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

  • समानांतर प्रसंस्करण: RNN के विपरीत, जो एक के बाद एक शब्दों को संसाधित करता है, ट्रांसफॉर्मर एक वाक्य में सभी शब्दों को एक ही समय में संसाधित कर सकता है। इससे प्रशिक्षण बहुत तेज़ हो जाता है।
  • संदर्भ की बेहतर समझ: स्व-ध्यान तंत्र के कारण, ट्रांसफॉर्मर शब्दों के बीच संबंधों को पकड़ सकता है, चाहे वे वाक्य में कितने भी दूर क्यों न हों। जटिल वाक्यों को समझने के लिए यह महत्वपूर्ण है।
  • मापनीयता: मॉडल में अधिक परतें जोड़कर इसे आसानी से बढ़ाया जा सकता है, जिससे यह बहुत बड़े डेटासेट और जटिल कार्यों को संभालने में सक्षम हो जाता है।


जैसा कि आप देख सकते हैं, नए मॉडल ने न केवल तंत्रिका नेटवर्क के सभी नुकसानों को दूर कर दिया, बल्कि वास्तव में मशीन अनुवाद के प्रदर्शन में भी सुधार किया!


चूंकि मूल पेपर को समझना थोड़ा कठिन हो सकता है, इसलिए यहां पेपर में वर्णित मॉडल आर्किटेक्चर की सरल व्याख्या दी गई है।

ट्रांसफार्मर - मॉडल आर्किटेक्चर


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


  1. एनकोडर में इनपुट वाक्य प्रसंस्करण

    • इनपुट : वह पाठ जिसका आप अनुवाद करना चाहते हैं। उदाहरण के लिए, "गैरेज में खड़ी कार नीले रंग की है।"

    • इनपुट एम्बेडिंग : शब्दों को निश्चित लंबाई के संख्यात्मक निरूपण (वेक्टर) में परिवर्तित करता है, जिन्हें एम्बेडिंग कहा जाता है। ये एम्बेडिंग शब्दों के अर्थपूर्ण अर्थ को इस तरह से कैप्चर करते हैं कि मॉडल उन्हें समझ सके। हमारे उदाहरण से:

      • "द" -> [0.9, -0.4, 0.2, ...]

      • "कार" -> [0.5, 0.1, -0.7, ...]

      • "वह" -> [-0.8, 0.2, 0.8, ...]

      • और इसी प्रकार उपरोक्त वाक्य के प्रत्येक शब्द के लिए।


    • पोजिशनल एनकोडिंग : चूंकि मॉडल इनपुट एम्बेडिंग को प्रोसेस करता है, जिसमें कोई ऑर्डरिंग नहीं होती है, इसलिए उसे वाक्य में शब्दों के क्रम को समझने का तरीका चाहिए। पोजिशनल एनकोडिंग अनुक्रम में प्रत्येक शब्द की स्थिति के बारे में यह जानकारी उसके एम्बेडिंग में जोड़ता है।

      • स्थिति 1 पर "The" को [0.9 + P1, -0.4 + P1, 0.2 + P1, ...] पर समायोजित किया जा सकता है, जहां P1 पहली स्थिति के लिए स्थितीय एन्कोडिंग का प्रतिनिधित्व करता है, इस प्रकार एक नया एम्बेडिंग उत्पन्न करता है जो स्थिति P1 के लिए अद्वितीय है।


    • स्व-ध्यान तंत्र : जैसा कि पहले बताया गया है, यह मॉडल को संदर्भ के आधार पर वाक्य में अलग-अलग शब्दों पर ध्यान केंद्रित करने की अनुमति देता है। प्रत्येक शब्द के लिए, स्व-ध्यान तंत्र एक स्कोर की गणना करता है जो दर्शाता है कि वर्तमान शब्द को एन्कोड करते समय अन्य शब्दों पर कितना ध्यान दिया जाना चाहिए।

      • "कार" शब्द के लिए, आत्म-ध्यान यह निर्धारित कर सकता है कि "पार्क किया हुआ", "गैरेज" और "नीला" इसके संदर्भ को समझने में विशेष रूप से प्रासंगिक हैं।


    • मल्टी-हेड अटेंशन : ट्रांसफॉर्मर मॉडल का नया हिस्सा। मल्टी-हेड अटेंशन बस समानांतर रूप से चलने वाली और रैखिक रूप से संयोजित कई सेल्फ-अटेंशन लेयर्स/ऑपरेशन हैं।

      • उदाहरण के लिए, एक शीर्षक मुख्य विषय ("कार") और उसके गुणों ("नीला") पर ध्यान केंद्रित कर सकता है, जबकि दूसरा शीर्षक सापेक्ष खंड ("जो गैरेज में खड़ी थी") पर ध्यान केंद्रित कर सकता है।

      • मल्टी हेड अटेंशन मॉड्यूल मॉडल को यह समझने की क्षमता देता है कि "नीला" रंग गैराज की तुलना में कार के लिए अधिक प्रासंगिक है।


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


    • ऐड और नॉर्म : अवशिष्ट कनेक्शन (ऐड) का उपयोग किसी परत के इनपुट को उसके आउटपुट में जोड़ने के लिए किया जाता है, जिसे फिर सामान्यीकृत (नॉर्म) किया जाता है। यह ग्रेडिएंट को गायब होने या विस्फोट होने से रोककर डीप नेटवर्क को प्रशिक्षित करने में मदद करता है।


  2. डिकोडर में अनुवाद तैयार करना

    एनएलपी में, अनुक्रम टोकन की शुरुआत को विशेष वर्ण <SOS> और अनुक्रम के अंत को <EOS> से दर्शाना आम बात है। डिकोडर एनकोडर से संसाधित इनपुट लेता है और फ्रेंच अनुवाद "ला वोइचर क्वी एटैट गेरे डान्स ले गेराज एस्ट ब्लू" उत्पन्न करता है। यहाँ बताया गया है कि यह भाग कैसे काम करता है:


    • डिकोडर में इनपुट : डिकोडर एनकोडर से अंग्रेजी वाक्य के एनकोडेड प्रतिनिधित्व के साथ शुरू होता है। यदि आप ध्यान दें, तो डिकोडर इनपुट के रूप में अपना स्वयं का आउटपुट भी लेता है। चूंकि इसमें शुरुआती शब्द के लिए इनपुट नहीं होगा, इसलिए हम शुरुआत में <SOS> टोकन डालते हैं (इसलिए दाईं ओर शिफ्ट हो जाते हैं) और अंतिम शब्द हटा देते हैं। यह शिफ्ट किया गया अनुक्रम ही डिकोडर में फीड किया जाता है।


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

      • उदाहरण के लिए, जब डिकोडर "ला" (फ्रेंच में पहला शब्द) शब्द उत्पन्न करने वाला होता है, तो वह केवल <SOS> से संदर्भ जानता है, न कि "वोइचर" जैसे भविष्य के शब्दों को।


    • फीड-फॉरवर्ड न्यूरल नेटवर्क : डिकोडर इस सूचना को आगे संसाधित करने के लिए एक अन्य फीड-फॉरवर्ड न्यूरल नेटवर्क लागू करता है, तथा चरण-दर-चरण अनुवाद को परिष्कृत करता है।


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


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


डिकोडर मूलतः यह कार्य करता है:

  • पहला चरण: डिकोडर <SOS> से शुरू होता है और पहला शब्द “La” उत्पन्न करता है।
  • दूसरा चरण: इनपुट <SOS> La के साथ, मॉडल अगले शब्द, “Voiture” की भविष्यवाणी करता है।
  • तीसरा चरण: डिकोडर <SOS> La Voiture लेता है और “quit” शब्द उत्पन्न करता है।
  • सतत प्रक्रिया: यह प्रक्रिया जारी रहती है, जिससे "एटाइट," "गैरी," "डैन्स," "ले," "गेराज," "एस्ट," और अंत में "ब्लू" उत्पन्न होता है।
  • अनुक्रम समाप्ति टोकन: डिकोडर अंततः अनुक्रम समाप्ति टोकन <EOS> उत्पन्न करता है, जो यह सूचित करता है कि अनुवाद पूरा हो गया है।


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