स्क्रैच से पायथन में डिकोडर-ओनली ट्रांसफॉर्मर एलएलएम लिखना
Google/DeepMind
OpenAI
Meta
एक लेख श्रृंखला के लेखक ने PyTorch फ्रेमवर्क का उपयोग करके एक छोटे डिकोडर-ओनली एलएलएम के लिए ट्रांसफॉर्मर ब्लॉक के कार्यान्वयन का विस्तार से वर्णन किया है। शामिल घटकों में शामिल हैं: मास्क्ड मल्टी-हेड अटेंशन, GELU के साथ फीड फॉरवर्ड नेटवर्क, नॉर्मलाइज़ेशन लेयर और रेसिडुअल कनेक्शन। लेख मूल आर्किटेक्चर से अंतर बताता है: प्रशिक्षण स्थिरता के लिए पोस्ट-नॉर्मलाइज़ेशन के बजाय प्री-नॉर्मलाइज़ेशन (Pre-LN) का उपयोग किया जाता है।
लेखक व्लादिमीर, लाइसेंस प्राप्त पाठ के लिए वॉटरमार्किंग कार्य के उदाहरण का उपयोग करते हुए, डिकोडर-ओनली LLM के लिए एक ट्रांसफॉर्मर ब्लॉक लागू करता है। वह बताते हैं कि ट्रांसफॉर्मर गूगल पेपर "Attention Is All You Need" से एक आर्किटेक्चर है, जहाँ एक अनुक्रम को अटेंशन मैकेनिज्म का उपयोग करके समानांतर में संसाधित किया जाता है। मल्टी-हेड अटेंशन तीन प्रोजेक्शन मैट्रिसेज पर आधारित है: Q, K, V। पहले चरण में, टोकन समानता की गणना की जाती है (अटेंशन मैट्रिक्स), और दूसरे चरण में, टोकन सामग्री को प्राप्त भार के अनुसार मिश्रित किया जाता है। दक्षता के लिए, सभी अटेंशन हेड्स को एक एकल बड़े रैखिक प्रोजेक्शन के माध्यम से लागू किया जाता है। अटेंशन के बाद, GELU सक्रियण और ड्रॉपआउट के साथ एक फीड फॉरवर्ड नेटवर्क लागू किया जाता है। ट्रांसफॉर्मर के निर्माण में नॉर्मलाइजेशन (Pre-LN) और रेज़िड्यूअल कनेक्शन शामिल हैं। इसके अतिरिक्त, डिकोडर के लिए एक कॉज़ल मास्क का उपयोग किया जाता है। कुल मिलाकर, ब्लॉक LLM को असेंबल करने, प्रशिक्षण और टेक्स्ट जनरेशन में उपयोग के लिए तैयार है।
स्रोत: Habr — хаб NLP —
मूल
