Decoder (Transformer) (HI)
डिकोडर (अंग्रेज़ी: Decoder) — Machine Learning और Deep Learning में यह एक Neural Network का वह घटक है, जिसका मुख्य कार्य एन्कोड किए गए प्रतिनिधित्व (उदाहरण के लिए, context vector या encoder से प्राप्त hidden states के अनुक्रम) को आउटपुट डेटा अनुक्रम (जैसे, टेक्स्ट या इमेज) में बदलना है। डिकोडर आउटपुट डेटा को चरण-दर-चरण उत्पन्न करता है, सामान्यतः autoregressive मोड में।
व्यापक अर्थ में, सूचना सिद्धांत में, डिकोडर कोई भी ऐसा उपकरण या एल्गोरिदम है जो एन्कोड किए गए डेटा को उसके मूल या सुगम प्रारूप में वापस परिवर्तित करता है।
अवधारणा और उद्देश्य
यदि encoder समझ और इनपुट डेटा के संपीड़न के लिए उत्तरदायी है, तो डिकोडर उत्पादन और आउटपुट डेटा के विस्तार के लिए उत्तरदायी है। यह एक संक्षिप्त, सूचना-समृद्ध प्रतिनिधित्व को लेकर उसे क्रमिक रूप से वांछित प्रारूप में परिवर्तित करता है — चाहे वह किसी अन्य भाषा का वाक्य हो, किसी इमेज का टेक्स्ट विवरण हो, या संगीत नोट्स का अनुक्रम हो।
अधिकांश डिकोडरों की प्रमुख विशेषता उनकी autoregressive प्रकृति है: अनुक्रम के अगले तत्व (उदाहरण के लिए, शब्द या पिक्सेल) को उत्पन्न करने के लिए वे एन्कोड किए गए प्रतिनिधित्व के साथ-साथ पहले से उत्पन्न सभी तत्वों का उपयोग करते हैं।
विभिन्न आर्किटेक्चर में डिकोडर
Autoencoder में डिकोडर
Autoencoder की आर्किटेक्चर में डिकोडर encoder के विपरीत कार्य करता है:
- Encoder इनपुट डेटा को hidden representation में संपीड़ित करता है।
- Decoder इस hidden representation को लेकर उससे मूल डेटा को पुनर्स्थापित (reconstruct) करने का प्रयास करता है।
ऐसे Network के प्रशिक्षण से डिकोडर को अलग से नए डेटा उत्पन्न करने के लिए उपयोग किया जा सकता है, जिसमें latent space के vectors को इनपुट के रूप में दिया जाता है।
Recurrent Neural Networks (RNN/LSTM) में डिकोडर
RNN या LSTM पर आधारित क्लासिक sequence-to-sequence (seq2seq) मॉडलों में, डिकोडर एक recurrent network होता है जो आउटपुट अनुक्रम को token-दर-token उत्पन्न करता है।
- कार्य सिद्धांत: डिकोडर को encoder के अंतिम hidden state (context vector) से आरंभ किया जाता है। प्रत्येक चरण में यह पहले उत्पन्न token और अपने पिछले hidden state को इनपुट के रूप में लेता है, फिर अगला token उत्पन्न करता है और अपनी स्थिति को अद्यतन करता है। यह प्रक्रिया तब तक जारी रहती है जब तक अनुक्रम-समाप्ति का विशेष token (`<EOS>`) उत्पन्न न हो जाए।
Transformer आर्किटेक्चर में डिकोडर
Transformer आर्किटेक्चर पर आधारित डिकोडर भी autoregressive रूप से कार्य करता है, किंतु इसकी आंतरिक संरचना भिन्न होती है। यह समान परतों के एक stack () से बना होता है, जिसमें प्रत्येक परत के तीन मुख्य sub-layer होते हैं:
- Masked Multi-Head Self-Attention (मास्क्ड बहु-शीर्ष स्व-ध्यान): यह तंत्र encoder की तरह ही कार्य करता है, किंतु एक महत्वपूर्ण अंतर के साथ — masking। मास्क प्रत्येक स्थिति को अनुक्रम में आगे आने वाली स्थितियों पर "ध्यान देने" से रोकता है। यह सुनिश्चित करता है कि स्थिति के लिए पूर्वानुमान केवल स्थिति पर पहले से ज्ञात आउटपुट पर निर्भर करे, जिससे autoregressive गुण बना रहता है।
- Multi-Head Cross-Attention (बहु-शीर्ष क्रॉस-ध्यान): यह वह मुख्य तंत्र है जो डिकोडर को encoder से जोड़ता है। यहाँ Query डिकोडर की पिछली परत से आती है, जबकि Key और Value encoder के आउटपुट प्रतिनिधित्व से आते हैं। इससे डिकोडर उत्पादन के प्रत्येक चरण में इनपुट अनुक्रम के सबसे प्रासंगिक भागों पर ध्यान केंद्रित कर सकता है।
- Feed-Forward Network (पूर्ण-संयोजित Neural Network): यह encoder में उपयोग की जाने वाली network के समान होती है।
डिकोडर-आधारित मॉडलों के प्रकार
Encoder-Decoder मॉडल
यह एक क्लासिक आर्किटेक्चर है जहाँ encoder और decoder एक जोड़े में कार्य करते हैं।
- कार्य सिद्धांत: Encoder इनपुट डेटा का प्रतिनिधित्व बनाता है, और decoder इस प्रतिनिधित्व का उपयोग करके आउटपुट डेटा उत्पन्न करता है।
- उदाहरण: मूल Transformer, T5, BART।
Decoder-Only मॉडल
ये मॉडल, जो generative AI में प्रमुख बन चुके हैं, केवल Transformer के decoder stack का उपयोग करते हैं।
- कार्य सिद्धांत: ऐसे मॉडलों में encoder की अनुपस्थिति के कारण cross-attention नहीं होता। मॉडल पूरी तरह autoregressive मोड में कार्य करता है, जिसमें वह उसी अनुक्रम के सभी पिछले tokens के आधार पर अगला token पूर्वानुमानित करता है। इनपुट prompt और पहले से उत्पन्न टेक्स्ट को एक साथ संसाधित किया जाता है।
- उपयोग: उन कार्यों के लिए आदर्श जहाँ दिए गए टेक्स्ट को जारी रखना आवश्यक हो (टेक्स्ट उत्पादन, संवाद प्रणालियाँ, chatbots)।
- उदाहरण: GPT श्रृंखला, LLaMA, Claude।
Encoder के साथ संबंध
Encoder और decoder की परस्पर क्रिया रूपांतरण कार्यों के लिए एक मूलभूत सिद्धांत है।
- Encoder इनपुट अनुक्रम की जानकारी को vectors के एक समुच्चय में संपीड़ित करता है।
- Decoder इस vectors के समुच्चय का उपयोग करके क्रमिक रूप से एक नया अनुक्रम उत्पन्न करता है।
Cross-attention डिकोडर को प्रत्येक चरण में encoder से "परामर्श" करने की सुविधा देता है, ताकि यह समझ सके कि उस क्षण मूल टेक्स्ट के किस भाग पर ध्यान केंद्रित करना है। उदाहरण के लिए, किसी वाक्य का अनुवाद करते समय डिकोडर, जर्मन शब्द उत्पन्न करते हुए, इनपुट से उसके संगत अंग्रेज़ी शब्द को "देख" सकता है।
देखें भी
- GPT
साहित्य
- Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.