Puce d'accélération de réseaux de neurones

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur l'homonymie Pour les articles homonymes, voir processeur neuronal et NPU.

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 cet page.

Historique de d'accélération d'IA[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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.[citation nécessaire]

Émergence des ASIC dédiés à l'accélération de l'IA[modifier | modifier le code]

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).[citation nécessaire]. Ce qui inclut des différences dans l'utilisation de la mémoire[citation nécessaire] et l'utilisation de nombres de précision plus faibles[32],[33].

Nomenclature[modifier | modifier le code]

À 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[modifier | modifier le code]

Produits individuels[modifier | modifier le code]

Produits basés sur les GPU[modifier | modifier le code]

  • 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[modifier | modifier le code]

  • 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 janvier 2018 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].

Accélérateur multifonctions[modifier | modifier le code]

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[46],[47],[48].

Recherche et produits non commercialisés[modifier | modifier le code]

  • En décembre 2017, 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[49].
  • Eyeriss est un accélérateur destiné explicitement aux réseaux neuronaux convolutionnels, utilisant un scratchpad et une architecture de réseau sur puce[50].
  • 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[51],[52].
  • Kalray est un accélérateur pour les réseaux neuronaux convolutifs[53].
  • 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[54].
  • DPU, par wave computing, est une architecture de flux de données[55]
  • 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[56].
  • 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[57].
  • TrueNorth est un modèle multi-cœur basé sur des neurones à pointes plutôt que sur l'arithmétique traditionnelle[58],[59].
  • Intel Loihi est une puce neuromorphe expérimentale[60].
  • En septembre 2017, 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[61].
  • IIT Madras est en train de concevoir un accélérateur de neurones à pointes pour l'analyse de big-data[62].
  • 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[63].

Applications potentielles[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. « Le Intel Movidius, un dongle USB conçu pour le "vision processing" »
  2. « Inspurs unveils GX4 AI Accelerator »
  3. « google developing AI processors »google using its own AI accelerators.
  4. a et b "A Survey of ReRAM-based Architectures for Processing-in-memory and Neural Networks", S. Mittal, Machine Learning and Knowledge Extraction, 2018
  5. « convolutional neural network demo from 1993 featuring DSP32 accelerator »
  6. « design of a connectionist network supercomputer »
  7. « 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)
  8. « SYNAPSE-1: a high-speed general purpose parallel neurocomputer system »
  9. a et b « Space Efficient Neural Net Implementation »
  10. a et b « A Generic Building Block for Hopfield Neural Networks with On-Chip Learning »
  11. Application of the ANNA Neural Network Chip to High-Speed Character Recognition
  12. « Synergistic Processing in Cell's Multicore Architecture »
  13. « Performance of Cell processor for biomolecular simulations »
  14. « Video Processing and Retrieval on Cell architecture »
  15. « Ray Tracing on the Cell Processor »
  16. « Development of an artificial neural network on a heterogeneous multicore architecture to predict a successful weight loss in obese individuals »
  17. « Parallelization of the Scale-Invariant Keypoint Detection Algorithm for Cell Broadband Engine Architecture »
  18. « Data Mining Algorithms on the Cell Broadband Engine »
  19. « Improving the performance of video with AVX »
  20. « microsoft research/pixel shaders/MNIST »
  21. « how the gpu came to be used for general computation »
  22. « imagenet classification with deep convolutional neural networks »
  23. « nvidia driving the development of deep learning »
  24. « nvidia introduces supercomputer for self driving cars »
  25. « how nvlink will enable faster easier multi GPU computing »
  26. a et b Mark Harris, « CUDA 9 Features Revealed: Volta, Cooperative Groups and More », (consulté le 12 août 2017)
  27. « FPGA Based Deep Learning Accelerators Take on ASICs », sur The Next Platform, (consulté le 7 septembre 2016)
  28. « microsoft extends fpga reach from bing to deep learning »
  29. « Accelerating Deep Convolutional Neural Networks Using Specialized Hardware »
  30. « Google boosts machine learning with its Tensor Processing Unit », (consulté le 13 septembre 2016)
  31. « Chip could bring deep learning to mobile devices », sur www.sciencedaily.com, (consulté le 13 septembre 2016)
  32. « Deep Learning with Limited Numerical Precision »
  33. (en) Mohammad Rastegari, Vicente Ordonez, Joseph Redmon et Ali Farhadi « XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks », .
  34. « NVIDIA launches the World's First Graphics Processing Unit, the GeForce 256, »
  35. Jeff Kampman, « Intel unveils purpose-built Neural Network Processor for deep learning », Tech Report,‎ (lire en ligne)
  36. (en) « Intel Nervana Neural Network Processors (NNP) Redefine AI Silicon », sur intel.com, (consulté le 20 octobre 2017)
  37. « The Evolution of EyeQ »
  38. « Nvidia goes beyond the GPU for AI with Volta »
  39. « nvidia dgx-1 »
  40. Ryan Smith, « AMD Announces Radeon Instinct: GPU Accelerators for Deep Learning, Coming in 2017 », Anandtech,‎ (lire en ligne)
  41. « The highest performance neural network inference accelerator »
  42. (en) James Vincent, « The iPhone X’s new neural engine exemplifies Apple’s approach to AI », The Verge,‎ (lire en ligne)
  43. « Cadence Unveils Industry’s First Neural Network DSP IP for Automotive, Surveillance, Drone and Mobile Markets »
  44. « HUAWEI Reveals the Future of Mobile AI at IFA 2017 »
  45. « A Family of AI Processors for Deep Learning at the Edge »
  46. UMA Manjeera Digital System, « Universal Multifunction Accelerator », sur Manjeera Digital Systems (consulté le 28 juin 2018)
  47. Universal Multifunction Accelerator Manjeera Digital Systems, « Revolutionise Processing », sur Indian Express (consulté le 28 juin 2018)
  48. UMA AI Chip, « AI Chip from Hyderabad », Telangana Today, no News Paper,‎ (lire en ligne)
  49. Lambert, Fred, « Elon Musk confirms that Tesla is working on its own new AI chip led by Jim Keller »,
  50. 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
  51. Aimar, Alessandro et al., « NullHop: A Flexible Convolutional Neural Network Accelerator Based on Sparse Representations of Feature Maps »
  52. « Synthara Technologies »
  53. « kalray MPPA »
  54. « Graphcore Technology »
  55. « Wave Computing's DPU architecture »
  56. « A 2.9 TOPS/W Deep Convolutional Neural Network SoC in FD-SOI 28nm for Intelligent Embedded Systems »
  57. « NM500, Neuromorphic chip with 576 neurons »
  58. « 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
  59. « 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 »
  60. « Intel’s New Self-Learning Chip Promises to Accelerate Artificial Intelligence »
  61. « BrainChip Accelerator »
  62. « 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 »
  63. « AlphaICs »
  64. « drive px »
  65. « Goalkeeper - close-in weapon system »
  66. « design of a machine vision system for weed control »
  67. « qualcomm research brings server class machine learning to every data devices »
  68. « google assistant ia »
  69. « DeepL Learning »
  70. « movidius powers worlds most intelligent drone »
  71. « De l'intelligence artificielle pour assister les hôpitaux lyonnais »

Liens externes[modifier | modifier le code]