أصدر مشروع llama.cpp الإصدار b10321، الذي يتضمن إصلاحًا حاسمًا لعمليتي GGML_OP_NORM وGGML_OP_RMS_NORM على Metal. يحل التحديث مشكلة كانت تؤدي فيها مجموعات الخيوط ذات الأحجام التي تترك مجموعة SIMD جزئية إلى حسابات غير صحيحة للوسيط والتباين بسبب فقدان المجاميع الجزئية.
- حدث الخطأ عندما لم تكن أطوال الصفوف مضاعفات لحجم مجموعة SIMD، مما أدى إلى تجاهل مساهمة المسار الأخير أثناء الاختزال عبر مجموعات SIMD.
- يقوم الإصلاح بتقريب حجم مجموعة الخيوط لأعلى إلى أقرب عدد صحيح من مجموعات SIMD، مما يضمن تجميع جميع المجاميع الجزئية بشكل صحيح دون وجود مسارات خاملة مفرطة.
- أظهرت نتائج الاختبار على M3 Pro نجاح اختبارات NORM وRMS_NORM بنسبة 50/50 و51/51 على التوالي، مقارنة بالفشل السابق (25/50 و26/51).
- يوفر الإصدار ثنائيات لأنظمة macOS (Apple Silicon وIntel)، وiOS، وLinux (CPU، Vulkan، ROCm، OpenVINO، SYCL)، وAndroid، وWindows (CPU، CUDA، Vulkan، OpenCL، ROCm، OpenVINO، SYCL، HIP)، وopenEuler.
يضمن هذا التحديث الدقة العددية لعمليات التطبيع على الأطوال المتجهة غير القياسية، وهو أمر أساسي للنماذج التي تستخدم أبعاد القنوات التي لا تقسم بالتساوي عامل التعميم المتجهي.