Opérateurs spécialisés : tenseurs et cœurs tenseurs
Supports matériels pour les réseaux de neurones profonds
H1098 v1 Article de référence

Opérateurs spécialisés : tenseurs et cœurs tenseurs
Supports matériels pour les réseaux de neurones profonds

Auteur(s) : Daniel ETIEMBLE

Date de publication : 10 août 2021 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - Positionnement des réseaux de neurones

2 - Grandes caractéristiques des réseaux de neurones

3 - Réseaux de neurones profonds

4 - Formats de données

5 - Opérations spécifiques

6 - Extension du jeu d’instructions Intel64

7 - Opérateurs spécialisés : tenseurs et cœurs tenseurs

8 - Processeurs neuronaux

9 - Calcul, mémorisation et communication

10 - Remarques pour conclure

Sommaire

Présentation

RÉ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’article

Auteur(s)

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.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 92 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1098

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

7. Opérateurs spécialisés : tenseurs et cœurs tenseurs

Les tenseurs sont des objets mathématiques définis sur un espace à n dimensions :

  • un vecteur est un tenseur de dimension 1 ;

  • une matrice est un tenseur de dimension 2 ;

  • etc.

Compte tenu de l’importance des calculs sur de très grosses matrices, des opérateurs spécialisés appelés tenseurs ou cœurs tenseurs ont été introduits dans un certain nombre d’architectures.

7.1 Cœurs tenseurs des GPU NVidia

Les processeurs graphiques (GPU) ont été étudiés dans l’article [H 1 013]. Les cœurs tenseurs NVidia ont été introduits dans certains GPU à partir de 2017. Un cœur tenseur de première génération est un opérateur qui multiplie deux matrices 4*4 F16 et additionne le résultat avec une matrice F16 ou F32 pour obtenir une matrice F32. On a donc une version matricielle (deux dimensions) de l’opération multiplication-addition (MAC) que l’on a trouvé par exemple dans le calcul des convolutions (section 5.1).

La première génération a été introduite dans les architectures Pascal et Volta (figure 17). Ils permettent des opérations matricielles en précision mixte (FP16 et FP32).

La seconde génération introduite dans l’architecture Turing (figure 18) permet des calculs avec les précisions FP16, INT8 et INT4. La figure 18 montre l’augmentation du débit de calcul par rapport...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Opérateurs spécialisés : tenseurs et cœurs tenseurs

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

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

  • ...
Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Évolution de l'architecture des ordinateurs

Cet article présente l’évolution de l’architecture des ordinateurs, précisant ainsi la place et le rôle ...

Réalisation des opérateurs logiques

Cet article traite des principes généraux mis en œuvre dans la réalisation des opérateurs logiques ...

Microprocesseurs - Mise en œuvre et exemples d'application

Cet article s'organise autour de l'utilisation et de la mise en oeuvre des microprocesseurs en ...

Microprocesseurs - Approche générale

Les microprocesseurs sont au cœur des systèmes numériques. Ils permettent le développement de logiciels ...