Puce d'accélération de réseaux de neurones
Un Accélérateur d'IA pour accélérateur d'intelligence artificielle (ou NPU, anglais : Neural Processing Unit) est une catégorie de microprocesseur[1] ou de systèmes de calculs[2] conçu pour accélérer un réseau de neurones artificiels, accélérer des algorithmes de vision industrielle et d'apprentissage automatique pour la robotique, l'internet des objets et autres taches de calculs-intensifs ou de contrôle de capteurs[3]. Il s'agit souvent de conceptions multicœurs et se concentrant généralement sur l'arithmétique de faible-précision, des nouvelles architectures de flux de données ou de la capacité de calcul en mémoire[4]. Il existe plusieurs termes propres au fournisseur pour certains appareils dans cette page.
Historique de puces d'accélération d'IA
Les systèmes informatiques ont souvent complété le CPU par des accélérateurs spéciaux pour des tâches spécialisées, notamment des cartes vidéo (GPU) pour les graphiques, mais aussi des cartes son pour l'audio, etc. Au fur et à mesure que l'apprentissage automatique et l'intelligence artificielle ont pris de l'ampleur, des unités matérielles spécialisées ont été développées ou adaptées à partir de produits précédents pour accélérer ces tâches.
Les premières tentatives
Dès 1993, les DSP ont été utilisés comme accélérateurs de réseaux neuronaux, par exemple pour accélérer les logiciels de reconnaissance optique de caractères[5]. Dans les années 1990, on a également tenté de créer des systèmes parallèles à haut débit pour les postes de travail destinés à diverses applications, y compris les simulations de réseaux neuronaux[6] - [7] - [8]. Les accélérateurs à base de FPGA ont également été explorés pour la première fois dans les années 1990 pour l'inférence[9] et l'apprentissage[10] ANNA était un accélérateur de réseau neuronal CMOS développé par Yann LeCun[11].
Calcul hétérogène
Le calcul hétérogène a commencé par l'incorporation d'un certain nombre de processeurs spécialisés dans un seul système, voire une seule puce, chacun optimisé pour un type de tâche spécifique. Les architectures telles que le microprocesseur Cell (processeur)[12] ont des caractéristiques qui se chevauchent de façon significative avec les accélérateurs d'IA, y compris : la prise en charge de l'arithmétique de faible précision, l'architecture de flux de données et la priorité accordée au "débit" plutôt qu'à la latence. Le microprocesseur Cell a ensuite été appliqué à un certain nombre de tâches[13] - [14] - [15], y compris l'IA[16] - [17] - [18].
Les CPU eux-mêmes ont également gagné des unités SIMD de plus en plus larges (utilisés pour les taches lourdes et les jeux) et la prise en charge des types de données de faible précision[19].
Utilisation des GPU
Les processeurs graphiques ou GPU sont des matériels spécialisés pour la manipulation d'images. Comme la base mathématique des réseaux neuronaux et la manipulation d'images sont similaires, pour des tâches parallèles compliquées impliquant des matrices, les GPU sont devenus de plus en plus utilisés pour les tâches d'apprentissage machine[20] - [21] - [22]. En tant que tels, à partir de 2016, les GPU sont populaires pour l'apprentissage d'IA, et ils continuent à évoluer dans une direction pour faciliter l'apprentissage profond, à la fois pour l'apprentissage[23] et l'inférence dans des dispositifs tels que les véhicules autonomes[24]. - and gaining additional connective capability for the kind of dataflow workloads AI benefits from (e.g. Nvidia NVLink)[25]. Comme les GPU ont été de plus en plus appliqués à l'accélération de l'IA, les fabricants de GPU ont incorporé du matériel spécifique aux réseaux neuronaux pour accélérer davantage ces tâches[26]. Les noyaux tenseurs sont destinés à accélérer l'entraînement des réseaux neuronaux. 26][26] Les cœurs Tensor sont destinés à accélérer l'entraînement des réseaux neuronaux[26].
Utilisation des FPGA
Les frameworks d'apprentissage approfondi évoluent encore, ce qui rend difficile la conception de matériel sur mesure. Les dispositifs reconfigurables comme les "field-programmable gate array" (FPGA) facilitent l'évolution du matériel, des frameworks et des logiciels en eux[9] - [10] - [27].
Microsoft a utilisé les puces FPGA pour accélérer l'inference[28] - [29]. L'application des FPGA à l'accélération de l'IA a également motivé Intel à acheter Altera dans le but d'intégrer les FPGA dans les CPU des serveurs, ce qui serait capable d'accélérer l'IA ainsi que les tâches générales.
Émergence des ASIC dédiés à l'accélération de l'IA
Alors que les GPU et les FPGA sont beaucoup plus performants que les CPU pour ces tâches liées à l'IA, un facteur d'efficacité de 10[30] - [31] peut encore être obtenu avec une conception plus spécifique, via un "Application-specific integrated circuit" (ASIC).. Ce qui inclut des différences dans l'utilisation de la mémoire et l'utilisation de nombres de précision plus faibles[32] - [33].
Nomenclature
À partir de 2016, le champ est toujours en mouvement et les vendeurs poussent leur propre terme marketing pour ce qui équivaut à un "accélérateur d'IA", dans l'espoir que leurs conceptions et API domineront. Il n'y a pas de consensus sur la frontière entre ces dispositifs, ni sur la forme exacte qu'ils prendront, mais plusieurs exemples visent clairement à combler ce nouvel espace, avec un certain chevauchement des capacités.
Dans le passé, lorsque les accélérateurs graphiques grand public ont émergé, l'industrie a finalement adopté le terme auto-attribué de Nvidia, "GPU"[34], comme nom collectif pour "accélérateurs graphiques", qui avait pris de nombreuses formes avant de s'installer sur un pipeline global mettant en œuvre un modèle présenté par Direct3D.
Exemples
Produits individuels
- Google "TPU" est un accélérateur spécialement conçu par Google pour son framework TensorFlow, qui est largement utilisé pour les réseaux neuronaux convolutifs. Il se concentre sur un volume élevé d'arithmétique de précision de 8 bits. La première génération s'est concentrée sur l'inférence, tandis que la deuxième génération a augmenté la capacité de formation au réseau neuronal.
- Adapteva epiphany est un coprocesseur multi-cœur avec un réseau sur un modèle de "scratchpad memory", adapté à un modèle de programmation de flux de données, qui devrait convenir à de nombreuses tâches d'apprentissage machine.
- Intel Nervana NNP (« Neural Network Processor ») (alias « Lake Crest »), qui, selon Intel, est la première puce disponible sur le marché avec une architecture spécialement conçue pour l'apprentissage approfondi. Facebook était un partenaire dans le processus de conception[35] - [36].
- Movidius Myriad 2 est un accélérateur VLIW AI à -nulti-cœurs, complété par des unités de fonctions vidéo fixes.
- Mobileye EyeQ est un processeur spécialisé dans le traitement de la vision (VPU) pour les voitures autonomes[37].
Produits basés sur les GPU
- Nvidia Tesla est la gamme de produits dérivés du GPU de Nvidia commercialisés pour les tâches GPGPU et réseau de neurones artificiels.
- Nvidia Volta est une micro-architecture qui complète l'unité de traitement graphique avec des'tenseurs' supplémentaires visant spécifiquement à accélérer les calculs pour les réseaux neuronaux[38].
- Nvidia DGX-1 est un produit station de travail/serveur Nvidia qui intègre les GPU de la marque Nvidia pour les tâches GPGPU, y compris l'apprentissage automatique[39].
- Radeon Instinct est la gamme de produits dérivés des GPU d'[AMD] pour l'accélération de l'IA[40].
Coprocesseurs optimisés pour l'IA
- Le processeur de la plate-forme mobile Snapdragon 845 de Qualcomm contient un noyau DSP Hexagon 685 pour le traitement de l'IA dans les applications de caméra, voix, XR et de jeux.
- PowerVR 2NX NNA ("Neural Net Accelerator") est un noyau IP de Imagination Technologies sous licence d'intégration dans des puces[41].
- Neural Engine est un noyau d'accélérateur IA au sein du SoC A11 Bionic d'Apple[42].
- Cadence Tensilica Vision C5 est un cœur IP DSP optimisé pour les réseaux neuronaux[43].
- Le "Neural Processing Unit" (NPU) est un accélérateur de réseau neuronal au sein du HiSilicon Kirin 970[44].
- En CEVA, Inc. a lancé une famille de quatre processeurs AI appelés NeuPro, contenant chacun un DSP vectoriel programmable et une implémentation câblée de couches de réseau neuronal 8 ou 16 bits supportant les réseaux neuronaux avec des performances allant de 2 TOPS à 12,5 TOPS[45].
- Sipeed a développé la carte Sipeed M1 (ou Kendryte KD233), équipée d'un SoC Kendryte K210 comportant 2 cœurs RISC-V 64 bits et un processeur d'intelligence artificielle. Ces cartes sont prévues pour fonctionner avec FreeRTOS[46]. Plusieurs déclinaisons existent, elles peuvent être programmées en microPython, via l'IDE Plateforme.IO, avec Arduino IDE et supportent également Linux.
Accélérateur multifonctions
Accélérateur Universel Multifonctionnel (UMA) développé et produit par Manjeera Digital Systems sous l'égide du Centre for Innovation Engineering and Entrepreneurship Incubator de l'Indian Institute of Information Technolgy (IIIT), Hyderabad est une innovation révolutionnaire en matière d'accélération dans le calcul de toute application avec une architecture propriétaire basée sur les opérations Middle Stratum[47] - [48] - [49].
Recherche et produits non commercialisés
- En , Tesla Motors a confirmé une rumeur selon laquelle elle est en train de développer un Soc IA pour la conduite autonome. Jim Keller travaille sur ce projet depuis au moins le début de 2016[50].
- Eyeriss est un accélérateur destiné explicitement aux réseaux neuronaux convolutionnels, utilisant un scratchpad et une architecture de réseau sur puce[51].
- Nullhop est un accélérateur conçu à l'Institut de Neuroinformatique de l'ETH Zürich et à l'Université de Zürich sur la base d'une représentation éparses de cartes de caractéristiques. La deuxième génération de l'architecture est commercialisée par la spin-off universitaire Synthara Technologies[52] - [53].
- Kalray est un accélérateur pour les réseaux neuronaux convolutifs[54].
- SpiNNNaker est une conception à multi-cœurs spécialisée dans la simulation d'un grand réseau neuronal.
- Graphcore IPU est un accélérateur d'IA à base de graphiques[55].
- DPU, par wave computing, est une architecture de flux de données[56]
- STMicroelectronics a présenté début 2017 un démonstrateur SoC fabriqué selon un procédé à 28 nm contenant un accélérateur CNN profond[57].
- Le NM500 est le dernier né en date de 2016 d'une série de puces accélératrices pour les réseaux neuronaux à fonction de base radiale (Radial Basis Function)de General Vision[58].
- TrueNorth est un modèle multi-cœur basé sur des neurones à impulsions plutôt que sur l'arithmétique traditionnelle[59] - [60].
- Intel Loihi est une puce neuromorphe expérimentale[61].
- En , BrainChip a introduit une carte [PCI Express] commerciale avec un FPGA Xilinx Kintex Ultrascale FPGA utilisant des noyaux neuromorphes neuronaux en appliquant la reconnaissance de formes sur 600 images vidéo par seconde en utilisant 16 watts de puissance[62].
- IIT Madras est en train de concevoir un accélérateur de neurones à impulsions pour l'analyse de big-data[63].
- Plusieurs accélérateurs d'intelligence artificielle basés sur les mémoires ont été proposés qui tirent parti de la capacité de calcul en mémoire de memristor[4].
- AlphaICs est en train de concevoir un co-processeur basé sur un agent appelé "Real AI Processor" (RAP) pour permettre la perception et la prise de décision dans une puce[64].
- European Processor Initiative, dont le but est d'équiper les supercalculateurs européens et l'automobile européenne, dont le processeur est basé sur l'architecture ARM, et les accélérateurs chargés de l'AI et du calcul intensifs sont basés sur de l'architecture RISC-V.
Applications potentielles
- Voitures autonomes, Nvidia a conçu ses cartes Drive PX-series dans cet objectif[65].
- Robots militaires, Thales fabrique le système de défense anti-missile antinavire Goalkeeper CIWS qui utilise des VPU pour la reconnaissance de cibles[66].
- Robots agricoles, par exemple dans la lutte contre les mauvaises herbes sans produits chimiques[67].
- La commande vocale, par exemple dans les téléphones mobiles, une cible pour Qualcomm Zeroth[68] ou Assistant Google[69].
- Traduction automatique, le site DeepL entraîne l'intelligence artificielle pour comprendre et traduire des textes[70].
- Drones, par exemple des systèmes de navigation, comme le Movidius Myriad 2, ont été utilisés avec succès en guidant des drones autonomes[71].
- Robots industriels, augmentant la gamme de tâches qui peuvent être automatisées, en ajoutant l'adaptabilité à des situations variables.
- Santé, avec l'assistance au diagnostic, les Hospices civils de Lyon testent actuellement des IA pour l'aide au diagnostic[72].
- Moteurs de recherche, augmentant l'efficacité énergétique des centres de données et la capacité d'utiliser des requêtes de plus en plus avancées.
- Traitement du langage naturel
Voir aussi
Références
- « Le Intel Movidius, un dongle USB conçu pour le "vision processing" ».
- « Inspurs unveils GX4 AI Accelerator ».
- « google developing AI processors »google using its own AI accelerators.
- "A Survey of ReRAM-based Architectures for Processing-in-memory and Neural Networks", S. Mittal, Machine Learning and Knowledge Extraction, 2018
- « convolutional neural network demo from 1993 featuring DSP32 accelerator ».
- « design of a connectionist network supercomputer ».
- « The end of general purpose computers (not) »This presentation covers a past attempt at neural net accelerators, notes the similarity to the modern SLI GPGPU processor setup, and argues that general purpose vector accelerators are the way forward (in relation to RISC-V hwacha project. Argues that NN's are just dense and sparse matrices, one of several recurring algorithms)
- « SYNAPSE-1: a high-speed general purpose parallel neurocomputer system ».
- « Space Efficient Neural Net Implementation ».
- « A Generic Building Block for Hopfield Neural Networks with On-Chip Learning ».
- Application of the ANNA Neural Network Chip to High-Speed Character Recognition
- « Synergistic Processing in Cell's Multicore Architecture ».
- « Performance of Cell processor for biomolecular simulations ».
- « Video Processing and Retrieval on Cell architecture ».
- « Ray Tracing on the Cell Processor ».
- « Development of an artificial neural network on a heterogeneous multicore architecture to predict a successful weight loss in obese individuals ».
- « Parallelization of the Scale-Invariant Keypoint Detection Algorithm for Cell Broadband Engine Architecture ».
- « Data Mining Algorithms on the Cell Broadband Engine ».
- « Improving the performance of video with AVX ».
- « microsoft research/pixel shaders/MNIST ».
- « how the gpu came to be used for general computation ».
- « imagenet classification with deep convolutional neural networks ».
- « nvidia driving the development of deep learning ».
- « nvidia introduces supercomputer for self driving cars ».
- « how nvlink will enable faster easier multi GPU computing ».
- Mark Harris, « CUDA 9 Features Revealed: Volta, Cooperative Groups and More », (consulté le ).
- « FPGA Based Deep Learning Accelerators Take on ASICs », sur The Next Platform, (consulté le ).
- « microsoft extends fpga reach from bing to deep learning ».
- « Accelerating Deep Convolutional Neural Networks Using Specialized Hardware ».
- « Google boosts machine learning with its Tensor Processing Unit », (consulté le ).
- « Chip could bring deep learning to mobile devices », sur www.sciencedaily.com, (consulté le ).
- « Deep Learning with Limited Numerical Precision ».
- (en) Mohammad Rastegari, Vicente Ordonez, Joseph Redmon et Ali Farhadi, « XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks », ..
- « NVIDIA launches the World's First Graphics Processing Unit, the GeForce 256, ».
- Jeff Kampman, « Intel unveils purpose-built Neural Network Processor for deep learning », Tech Report, (lire en ligne, consulté le ).
- (en) « Intel Nervana Neural Network Processors (NNP) Redefine AI Silicon », sur intel.com, (consulté le ).
- « The Evolution of EyeQ ».
- « Nvidia goes beyond the GPU for AI with Volta ».
- « nvidia dgx-1 ».
- Ryan Smith, « AMD Announces Radeon Instinct: GPU Accelerators for Deep Learning, Coming in 2017 », Anandtech, (lire en ligne, consulté le ).
- « The highest performance neural network inference accelerator ».
- (en) James Vincent, « The iPhone X’s new neural engine exemplifies Apple’s approach to AI », The Verge, (lire en ligne, consulté le ).
- « Cadence Unveils Industry’s First Neural Network DSP IP for Automotive, Surveillance, Drone and Mobile Markets ».
- « HUAWEI Reveals the Future of Mobile AI at IFA 2017 ».
- « A Family of AI Processors for Deep Learning at the Edge ».
- (en) Brian Benchoff, « New Part Day: The RISC-V Chip With Built-In Neural Networks », sur Hack a Day,
- UMA Manjeera Digital System, « Universal Multifunction Accelerator », sur Manjeera Digital Systems (consulté le ).
- Universal Multifunction Accelerator Manjeera Digital Systems, « Revolutionise Processing », sur Indian Express (consulté le ).
- UMA AI Chip, « AI Chip from Hyderabad », Telangana Today, no News Paper, (lire en ligne, consulté le ).
- Lambert, Fred, « Elon Musk confirms that Tesla is working on its own new AI chip led by Jim Keller », .
- Chen, Yu-Hsin, Krishna, Tushar, Emer, Joel et Sze, Vivienne, « Eyeriss: An Energy-Efficient Reconfigurable Accelerator for Deep Convolutional Neural Networks », IEEE International Solid-State Circuits Conference, ISSCC 2016, Digest of Technical Papers, , p. 262–263.
- Aimar, Alessandro et al., « NullHop: A Flexible Convolutional Neural Network Accelerator Based on Sparse Representations of Feature Maps ».
- « Synthara Technologies ».
- « kalray MPPA ».
- « Graphcore Technology ».
- « Wave Computing's DPU architecture ».
- « A 2.9 TOPS/W Deep Convolutional Neural Network SoC in FD-SOI 28nm for Intelligent Embedded Systems ».
- « NM500, Neuromorphic chip with 576 neurons ».
- « yann lecun on IBM truenorth »argues that spiking neurons have never produced leading quality results, and that 8-16 bit precision is optimal, pushes the competing 'neuflow' design
- « IBM cracks open new era of neuromorphic computing » : « TrueNorth is incredibly efficient: The chip consumes just 72 milliwatts at max load, which equates to around 400 billion synaptic operations per second per watt — or about 176,000 times more efficient than a modern CPU running the same brain-like workload, or 769 times more efficient than other state-of-the-art neuromorphic approaches ».
- « Intel’s New Self-Learning Chip Promises to Accelerate Artificial Intelligence ».
- « BrainChip Accelerator ».
- « India preps RISC-V Processors - Shakti targets servers, IoT, analytics » : « The Shakti project now includes plans for at least six microprocessor designs as well as associated fabrics and an accelerator chip ».
- « AlphaICs ».
- « drive px ».
- « Goalkeeper - close-in weapon system ».
- « design of a machine vision system for weed control ».
- « qualcomm research brings server class machine learning to every data devices ».
- « google assistant ia ».
- « DeepL Learning ».
- « movidius powers worlds most intelligent drone ».
- « De l'intelligence artificielle pour assister les hôpitaux lyonnais ».