
بقلم: يوسف | محرر أدوات الذكاء الاصطناعي · صوت تحريري بإشراف بشري
أصدر فريق تطوير llama.cpp الإصدار b8966 الذي يحمل تحديثاً تقنياً مهماً لدعم Flash-Attention في نماذج Mistral Small 4. يستهدف هذا التحديث النماذج ذات أحجام الرؤوس DKQ=320/DV=256 مع نسبة GQA تساوي 32، ويقدم تحسينات على مستوى kernel configurations وآليات dispatch.
التحسين الجديد (وفقاً لـ GitHub) يضيف دعم MMA-f16 مع template instances محسنة وملف tile.cu مخصص لمعمارية Mistral Small 4. يقتصر الدعم حالياً على ncols2=32 فقط لضمان التوافق مع نسبة GQA البالغة 32، مع آلية فحص تعيد BEST_FATTN_KERNEL_NONE عندما تكون النسبة مختلفة.
حل المطورون مشكلة تقنية معقدة في sinks=1 حيث كانت عدة warp-groups تتشارك نفس مؤشرات sinks (0…15) رغم وجود 32 عمود، ما يؤدي لعدم تطابق النتائج مع CPU. أدخل الفريق sink_base محسوب كـ threadIdx.y / np ليكون مؤشراً أساسياً منفصلاً لكل warp_group.
يشمل الإصدار 21 بناءً متنوعاً عبر المنصات: 4 إصدارات macOS (بما فيها KleidiAI لـ Apple Silicon)، 10 إصدارات Linux متخصصة (Ubuntu مع CPU وVulkan وROCm 7.2 وOpenVINO وSYCL لـ x64 وarm64 وs390x)، إصدار واحد لـ Android arm64، و6 إصدارات Windows (CPU وCUDA 12/13 وVulkan وSYCL وHIP). تشمل أيضاً 4 إصدارات openEuler مع دعم معالجات 310p و910b ACL Graph.
هذا التطوير يعكس التوجه المتزايد نحو تحسين البنى التحتية للذكاء الاصطناعي المحلي، خاصة مع النماذج الجديدة التي تتطلب تحسينات خاصة على مستوى الأجهزة. لكن القيد الحالي على نسبة GQA=32 فقط قد يحد من نطاق الاستخدام حتى تصل التحسينات لنسب أخرى.







