كتابة محول فك الترميز فقط لنموذج لغة كبير من الصفر باستخدام بايثون
Google/DeepMind
OpenAI
Meta
يشرح مؤلف سلسلة من المقالات بالتفصيل تنفيذ كتلة محول لنموذج لغة كبير صغير من نوع فك الترميز فقط باستخدام إطار بايثون (PyTorch). تشمل المكونات: الانتباه متعدد الرؤوس المقنع، شبكة التغذية الأمامية مع وحدة خطأ غاوسي (GELU)، طبقة التطبيع، والوصلات المتبقية. تشرح المقالة الفرق عن البنية الأصلية: استخدام ما قبل التطبيع (Pre-LN) بدلاً من ما بعد التطبيع لاستقرار التدريب.
المؤلف فلاديمير، باستخدام مثال مهمة وضع العلامات المائية للنص المرخص، ينفذ كتلة محول (transformer) لنموذج لغوي كبير من نوع الترميز فقط (decoder-only). يشرح أن المحول هو بنية من ورقة جوجل "الانتباه هو كل ما تحتاج إليه" (Attention Is All You Need)، حيث تتم معالجة التسلسل بالتوازي باستخدام آلية الانتباه. يعتمد الانتباه متعدد الرؤوس (Multi-Head Attention) على ثلاث مصفوفات إسقاط: Q، K، V. في الخطوة الأولى، يتم حساب تشابه الرموز (مصفوفة الانتباه)، وفي الخطوة الثانية، يتم خلط محتوى الرموز وفقًا للأوزان الموجودة. لتحقيق الكفاءة، يتم تنفيذ جميع رؤوس الانتباه من خلال إسقاط خطي واحد كبير. بعد الانتباه، يتم تطبيق شبكة التغذية الأمامية (Feed Forward Network) مع تفعيل GELU والتسرب (dropout). يتضمن بناء المحول التطبيع (Pre-LN) والوصلات المتبقية. بالإضافة إلى ذلك، يتم استخدام قناع سببي (causal mask) لفك الترميز. بشكل عام، الكتلة جاهزة للاستخدام في تجميع نموذج لغوي كبير، والتدريب، وتوليد النص.
المصدر: Habr — хаб NLP —
الأصلي
