رسالة من BlockBeats، 3 مارس، قام المطور مانجيت سينغ (GitHub: maderix) بالتعاون مع Claude Opus، من خلال تحليل العكس لواجهة برمجة التطبيقات الخاصة غير المعلنة من Apple، بتنفيذ تدريب الشبكات العصبية مع التدرج العكسي لأول مرة على وحدة معالجة عصبية Apple (ANE) ذات شريحة M4. ANE هي وحدة تسريع مصممة من قبل Apple خصيصًا للاستنتاج، ولم تفتح Apple رسميًا أي قدرات تدريب، حيث لا يمكن للمطورين سوى استدعاء وظائف الاستنتاج الخاصة بها بشكل غير مباشر من خلال إطار عمل CoreML.
يتجاوز هذا المشروع CoreML ويربط مباشرة أكثر من 40 فئة خاصة مثل _ANEClient و _ANECompiler إلى سلسلة البرمجيات الكاملة الموجهة لسائق النواة IOKit، واكتشف واجهة _ANEInMemoryModelDescriptor التي تسمح بترجمة النموذج مباشرة في الذاكرة — وهي مفتاح تحقيق التدريب، لأن كل تحديث للأوزان يتطلب إعادة الترجمة. حاليًا، تم تنفيذ تدريب طبقة transformer واحدة (dim=768, seq=512)، حيث تستغرق كل خطوة 9.3 مللي ثانية على M4، مع استخدام ANE بنسبة 11.2% (1.78 TFLOPS، أقصى حد نظري 15.8 TFLOPS)، ويتم حساب تدرجات المدخلات للإنتشار الأمامي والخلفي على ANE، بينما تتم حسابات تدرجات الأوزان ومحسن Adam على CPU.
كما اكتشف المشروع أن الوحدات الحسابية الأساسية لـ ANE هي التلافيف وليس ضرب المصفوفات؛ حيث يمكن تحقيق زيادة في الإنتاجية تبلغ حوالي 3 مرات باستخدام تلافيف 1x1 لتمثيل ضرب المصفوفات، مع زيادة إضافية تتراوح بين 2 و4 مرات عند تجاوز CoreML والاتصال المباشر، مما يشير إلى أن الادعاء الرسمي من Apple بـ "38 TOPS" مضلل. حاليًا، لا يزال المشروع في مرحلة مبكرة: يدعم التدريب على طبقة واحدة فقط، ويستخدم بيانات اصطناعية، ويعاني من تسريبات موارد تبلغ حوالي 119 مرة بعد الترجمة تتطلب إعادة تشغيل العملية لتجنبها، بينما لا تزال دعم التدريب متعدد الطبقات والبيانات الحقيقية قيد التطوير. تم إطلاق المشروع بموجب ترخيص MIT، وحصل على حوالي 2800 نجمة خلال خمسة أيام.
