Message de BlockBeats, le 3 mars : le développeur Manjeet Singh (GitHub : maderix), en collaboration avec Claude Opus, a réussi, pour la première fois, à effectuer l'entraînement de réseaux de neurones avec rétropropagation sur l'Apple Neural Engine (ANE) doté du processeur M4, en effectuant une ingénierie inverse des API privées non publiées d'Apple. L'ANE est un accélérateur conçu par Apple exclusivement pour l'inférence ; officiellement, aucune fonction d'entraînement n'a jamais été ouverte, et les développeurs ne peuvent accéder à ses fonctionnalités d'inférence qu'indirectement via le framework CoreML.
Ce projet contourne CoreML en cartographiant directement une pile logicielle complète de plus de 40 classes privées, telles que _ANEClient et _ANECompiler, vers le pilote noyau IOKit, et a découvert l'interface _ANEInMemoryModelDescriptor permettant de compiler des modèles directement en mémoire — ce qui est essentiel pour le traitement d'entraînement, car chaque mise à jour des poids nécessite une recompilation. Actuellement, l'entraînement d'une seule couche transformer (dim=768, seq=512) est implémenté, avec un temps de 9,3 ms par étape sur M4, une utilisation de l'ANE de 11,2 % (1,78 TFLOPS, contre un pic théorique de 15,8 TFLOPS). Les gradients d'entrée pour la propagation avant et arrière sont calculés sur l'ANE, tandis que les gradients de poids et l'optimiseur Adam sont traités sur le CPU.
Le projet a également révélé que les primitives de calcul centrales d'ANE sont les convolutions, et non les multiplications matricielles : exprimer les multiplications matricielles à l'aide de convolutions 1x1 permet d'obtenir une augmentation d'environ 3 fois du débit, tandis qu'une invocation directe contournant CoreML apporte un gain supplémentaire de 2 à 4 fois. La revendication officielle d'Apple de « 38 TOPS » est trompeuse. Le projet est actuellement à un stade précoce : il ne prend en charge qu'un seul niveau d'entraînement, utilise des données synthétiques, et présente environ 119 fuites de ressources après compilation, nécessitant un redémarrage du processus pour les éviter ; la prise en charge de l'entraînement multicouche et des données réelles est en cours de développement. Le projet est open source sous licence MIT et a reçu environ 2 800 étoiles en cinq jours.
