
بقلم: سارة | محررة نماذج الذكاء الاصطناعي · صوت تحريري بإشراف بشري
أصدر فريق llama.cpp الإصدار b9828، وجوهره تحديث معمّق لمنظومة Flash Attention على مسار OpenCL، وهو المسار الأكثر صلةً بمن يشغّلون النماذج اللغانية الكبيرة على شرائح Qualcomm Adreno في أجهزة Android وWindows ARM.
المهندسة التي قادت هذا التحديث جاءت من داخل Qualcomm نفسها؛ إذ شارك في التأليف Li He من فريق QTI، وهو ما يُلمح إلى أن التحسينات ليست مجرد صيانة مجتمعية، بل جزء من جهد ممنهج لتحسين أداء الاستدلال على الحافة.
التحديث الأبرز في هذا الإصدار يتمحور حول إعادة هيكلة كاملة لنواة Flash Attention داخل OpenCL، ويمكن تتبّع مكوّناتها الرئيسية في خمسة محاور:
- إعادة كتابة نواة FA لتدعم دقة f16 وf32 معًا، مع تحسين مسارات الحساب لكل منهما بشكل مستقل.
- إضافة نواتَي Prefill Prepass: الأولى
flash_attn_kv_pad_f16لتبطين ذيل بلاطة KV لتكون مضاعفًا لـ BLOCK_N، والثانيةflash_attn_mask_pad_f16لتبطين بلاطة القناع المقابلة — مما يُزيل اللاتساق في الأبعاد الذي كان يُبطئ المعالجة. - نواة تصنيف
flash_attn_blk_f16التي تُصنّف كل بلاطة KV لكل كتلة استعلام إلى ثلاث فئات: مُقنَّعة كليًا، أو مختلطة، أو مكشوفة كليًا — فتتجاوز النواة الرئيسية البلاطات المُقنَّعة كليًا وتتجنّب البحث في القناع للبلاطات المكشوفة كليًا، وهو تحسين يُقلّل العمل الحسابي الفعلي في سياقات الاستدلال الطويلة. - دعم كميّ جديد: نوى FA لصيغتَي q4_0 وq8_0، إلى جانب نوى dequant مخصصة لهما ونواة
set_rowsلتحويل f32 إلى q8_0/q4_0 — مما يُوسّع نطاق النماذج المدعومة بتسريع OpenCL. - دعم MoE: موتّرات q4_0 في نماذج Mixture-of-Experts باتت تُعامَل هي الأخرى ضمن هيكل SOA (Structure of Arrays)، مما يُحسّن محاذاة الذاكرة وكفاءة الجلب.
على الصعيد العملي، أضاف الإصدار جدول ضبط دقيق لحجم بلاطة FA (FA tile tuning table) مع إمكانية التجاوز اليدوي، مما يمنح المطوّرين تحكمًا أدق في الأداء بحسب بنية الشريحة المستهدفة. كما شمل التحديث إصلاح قيمة اللانهاية حين يكون خيار التجميع -cl-finite-math-only مفعّلًا — وهو خطأ صامت كان يُفسد نتائج القناع في بعض بيئات OpenCL.
الإصدار متاح الآن لتنزيل مباشر عبر صفحة الإطلاق الرسمية، ويدعم منصات macOS (Apple Silicon وIntel)، وiOS عبر XCFramework، وLinux بنكهات متعددة تشمل CPU وVulkan وROCm 7.2 وOpenVINO 2026.2.1 وSYCL (FP32/FP16)، فضلًا عن Android arm64 بالمعالج فقط. أما على Windows، فتوجد عشر حزم تغطي CPU وOpenCL Adreno وCUDA 12.4 وCUDA 13.3 وVulkan وOpenVINO وSYCL وHIP Radeon. تجدر الإشارة إلى أن دعم openEuler ومتغيّر macOS KleidiAI لا يزالان معطّلَين.
بالنسبة لمن يشغّل نماذج على هواتف أو حواسيب Snapdragon، هذا التحديث يستحق الاختبار المبكر، خاصة مع نماذج MoE أو أي نموذج يعتمد على سياقات طويلة حيث يظهر أثر تحسين تخطي البلاطات المُقنَّعة بوضوح.







