Neural Processing Unit (NPU)
Une unité de traitement neuronal (NPU) est un processeur conçu pour les calculs des réseaux neuronaux, qui exécute efficacement des modèles quantifiés sur des téléphones, des PC et des caméras.
Une unité de traitement neuronal (NPU) est un processeur conçu pour exécuter des réseaux neuronaux, construit autour de grands tableaux d’unités de multiplication-accumulation alimentées par la mémoire embarquée. La plupart des NPU sont des blocs intégrés à un système sur puce, à côté du CPU et du GPU, où ils exécutent l’inférence pour les fonctions de caméra, de parole et de vision en consommant une fraction de l’énergie nécessaire aux deux autres. Le Kirin 970 de Huawei et l’A11 Bionic d’Apple, dont le Neural Engine était donné pour 600 milliards d’opérations par seconde, ont intégré les NPU aux téléphones en 2017 ; le NPU Hexagon de Qualcomm, le NPU d’Intel dans les processeurs portables Core Ultra à partir de décembre 2023 et les puces Ryzen AI d’AMD ont suivi. Les PC Copilot+ de Microsoft exigent un NPU offrant plus de 40 billions d’opérations par seconde (TOPS). Le terme désigne aussi les puces pour centres de données : Huawei appelle NPU ses accélérateurs de centre de données Ascend et les utilise pour entraîner de grands modèles.
En quoi les NPU diffèrent des CPU et des GPU#
L’inférence en apprentissage profond repose principalement sur les multiplications de matrices et les convolutions appliquées à des données prévisibles. Un NPU élimine donc la majeure partie de la logique de contrôle et du cache nécessaires à un CPU pour du code général, ainsi que la flexibilité graphique conservée par un GPU. Il consacre ces ressources à des tableaux de calcul à fonction fixe et garde les poids et les activations dans la mémoire locale, car le déplacement des données coûte plus d’énergie que leur traitement. Les NPU calculent également en faible précision, principalement en INT8 et FP16 ; un modèle doit donc généralement être quantifié avant d’y être exécuté, et leur débit est exprimé en TOPS INT8. L’Edge TPU Coral de Google, par exemple, effectue 4 TOPS à 2 TOPS par watt.
- CPU : exécute n’importe quel code, gère les opérations non prises en charge par un NPU et est le plus lent des trois pour les grands calculs matriciels.
- GPU : processeur parallèle programmable qui entraîne et exécute les modèles en virgule flottante avec un débit élevé, mais consomme plus d’énergie qu’un NPU.
- TPU : famille d’accélérateurs matriciels de Google. Les TPU Cloud entraînent et exécutent les modèles dans des centres de données, tandis que l’Edge TPU est un NPU à tous égards, sauf son nom.
- Puces neuromorphiques : traitent les impulsions des réseaux neuronaux à décharges et conviennent aux capteurs événementiels, selon un modèle de calcul différent des opérations matricielles denses d’un NPU.
Exécuter un modèle sur un NPU#
Un NPU exécute un programme compilé plutôt qu’un graphe PyTorch ou ONNX. Le compilateur du fournisseur convertit le réseau, à l’avance ou au chargement par l’environnement d’exécution, le quantifie souvent en INT8 à l’aide d’images d’étalonnage, fixe généralement la forme d’entrée et associe chaque couche au matériel. Les couches non prises en charge par le NPU sont renvoyées au CPU ou au GPU, et chaque transfert copie les tenseurs entre processeurs :
Chaque repli ajoute des transferts et laisse un processeur attendre l’autre ; les architectures pour appareils en périphérie privilégient donc les opérateurs standard comme les convolutions, les activations de la famille ReLU et le pooling. Les environnements d’exécution comme ONNX Runtime, Core ML d’Apple, LiteRT de Google et OpenVINO d’Intel gèrent ce partitionnement et choisissent le NPU lorsqu’il est disponible.
Où les NPU sont utilisés#
Les smartphones utilisent leurs NPU pour la photographie computationnelle, la reconnaissance vocale embarquée, la reconnaissance faciale et la traduction en direct, ce qui conserve les images et l’audio sur l’appareil pour préserver la confidentialité des données. Sur les PC IA, les effets Windows Studio exécutent sur le NPU le floutage de l’arrière-plan, la correction du contact visuel et le cadrage automatique des appels vidéo, libérant ainsi le CPU et le GPU. Dans l’IA en périphérie, les NPU de Rockchip, Hailo et DEEPX exécutent la détection d’objets dans des caméras de sécurité, des drones et des robots sans connexion réseau.
Ultralytics YOLO26 exporte vers les formats compilés dont ces NPU ont besoin par le biais du mode export, notamment OpenVINO pour les NPU Intel, Core ML pour le Neural Engine d’Apple, QNN pour le NPU Hexagon de Qualcomm, RKNN pour Rockchip et le format .om pour Huawei Ascend. Il s’entraîne également sur les NPU Ascend, sélectionnés avec device="npu:0" ou device="npu:0,1" pour l’entraînement multi-NPU.










