Apple Neural Engine : rétro-ingénierie complète sur M1
Original : Retrospectively Reverse-Engineering Apple's Neural Engine
Pourquoi c'est important
L'intégration ANE/GPU dans le M5 redéfinit l'architecture des puces ML embarquées.
La chercheuse Eileen Yoon publie une analyse technique approfondie de l'Apple Neural Engine (ANE) du M1, trois ans après avoir abandonné le projet de driver Linux. Le M5 (2025) intègre désormais les cœurs ANE dans le GPU, signalant la fin probable des NPU autonomes.
Eileen Yoon avait stoppé son travail de rétro-ingénierie de l'ANE il y a trois ans, concluant que le bloc ANE était trop rigide pour servir de plateforme accélératrice généraliste. Même macOS ne l'utilise régulièrement que pour générer des aperçus d'images dans le Finder. La sortie du M5 en 2025 — qui fusionne les cœurs ANE dans le GPU — lui donne l'occasion de revenir sur l'architecture interne complète du M1 ANE : calcul, datapath, ordonnanceur, mémoire et modèle d'exécution.
L'ANE M1 dispose de 16 cœurs de calcul en parallèle, chacun équipé de 128 lanes MAC en FP16 (ou 256 en INT8), soit 2 048 lanes simultanées au total. Le vrai différenciateur n'est pas l'unité MAC elle-même, commune à tout accélérateur, mais le dataflow qui l'entoure : quand et où les données entrent, restent et bougent. Ce dataflow avait été optimisé pour les CNN denses des années 2010, avec des patterns de réutilisation prévisibles. L'essor des transformers — et surtout du décodage autorégressif — a brisé ces hypothèses. Le M5 confirme que le calcul ANE reste pertinent pour les LLM, mais uniquement intégré dans un dataflow différent, celui du GPU.
L'analyse illustre comment les choix gravés dans le silicium de l'A11 Bionic en 2017 reflètent les convictions de l'époque sur les charges de travail ML, et ce que leur obsolescence révèle sur la transition CNN → transformers.