Accélérateur d'IA - AI accelerator

Un accélérateur d'IA est une classe d' accélérateurs matériels ou de systèmes informatiques spécialisés conçus pour accélérer les applications d'intelligence artificielle et d' apprentissage automatique , y compris les réseaux de neurones artificiels et la vision artificielle . Les applications typiques incluent les algorithmes pour la robotique , l' Internet des objets et d'autres tâches gourmandes en données ou pilotées par des capteurs. Il s'agit souvent de conceptions multicœurs et se concentrent généralement sur l' arithmétique de faible précision , de nouvelles architectures de flux de données ou des capacités de calcul en mémoire . En 2018, une puce de circuit intégré AI typique contient des milliards de transistors MOSFET . Il existe un certain nombre de termes spécifiques aux fournisseurs pour les appareils de cette catégorie, et il s'agit d'une technologie émergente sans conception dominante .

Histoire

Les systèmes informatiques ont fréquemment complété le CPU avec des accélérateurs spéciaux pour des tâches spécialisées, appelés coprocesseurs . Les unités matérielles spécifiques à l'application notables incluent les cartes vidéo pour les graphiques , les cartes son , les unités de traitement graphique et les processeurs de signaux numériques . Alors que les charges de travail d' apprentissage en profondeur et d'intelligence artificielle prenaient de l'importance dans les années 2010, des unités matérielles spécialisées ont été développées ou adaptées à partir de produits existants pour accélérer ces tâches.

Premières tentatives

Les premières tentatives comme Intel circuits analogiques intégrés de ETANN 80170NX pour calculer les fonctions neuronales. Un autre exemple de puces de cette catégorie est ANNA, un accélérateur CMOS à réseau de neurones développé par Yann LeCun . Plus tard, toutes les puces numériques comme Nestor/Intel Ni1000 ont suivi. Dès 1993, les processeurs de signaux numériques 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 . Dans les années 1990, il y a eu également des tentatives pour 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 de neurones. Les accélérateurs basés sur FPGA ont également été explorés pour la première fois dans les années 1990 à la fois pour l'inférence et la formation. Les smartphones ont commencé à intégrer des accélérateurs d'IA à partir du Qualcomm Snapdragon 820 en 2015.

Informatique hétérogène

L'informatique hétérogène fait référence à 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 ont des fonctionnalités qui se chevauchent considérablement avec les accélérateurs d'IA, notamment : la prise en charge de l'arithmétique compacte de faible précision, l' architecture de flux de données et la priorité au « débit » par rapport à la latence. Le microprocesseur Cell a ensuite été appliqué à un certain nombre de tâches, dont l'IA.

Dans les années 2000, les processeurs ont également gagné des unités SIMD de plus en plus larges , entraînées par les charges de travail vidéo et de jeux ; ainsi que la prise en charge des types de données compactés de faible précision . En raison de l'augmentation des performances des processeurs, ils sont également utilisés pour exécuter des charges de travail d'IA. Les processeurs sont supérieurs pour les DNN avec des DNN avec parallélisme à petite ou moyenne échelle, pour les DNN clairsemés et dans les scénarios de faible taille de lot.

Utilisation du GPU

Les unités de traitement graphique ou GPU sont du matériel spécialisé pour la manipulation d'images et le calcul des propriétés d'image locales. La base mathématique des réseaux de neurones et de la manipulation d'images sont des tâches similaires, d'un parallèle embarrassant impliquant des matrices, ce qui conduit les GPU à devenir de plus en plus utilisés pour les tâches d'apprentissage automatique. Depuis 2016, les GPU sont populaires pour le travail d'IA, et ils continuent d'évoluer dans le sens de faciliter l'apprentissage en profondeur, à la fois pour la formation et l'inférence dans des appareils tels que les voitures autonomes . Les développeurs de GPU tels que Nvidia NVLink développent des capacités de connexion supplémentaires pour le type de charges de travail de flux de données dont bénéficie l'IA. Comme processeurs graphiques ont été de plus en plus appliquées à l' accélération AI, les fabricants de GPU ont intégré le réseau de neurones - spécifiques du matériel pour accélérer ces tâches. Les cœurs tenseurs sont destinés à accélérer l'apprentissage des réseaux de neurones.

Utilisation de FPGA

Les frameworks d'apprentissage en profondeur évoluent toujours, ce qui rend difficile la conception de matériel personnalisé. Les dispositifs reconfigurables tels que les réseaux de portes programmables sur site (FPGA) facilitent l'évolution du matériel, des frameworks et des logiciels les uns à côté des autres .

