
بقلم: يوسف | محرر أدوات الذكاء الاصطناعي · صوت تحريري بإشراف بشري
ست دقائق وخمس ثوانٍ — هذا هو الرقم القياسي الحالي لتدريب نموذج Qwen2.5-1.5B باستخدام LoRA حتى يتجاوز 57% في اختبار GSM8K، وكل ذلك على معالج رسومي واحد من طراز L40S. المشروع اسمه LoRA Speedrun، وهو يفعل بعالم fine-tuning ما فعله modded-nanogpt بعالم التدريب المسبق: يضع الجميع في ساحة واحدة، بنفس المهمة، ونفس الحديدة، ونفس الساعة.
الفكرة تنبع من مشكلة حقيقية يعانيها مجتمع الباحثين. تقنية LoRA وتفرعاتها — DoRA وrsLoRA وPiSSA وLoRA+ وNEFTune وUnsloth kernels والأساليب التكيّفية — انفجرت من حيث التنوع، لكن لا توجد بيئة اختبار موحّدة تجعل النتائج قابلة للمقارنة. كل ورقة بحثية تختبر على نموذج مختلف، وبيانات مختلفة، وعتاد مختلف. النتيجة: لا أحد يعرف فعلياً أي الأساليب أسرع وأكفأ في الواقع (وفقاً للمشروع).
المشروع يحسم هذا بثلاثة قيود ثابتة لا تتغير: النموذج الأساسي هو Qwen2.5-1.5B (base، ليس instruct)، وبيانات التدريب هي قسم التدريب في GSM8K المكوّن من 7,473 مثالاً فقط لا غير، والعتاد هو معالج NVIDIA L40S وحيد داخل بيئة Modal معزولة عن الشبكة. الهدف: تجاوز 57.0% exact-match في اختبار GSM8K (zero-shot، greedy decoding). المقياس الوحيد هو زمن الساعة الحقيقي — لأن زمن الساعة هو ما تدفعه فعلياً من المال.
اللوحة الحالية تضم سجلين، كلاهما لـ @Saivineeth147 مؤسس المشروع (وفقاً للوحة القياسية):
- السجل الأول (18 يوليو 2026): 11 دقيقة و57 ثانية، دقة 59.4%. الأسلوب: LoRA بسيط بمرتبة r=16 على كل الطبقات الخطية، ثلاث حقب تدريب، جدول تعلم cosine، بلا أي حيلة إضافية.
- السجل الثاني (18 يوليو 2026): 6 دقائق و5 ثوانٍ، دقة 61.1%، بفارق 49% عن السجل السابق. الأسلوب: sequence packing مع completion-only loss masking، حقبتا تدريب فقط، وتهيئة LoRA مطابقة للسجل الأول — لكن السرعة تضاعفت مع ارتفاع في الدقة في آنٍ واحد.
التحقق من الأرقام ليس اختيارياً — هو شرط. كل سجل يُعاد تشغيله ثلاث مرات بـ seeds عشوائية مختلفة على نفس العتاد بالضبط، والثلاث محاولات يجب أن تتجاوز العتبة، والوقت الرسمي هو المتوسط. من تريد تقديم سجل: تفتح pull request تحتوي على سكريبت التدريب، الإعدادات، الملاحظات، والأرقام التي أبلغت عنها بنفسك. بعدها يمر PR على اختبار CI تلقائي، ثم على فلتر أمني يشغّله Claude يكشف أي محاولة للتواصل مع الشبكة أو الوصول إلى بيانات الاختبار أو التلاعب بأدوات القياس. فقط بعد موافقة المشرف يُشغَّل الأمر /verify الذي يُعيد التشغيل ثلاث مرات في بيئة معزولة.
ما تتحكم فيه أنت كمتسابق واسع جداً رغم القيود الثابتة: مرتبة LoRA ومواضع تطبيقها، الـ quantization، جداول معدل التعلم، تحزيم المتسلسلات، اختيار البيانات وترتيبها، والنواة المخصصة. القيد الوحيد الإضافي: لا يجوز تجاوز 30 مليون معامل قابل للتدريب في الـ PEFT adapter، ولا يُسمح بالتدريب على بيانات خارج GSM8K train split، ولا على مخرجات نماذج أكبر.
للبدء فعلياً، الخطوات هي:
- أنشئ حساباً على Modal (مجاني)، ثم نفّذ:
git clone https://github.com/Saivineeth147/lora-speedrun && cd lora-speedrun - ثبّت المتطلبات وسجّل الدخول:
pip install modal pyyaml && modal setup - حمّل النموذج والبيانات مرة واحدة إلى volume محلي:
python harness/modal_verify.py --prefetch - شغّل السجل الأساسي مرة واحدة لتتأكد من البيئة:
python harness/modal_verify.py --submission submissions/000-baseline --runs 1 - للتحقق الكامل بثلاثة seeds:
python harness/modal_verify.py --submission submissions/000-baseline --runs 3 - لو أردت التجربة محلياً على أي كرت بذاكرة 24 جيجابايت فأكثر، شغّل
bash scripts/setup_gpu.shثمpython harness/run_submission.py submissions/000-baseline --runs 1— لكن الأوقات المحلية غير رسمية. - انسخ
submissions/TEMPLATE/، طوّر أسلوبك، وافتح PR وفق تعليماتCONTRIBUTING.md.
المشروع يقترح بنفسه أساليب لم يدّعِها أحد بعد، ويمكنك البدء بأي منها: جداول تعلم عدوانية في حقبة واحدة، تقليص البيانات بالتركيز على أصعب 2000 مثال، block-diagonal attention للتحزيم، مقارنة QLoRA بـ NF4 مقابل bf16، تجربة rsLoRA وDoRA وPiSSA، أسلوب LoRA+ بمعدلات تعلم غير متماثلة للمصفوفتين A وB، إضافة ضجيج NEFTune، ترتيب بيانات curriculum، البحث في مرتبة LoRA وموضعها (MLP فقط؟ attention فقط؟)، torch.compile، Unsloth kernels، Liger kernels، fused cross-entropy، أو ضبط خطة الإحماء لمدد تدريب قصيرة.
ما يميز هذا المشروع عن أي benchmark آخر هو أن التحقق مجاني تماماً — رصيد Modal الشهري المجاني يكفي لتشغيل كامل. وليس فقط المشاركة مجانية، بل إعادة التحقق من أي سجل سابق أيضاً تتم بأمر واحد. المشروع مرخّص بـ MIT، وجميع التقارير والسجلات وملفات التحقق منشورة علناً في records/RECORDS.md وrecords/verifications/.
التساؤل المنطقي: هل Qwen2.5-1.5B مدرّب على GSM8K أصلاً؟ على الأرجح نعم، مثل كل النماذج الحديثة تقريباً. لكن هذا لا يهم — الهدف ليس قياس القدرة الرياضية، بل استخدام الدقة المستهدفة كـ anchor ثابت يجعل السباق قابلاً للمقارنة. بالضبط كما يستخدم nanoGPT speedrun قيمة val loss اعتباطية كنقطة عبور. الرهان الحقيقي هو: من يصل أولاً — وبأي خدعة؟







