ruGPT3XL يحصل على سياق 8k: النموذج المستعاد يتجاوز حد 2k بفقد أدنى
بعد الاستعادة، حصل ruGPT3XL على sparse attention عامل وكذلك نافذة سياق 8k بدلاً من الـ 2k token الأصلية. حدد مؤلف المشروع أولاً خطأ في آلية الاهتمام التي…
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
ruGPT3XL، المستعاد من نقطة تفتيش Megatron-LM القديمة، تلقى نافذة سياق كاملة من 8000 رمز بدلاً من الألفي الأصلي — ولم يخسر شيئاً تقريباً في الجودة على النصوص القصيرة. وفي الوقت ذاته، أصلح مؤلف المشروع خطأً حرجاً في آلية الانتباه التي جعلت النسخة الأولى من النموذج تبدو أسوأ بشكل ملحوظ من الأصل، مع أنها كانت تعمل رسمياً وتولد النصوص. بدأ المشروع كترميم تقني لنموذج روسي قديم: تم تحويل أوزان ruGPT3XL إلى تنسيق Hugging Face، وتم إعداد نسخة GGUF لـ llama.
cpp وتم تشغيل الاختبارات. في هذه المرحلة اتضح أن التحويل لم يكن صحيحاً تماماً. بدلاً من استخدام آلية الانتباه المتفرقة الأصلية، كان النموذج يستخدم آلية انتباه كثيفة عادية من GPT-2، لذلك انخفضت الجودة بشكل حاد على المتتاليات الطويلة.
تم التأكد من ذلك بسرعة من خلال مقياس الارتباك: أظهر الفحص الأول PPL 50.1، بينما كان ruGPT3XL الأصلي يُبلغ عن 12.05.
بعد استعادة آلية الانتباه المتفرقة المتناوبة، تغيرت الحالة بشكل جذري. انخفض PPL إلى 11.68، مما يعني أن النموذج عاد إلى القيم الأصلية وبدأ يحسب الانتباه كما هو مقصود في العمارة الأصلية.
بالتوازي، كان لا بد من تحديث الدعم في llama.cpp: الرقعة السابقة كانت تنقل الأوزان إلى GGUF، لكنها لم تطبق آلية الانتباه المتفرقة نفسها، لذلك كانت النسخة المحلية تحسب أيضاً باستخدام نمط كثيف. بالإضافة إلى ذلك، أصلح المؤلف خطأً في القناع للدفعات الأطول من مثال واحد وأضاف التسريع من خلال SDPA و torch.
compile و Triton. على بطاقة RTX 4090، أعطى هذا زيادة في سرعة التدريب بحوالي 1.85 مرة مقارنة بالتنفيذ الأساسي.
كان الهدف الرئيسي للمرحلة التالية عملياً: إزالة حد الألفي رمز القديم الذي أعاق العمل مع الدردشات والمستندات الطويلة. لكن بالنسبة لـ ruGPT3XL، لا يكفي ببساطة تغيير رقم في الإعدادات. يستخدم النموذج تضمينات موضع مطلق مكتسبة، والتي لا يمكنها الاستقراء بشكل صحيح إلى مواضع جديدة بدون تدريب إضافي، كما أن نمط آلية الانتباه المتفرقة يعتمد أيضاً على الطول الأقصى للسياق.
لذلك تم توسيع النطاق على مراحل: أولاً من 2k إلى 4k، ثم من 4k إلى 8k. بالنسبة للمواضع الجديدة، تم تطبيق رصف تضمينات الموضع لتجنب كسر المتتاليات القصيرة المتعلمة بالفعل، وتم خلط مجموعة البيانات من الأمثلة الطويلة والقصيرة بنسبة 60 إلى 40. استغرق التدريب على مجموعة بيانات Gazeta حوالي 2.
6 ساعة في المرحلة الأولى و 3.9 ساعات في المرحلة الثانية. كانت النتيجة حقيقية وليست عرضية.
على النافذة الأصلية 2k، أظهرت النسخة النهائية 8k PPL 11.77 مقابل 11.68 في النموذج الأساسي، مما يعني أن الانحدار كان فقط 0.
09. عند 4k كان الرقم النهائي 11.99، وعند النافذة الكاملة 8k — 13.
00، وهو ما يبدو لائقاً جداً لزيادة رباعية في السياق. من حيث الذاكرة، أثبتت التجربة أيضاً أنها قابلة للتطبيق: بفضل آلية الانتباه المتفرقة، لم يتحول الزيادة في الاستهلاك إلى كارثة، وتمكن التدريب والاستدلال من بطاقة RTX 4090 برام 48 غيغابايت. أثناء التدريب على 8k، ظهرت مشكلة عملية أخرى — تجزئة ذاكرة CUDA — لكن تم تجاوزها بتكوين expandable_segments، وبعدها انخفض استهلاك الذروة من 46.
8 إلى 38.5 غيغابايت. تنخفض سرعة التوليد بالطبع مع زيادة الإشارة، لكن في السياق الكامل 8k، يحافظ النموذج على حوالي 38 رمزاً في الثانية، لذا فإن هذا ليس مجرد حيلة بحثية بل سيناريو محلي يعمل بالفعل.
بالنسبة للقطاع مفتوح المصدر الناطق بالروسية، هذا إشارة مهمة: حتى النماذج القديمة لا يمكن أن تُؤرشف فحسب، بل يمكن إحضارها إلى حالة عمل معاصرة إذا تمت استعادة التفاصيل المعمارية بعناية ولم يتم الاقتصاد على التحقق. في حالة ruGPT3XL، لا يتعلق الأمر بمجرد تحديث تجميلي، بل بزيادة حقيقية في الفائدة: أصبح النموذج أقرب إلى الأصل من حيث الجودة، وتلقى الدعم في الأدوات الشهيرة، وتعلم العمل مع السياق الطويل بدون فقدان كبير في المهام القصيرة.
هل تريد التوقف عن قراءة الذكاء الاصطناعي والبدء باستخدامه؟
AI News هو موجز منسق لأخبار الذكاء الاصطناعي. تعلمك Hamidun Academy استخدام الذكاء الاصطناعي في عملك.