Microsoft a utilisé des puces FPGA pour accélérer l' inférence .

Emergence d'ASIC dédiés aux accélérateurs d'IA

Alors que les GPU et les FPGA fonctionnent bien mieux que les CPU pour les tâches liées à l'IA, un facteur d'efficacité allant jusqu'à 10 peut être gagné avec une conception plus spécifique, via un circuit intégré spécifique à l'application (ASIC). Ces accélérateurs utilisent des stratégies telles que l' utilisation optimisée de la mémoire et l'utilisation d' arithmétique de précision inférieure pour accélérer le calcul et augmenter le débit de calcul. Certains formats à virgule flottante de basse précision adoptés et utilisés pour l'accélération de l'IA sont la demi-précision et le format à virgule flottante bfloat16 . Des entreprises telles que Google, Qualcomm, Amazon, Apple, Facebook, AMD et Samsung conçoivent toutes leurs propres ASIC IA.

Architectures informatiques en mémoire

En juin 2017, les chercheurs d' IBM ont annoncé une architecture contrastant avec l' architecture Von Neumann basée sur l' informatique en mémoire et les matrices de mémoire à changement de phase appliquées à la détection de corrélation temporelle , dans l'intention de généraliser l'approche à l' informatique hétérogène et aux systèmes massivement parallèles . En octobre 2018, des chercheurs d'IBM ont annoncé une architecture basée sur le traitement en mémoire et modélisée sur le réseau synaptique du cerveau humain pour accélérer les réseaux de neurones profonds . Le système est basé sur des matrices de mémoire à changement de phase .

Calcul en mémoire avec mémoires résistives analogiques

En 2019, des chercheurs du Politecnico di Milano ont trouvé un moyen de résoudre des systèmes d'équations linéaires en quelques dizaines de nanosecondes via une seule opération. Leur algorithme est basé sur le calcul en mémoire avec des mémoires résistives analogiques qui fonctionnent avec une efficacité élevée en temps et en énergie, en effectuant une multiplication matrice-vecteur en une seule étape en utilisant la loi d'Ohm et la loi de Kirchhoff. Les chercheurs ont montré qu'un circuit de rétroaction avec des mémoires résistives à points croisés peut résoudre des problèmes algébriques tels que des systèmes d'équations linéaires, des vecteurs propres matriciels et des équations différentielles en une seule étape. Une telle approche améliore considérablement les temps de calcul par rapport aux algorithmes numériques.

Semi-conducteurs atomiquement minces

En 2020, Marega et al. ont publié des expériences avec un matériau de canal actif de grande surface pour le développement de dispositifs et de circuits logiques en mémoire basés sur des transistors à effet de champ à grille flottante (FGFET). De tels semi - conducteurs atomiquement minces sont considérés comme prometteurs pour les applications d' apprentissage automatique économes en énergie , où la même structure de dispositif de base est utilisée à la fois pour les opérations logiques et le stockage de données. Les auteurs ont utilisé des matériaux bidimensionnels tels que le bisulfure de molybdène semi-conducteur .

Noyau tenseur photonique intégré

En 2021, J. Feldmann et al. a proposé un accélérateur matériel photonique intégré pour le traitement convolutif parallèle. Les auteurs identifient deux avantages clés de la photonique intégrée par rapport à ses homologues électroniques : (1) le transfert de données massivement parallèle par multiplexage par répartition en longueur d'onde en conjonction avec des peignes de fréquence , et (2) des vitesses de modulation de données extrêmement élevées. Leur système peut exécuter des milliards d'opérations de multiplication et d'accumulation par seconde, ce qui indique le potentiel de la photonique intégrée dans les applications d'IA gourmandes en données.

Nomenclature

En 2016, le domaine est toujours en pleine mutation et les fournisseurs proposent leur propre terme marketing pour ce qui équivaut à un « accélérateur d'IA », dans l'espoir que leurs conceptions et leurs API deviendront la conception dominante . Il n'y a pas de consensus sur la frontière entre ces dispositifs, ni sur la forme exacte qu'ils prendront ; cependant plusieurs exemples visent clairement à remplir ce nouvel espace, avec une bonne quantité de chevauchement des capacités.

Dans le passé, lorsque les accélérateurs graphiques grand public sont apparus, l'industrie a finalement adopté le terme auto-attribué de Nvidia , "le GPU", comme nom collectif pour "les 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 .

Applications potentielles

Voir également

Les références

Liens externes