Décryptage du Neural Engine d'Apple sur M1
Un développeur indépendant a repris l'analyse approfondie du moteur neuronal (ANE) d'Apple, intégré aux puces M1, en raison du tournant technologique annoncé par Apple avec la puce M5 en 2025. Cette dernière intègre désormais les cœurs de l'ANE directement au sein du processeur graphique, marquant probablement la fin des accélérateurs neuronaires dédiés chez le constructeur. Cette rétroconception vise à comprendre les choix architecturaux qu'Apple a faits dès 2017 pour optimiser les réseaux de neurones convolutifs, et à évaluer leur pertinence face aux modèles modernes. Le cœur de calcul de l'ANE repose sur seize unités capables de gérer 2048 opérations de multiplication-addition parallèles, traitant des données en demi-précision ou entières. L'architecture privilégie une réutilisation élevée des données plutôt que la vitesse brute. Les activisations non linéaires, telles que tanh et ReLU, y sont fusionnées directement dans le flux de calcul via des tables de correspondance matérielles, optimisant ainsi l'efficacité énergétique. Contrairement aux processeurs graphiques classiques, l'ANE fonctionne comme un moteur à flux de données fixe. Il n'exécute pas d'instructions informatiques traditionnelles. À la place, le compilateur génère des descripteurs de tâche, qui sont essentiellement des configurations sérialisées des registres matériels. Le pilote se contente de soumettre ces descripteurs à un gestionnaire de files d'attente, qui configure et lance le traitement. Cette approche réduit la complexité matérielle, garantit une consommation prévisible et minimise les latences, au prix d'une flexibilité moindre. L'analyse de performance révèle une contrainte majeure : la bande passante mémoire. Bien que le calcul théorique atteigne 11 téraopérations par seconde, il est plafonné par les 68 Go/s de la mémoire unifiée. Pour atteindre ce pic, le processeur doit réutiliser chaque octet extrait de la mémoire principale environ 162 fois. Pour y parvenir, l'ANE s'appuie sur une hiérarchie mémoire locale comprenant une zone partagée de 2 Mo et des mémoires dédiées par cœur pour les poids des réseaux. Cependant, une limitation architecturale critique a été identifiée : les transferts de données vers les couches de calcul et vers les noyaux s'effectuent de manière sérielle. Cette conception empêche d'atteindre le plafond théorique de bande passante et pénalise les charges de travail modernes comme le décodage auto-régressif des grands modèles de langage. En conclusion, cette étude technique démontre que l'ANE a été optimisé pour des modèles aux motifs d'accès mémoire prévisibles, typiques de l'ère des réseaux convolutifs. Bien que sa conception permet théoriquement d'exécuter des architectures modernes via des compilations complexes, son goulot d'étranglement mémoire et l'intégration de ses cœurs au GPU sur les futures puces signalent le déclin de l'accélérateur dédié chez Apple. Les gains futurs en performance IA reposeront probablement sur une refonte de l'architecture mémoire pour autoriser des transferts parallèles et un meilleur débit d'extraction des données.
