
بقلم: سارة | محررة نماذج الذكاء الاصطناعي · صوت تحريري بإشراف بشري
أصدر مشروع llama.cpp الإصدار b10142 في 27 يوليو 2025، وجاء محمّلاً بتغيير واحد ضخم يستحق الوقوف عنده: دعم كامل لنموذج MiniMax-M3 متعدد الوسائط، بما يشمل برج الرؤية (Vision Tower) والانتباه المتفرق (Sparse Attention)، وهي ميزة لم تكن متاحة في الإصدارات السابقة التي اكتفت بدعم النص فقط (وفقاً لـ llama.cpp Release Notes).
المشروع رقم #25113 الذي أضاف هذا الدعم يمثّل جهداً هندسياً غير تقليدي؛ إذ لم يُبنَ MiniMax-M3 من الصفر بل أُعيد توظيف مكوّنات موجودة بذكاء: أسلوب GQA مع QK-norm لكل رأس من MiniMax-M2، ومعالجة الخبراء الموجّهة والمشتركة على طريقة DeepSeek-V3، وتفعيل SwiGLU-OAI. النتيجة: نموذج هجين يجمع بين بنيتين مختلفتين دون الحاجة لإعادة اختراع العجلة.
أبرز ما يميّز هذا الإصدار تقنياً هو إعادة الكتابة الكاملة لملف minimax-m3.cpp بهدف السرعة والكفاءة في استخدام الذاكرة. من أبرز المكاسب الموثّقة (وفقاً لـ llama.cpp Release Notes):
- توحيد مسار الـ 4-way ومسار فك التشفير (decode) في استدعاء واحد لـ Flash Attention لكل طبقة بدلاً من أربعة استدعاءات منفصلة، مما قلّص عدد العقد من ~50 إلى ~25 عقدة لكل طبقة في وضع الـ decode.
- انخفاض حجم مخزن الحوسبة بنسبة تقارب 38%: من ~6.8 جيجابايت إلى ~4.2 جيجابايت عند استخدام ub2048 مع سياق 62,000 رمز.
- تحسّن سرعة التوليد (decode) من نطاق 6.2–7.15 رمز/ثانية إلى 7.7–7.8 رمز/ثانية مع ثبات الأداء من 5,000 حتى 60,000+ رمز.
- تسريع بنسبة 10% في مرحلة الـ prefill، مع دعم متعدد المستخدمين عبر تفعيل المعالجة متعددة التدفقات (multi-stream) عند تعطيل kv_unified.
- دعم تخزين الـ prompt مؤقتاً (prompt caching) واستعادة استخدام الرسم البياني (graph reuse) في الـ decode الذي كان يُعاد بناؤه كاملاً مع كل رمز جديد.
- استخدام عملية CPU مخصصة تُنتج قناعاً على مستوى الكتل يُوسَّع على GPU، مما يقلّل نقل البيانات بين المعالجَين أثناء الـ prefill.
من الناحية المعمارية، يعتمد برج الرؤية على مخطط mmproj + CLIP graph، مع تغيير خوارزمية تغيير حجم الصور إلى Bicubic Pillow وإلغاء الحشو (padding). تجدر الإشارة إلى أن جميع ملفات GGUF المُولَّدة قبل هذا الإصدار تحتاج إلى إعادة توليد بسبب إعادة تسمية موتّرات مؤشر MSA وفق اتفاقية التسمية الموحّدة — وهو تنبيه عملي مهم لكل من يعمل بنماذج MiniMax-M3 محلياً (وفقاً لـ llama.cpp Release Notes).
الإصدار متاح لأوسع طيف ممكن من المنصات: macOS على شرائح Apple Silicon وIntel، وLinux بدعم Vulkan وROCm 7.2 وOpenVINO وSYCL، وWindows مع CUDA 12.4 وCUDA 13.3 وVulkan وHIP، فضلاً عن Android على معالجات arm64. يمكنك تحميل نسخة macOS Apple Silicon مباشرة أو تصفّح بقية النسخ من صفحة الإصدار الرسمية. كما يبقى دعم Sparse Attention في وضع الـ dense fallback عند استخدام kv_unified مع أكثر من تسلسل واحد، وهو قيد ينبغي أخذه بعين الاعتبار في سيناريوهات الإنتاج متعددة المستخدمين.
ما يلفت الانتباه في هذا الإصدار ليس فقط إضافة الدعم بل الجودة الهندسية للتنفيذ: الانتقال من نموذج نصي بحت إلى نموذج رؤية كامل مع الحفاظ على كفاءة الذاكرة وتحسين السرعة في آنٍ واحد يعكس نضجاً في منهجية تطوير المشروع. للمطوّرين المهتمين بتجربة النماذج متعددة الوسائط محلياً، يُشكّل b10142 نقطة دخول عملية لـ MiniMax-M3 على الأجهزة الشخصية.







