Présentation
En anglaisRÉSUMÉ
Les applications de l’intelligence artificielle, utilisant notamment les réseaux de neurones profonds, ont conduit au développement de supports matériels pour accélérer leur exécution. Après un bref rappel des principes de ces réseaux, notamment les réseaux de neurones convolutionnels, les différents opérateurs nécessitant une accélération sont présentés. Les spécificités permettant l’utilisation d’une précision numérique réduite sont présentées, avec les formats de données correspondant. Les différentes techniques d’accélération sont présentées : ajout d’instructions, développement de composants matériels (opérateurs spécialisés à intégrer dans des systèmes sur puce, processeurs neuronaux) avec des exemples de circuits disponibles chez ARM, Intel, Google, NVidia, Xilinx.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
Deep neural networks, widely used in artificial intelligence applications, have led to the development of hardware supports to accelerate their execution. After a brief review of the fundamentals of these networks, and particularly convolutional neural networks, the different operators which require acceleration are presented. The specificities allowing the use of reduced numerical precision are presented, with the corresponding data formats. The different acceleration techniques are presented: addition of instructions, development of hardware components (specialized operators to be integrated in systems-on-chip, neural processors) with examples of circuits available at ARM, Intel, Google, NVidia, Xilinx.
Auteur(s)
-
Daniel ETIEMBLE : Professeur émérite LRI, Université Paris Saclay
INTRODUCTION
Avec l’importance croissante des applications de l’intelligence artificielle, les réseaux de neurones profonds sont de plus en plus utilisés. Ils ont vu le développement de supports matériels et logiciels significatifs. Les grands opérateurs (Google, Microsoft, etc.) et les fournisseurs de circuits (ARM, Intel, NVidia, Xilinx) ainsi que de très nombreuses petites sociétés ou startups proposent des solutions matérielles pour accélérer l’exécution des applications utilisant des réseaux de neurones profonds. L’objectif de l’article est d’expliciter les caractéristiques de ces solutions matérielles en relation avec les grandes caractéristiques des réseaux de neurones.
Sans prétendre à une présentation théorique ou exhaustive, les principes de base des réseaux de neurones (RN) sont rappelés : structure d’un RN, structure d’un neurone, fonction d’activation ainsi que les deux phases d’utilisation d’un RN (Apprentissage et Inférence). Les réseaux de neurones sont utilisés à plusieurs niveaux : centre de données, serveurs au bord du réseau (edge devices), smartphones et composants de l’Internet des Objets (IoT) avec des contraintes de performance et de consommation énergétique différentes, conduisant à différents supports matériels.
Alors que les flottants 32 bits sont le format numérique de base pour les réseaux de neurones, les contraintes de performance et de consommation ont conduit à l’utilisation de formats entiers 8 bits et 16 bits et de formats flottants réduits (F16, BF16, TF32) qui sont présentés. Les opérateurs spécifiques des réseaux de neurones convolutionnels sont présentés : convolution, pooling, couches complètement connectées (denses).
Des exemples de supports matériels sont présentés : les instructions IA du jeu d’instructions Intel pour le calcul en entier, les cœurs tenseurs de NVidia, les processeurs neuronaux d’ARM (Ethos), d’Intel (Nirvana NPP-T), de Google (TPU) et le système sur puce Xilinx VC 1902.
MOTS-CLÉS
réseaux de neurones profonds opérateurs matriciels précision numérique processeurs neuronaux accélérateurs pour systèmes sur puce
KEYWORDS
deep neural networks | hardware operators | numerical precision | neuronal processors | acceleration devices for systems-on-chip
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
3. Réseaux de neurones profonds
3.1 Caractéristiques
Les réseaux de neurones profonds ont un grand nombre de couches cachées. Il existe plusieurs types de ces réseaux :
-
les DNN sont typiquement unidirectionnels, les calculs se propageant des entrées vers la sortie. La phase d’apprentissage se fait également des entrées vers les sorties, en ajustant étape par étape les poids des différentes couches, de la dernière vers la première ;
-
dans les réseaux de neurones récurrents (RNN), les informations peuvent se propager dans les deux directions ;
-
les réseaux de neurones convolutionnels (CNN) comprennent des convolutions. Ils sont notamment utilisés en vision par ordinateur. Les réseaux de neurones résiduels sont un cas particulier de CNN, où des connexions permettent de sauter des couches cachées.
La figure 6 présente un exemple de CNN pour la classification d’images, avec des convolutions, des étages de pooling et des couches complètement connectées. Les opérations de convolution et de pooling sont présentées au § 5.1 et § 5.2.
HAUT DE PAGE3.2 Utilisation des réseaux de neurones profonds
Les réseaux de neurones profonds peuvent être utilisés à différents...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Réseaux de neurones profonds
BIBLIOGRAPHIE
-
(1) - NIELSEN (M.) - Neural Network and Deep Learning, - http://neuralnetworksanddeeplearning.com/
-
(2) - TensorFlow - - https://www.tensorflow.org/
-
(3) - Caffe - - https://www.tensorflow.org/
-
(4) - PyTorch - - https://pytorch.org/
-
(5) - COURBARIAUX (M.), HUBARA (I.), SOUDRY (D.), EL-YANIV (R.), BENGIO (Y.) - Binarized Neural Networks: Training Neural Networks with Weights and Activations Constrained to +1 or −1, - https://arxiv.org/abs/1602.02830
-
(6) - CHOI (J.), VENKATARAMANI (S.), SRINIVASAN (V.), GOPALAKRISHNAN (K.), WANG (Z.), CHUANG (P.) - Accurate And Efficient 2-Bit Quantized Neural Networks, - Proceedings of the 2nd SysML Conference, Palo Alto, CA, USA (2019), https://mlsys.org/Conferences/2019/doc/2019/168.pdf
- ...
DANS NOS BASES DOCUMENTAIRES
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive