Le Neural Engine d'Apple n'a plus de secrets grâce à une étude universitaire

apple silicon cpuDepuis des années, le Neural Engine d'Apple est au cœur des performances d'IA des iPhone, iPad et Mac, tout en restant l'un des composants les plus opaques de la marque. Une vaste étude universitaire de rétro-ingénierie vient enfin lever le voile sur son fonctionnement interne, révélant son architecture, ses performances réelles et même une méthode d'accès directe jusqu'ici inconnue du grand public.

Le Neural Engine d'Apple enfin décortiqué : une étude universitaire lève le voile sur la puce la plus secrète du Mac et de l'iPhone (technique)

Depuis 2017 et l'A11, chaque puce Apple embarque un Neural Engine. Depuis 2020, chaque Mac Apple Silicon en possède un aussi. Des milliards d'appareils, un seul chemin officiel pour l'atteindre : Core ML. Pas de jeu d'instructions publié, pas de pilote documenté, pas même un moyen simple de vérifier qu'un calcul s'est bien exécuté dessus plutôt que sur le processeur ou la puce graphique. Un chercheur du Georgia Institute of Technology, Spencer H. Bryngelson, vient de publier un travail qui change la donne : près de 300 pages de rétro-ingénierie, construites à la fois sur des mesures directes effectuées sur silicium et sur la décompilation du runtime privé, du compilateur, du pilote noyau et du firmware d'Apple.

Le résultat dépasse largement le cadre d'une simple curiosité technique. L'étude établit qu'il existe une voie d'accès directe au Neural Engine, un niveau en dessous de Core ML, accessible depuis un simple processus utilisateur sans le moindre droit particulier. Le même runtime privé qu'utilisent les outils système d'Apple, baptisé Espresso, peut être appelé directement pour compiler un réseau, le charger et le faire tourner sur la puce, sans passer par le planificateur qui décide habituellement, à la place du développeur, si un calcul ira sur le CPU, le GPU ou le Neural Engine. Une nuance de taille cependant : ce chemin reste non documenté, non pris en charge et fragile à chaque mise à jour de système, donc inadapté à une application distribuée sur l'App Store.

Les chiffres avancés donnent une idée assez précise des capacités réelles du composant. Sur un M1, le Neural Engine plafonne autour de 12 TFLOP/s en fp16 face à une bande passante mémoire d'environ 85 Go/s, avec un point de bascule proche de 141 FLOP par octet séparant les calculs limités par le débit de ceux limités par la puissance de calcul brute. Sur une convolution 3x3 à 256 canaux, il se montre environ 3,8 fois plus rapide que le GPU du même Mac, et neuf fois plus économe en énergie. Le GPU ne reprend l'avantage que sur des tâches limitées par la bande passante, typiquement le décodage autoregressif token par token des grands modèles de langage.

L'étude apporte aussi un éclairage précieux sur la précision numérique du composant. Le Neural Engine calcule entièrement en fp16, mais accumule ses sommes dans un registre plus large, de classe fp32, ce qui explique pourquoi les convolutions, les multiplications matricielles et les normalisations restent fiables même sur de longues séquences d'opérations. En revanche, les étapes marquées par de fortes compensations entre grandes valeurs positives et négatives, comme la projection finale d'un décodeur de type transformeur, perdent en précision. Le problème ne vient pas de l'accumulateur, jugé suffisamment large, mais de l'arrondi fp16 appliqué en amont à chaque opérande. Un développeur soucieux de fidélité numérique doit alors déporter ce type de calcul vers le CPU ou le GPU.

keynote apple glow time a18 pro neural engine

Autre enseignement notable : la présence d'une fonctionnalité dans une table de capacités matérielles ne garantit rien. La convolution tridimensionnelle est ainsi annoncée par un octet de capacité et reconnue par le compilateur, mais échoue systématiquement à l'étape de génération de code sur tous les appareils testés. L'auteur en tire une règle méthodologique simple et transposable à d'autres puces propriétaires : seule une compilation suivie d'une exécution réelle permet de confirmer qu'une opération fonctionne vraiment, jamais la seule lecture d'une fiche technique.

La compression des poids réserve elle aussi des surprises. Sur le M1, les poids encodés en int4 avec table de correspondance circulent directement sous forme compressée jusqu'au moteur, avec un gain de bande passante mesuré à 2,37 fois. Les poids en int8, pourtant réputés plus légers sur le papier, sont en réalité reconstruits en fp16 complet avant même d'atteindre la mémoire vive sur cette génération de puce, ce qui annule tout bénéfice de bande passante malgré un fichier deux fois plus petit sur le disque. Ce comportement change dès l'A14 et le M2, où l'int8 circule enfin sous forme compressée. Un développeur qui choisit un format de quantification sans connaître ce détail peut donc optimiser la taille de son modèle sans gagner un seul cycle en pratique.

Ce que cette étude révèle, au fond, c'est à quel point Apple a construit un accélérateur d'IA à la fois omniprésent et invisible. Des milliards d'iPhone et d'iPad exécutent chaque jour de la reconnaissance vocale, de la vision par ordinateur ou des modèles de langage sur ce silicium, sans que personne en dehors de Cupertino n'ait jamais eu accès à sa documentation. Le travail de Bryngelson ne provient pas de nulle part : il s'inscrit dans une lignée de projets communautaires, notamment autour du projet tinygrad ou du pilote Linux reconstruit par la communauté, mais il en constitue de loin la synthèse la plus complète et la plus rigoureusement mesurée à ce jour.

Pour les développeurs, l'intérêt pratique est direct. Contourner Core ML (Core AI) permet de garder la main sur le placement des calculs, d'exploiter des états persistants sur la puce comme un cache de type clé-valeur pour l'inférence de modèles de langage, ou encore de choisir précisément un format de compression réellement efficace selon la génération de silicium ciblée. Pour les utilisateurs, c'est surtout la confirmation que le Neural Engine, souvent réduit dans les fiches techniques à une simple ligne de chiffres en TOPS, reste un composant d'une sophistication rarement soupçonnée, taillé avec précision pour l'inférence embarquée plutôt que pour l'entraînement, et dont chaque génération, du M1 au M5, modifie subtilement les règles du jeu.

Les réactions
Aucun commentaire pour le moment, lancez la discussion.
Donnez votre avis
Cliquez pour commenter
Vous aimerez peut-être

Suivez-nous avec notre app iSoft
Articles populaires
Les derniers articles