Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hardware Discussion :

Intel dévoile les détails de son Nervana NNP-I


Sujet :

Hardware

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    24 991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 24 991
    Points : 176 969
    Points
    176 969
    Par défaut Intel dévoile les détails de son Nervana NNP-I
    Nervana, à l’origine, est une société qui développe des puces pour l’apprentissage profond. Son rachat par Intel n’a pas signifié la fin de ses projets, loin de là : en janvier dernier, une puce prévue pour de l’inférence à très haut débit (pour des serveurs, par exemple) a été annoncée. Le NNP-I 1000 a pour nom de code Spring Hill et Intel a récemment levé le rideau sur un certain nombre de détails techniques. Notamment, cette puce sera disponible sur des cartes au format M.2 (le même que celui utilité pour les SSD), c’est-à-dire en tant que coprocesseur chargé d’effectuer de l’inférence, mais il n’est pas impossible que d’autres formats soient disponibles (par exemple, des cartes PCIe plus habituelles, probablement avec plus de mémoire).


    À la base, un NNP-I est un processeur Core/Xeon de génération Ice Lake, gravé en 10 nm, parmi les tout derniers sortis. À la différence d’un tel processeur classique, il n’y a pas huit cœurs de calcul généraux, seulement deux, dénommés “cœurs d’intelligence artificielle”. Ils disposent des instructions les plus récentes pour gérer les opérations des réseaux neuronaux (avec les jeux d’instructions AVX512 et VNNI). Deux contrôleurs mémoire LPDDR4 sont inclus : une carte M.2 embarque seize gigaoctets de mémoire, le processeur peut monter à trente-deux gigaoctets).

    Un processeur comporte également douze accélérateurs d’inférence (ICE), six par cœur. Tous les cœurs (les douze ICE et les deux IA) partagent un même cache de dernier niveau (de niveau 3 pour les cœurs IA, de niveau 1 pour les ICE), cohérent pour tous les cœurs (c’est-à-dire que chaque cœur voit toujours la dernière valeur stockée en mémoire, il n’y a aucun retard, ce qui nécessite des opérations de synchronisation pour chaque opération de lecture et d’écriture). Ce cache sert principalement à la communication entre les différents cœurs.

    Chaque processeur peut consommer de dix à cinquante watts, selon l’application. Branché sur un port M.2, il sera limité à quinze watts (l’interface ne peut pas délivrer une puissance plus élevée), mais le processeur pourra monter plus haut en consommation… et donc en performance (entre quarante-huit et nonante-deux téraopérations par seconde en INT8).

    Grâce à cette organisation, un coprocesseur NNP-I peut fonctionner assez indépendamment du processeur central : grâce à l’accès au bus PCIe (version 3.0, x4 ou x8), il peut directement lire les données en mémoire centrale, sans attendre (DMA). Intel fournira une pile logicielle pour gérer l’exécution des travaux d’inférence de manière asynchrone depuis le processeur principal (sans générer de trafic énorme sur le bus PCIe).


    Chaque cœur ICE dispose d’une série de registres pour un total de quatre mégaoctets (SRAM) et est organisé sous la forme d’une grille. Celle-ci peut effectuer des opérations sur des nombres à précision réduite (FP16, INT8, INT4, INT2, INT1) ; les opérations habituelles des réseaux neuronaux sont implémentées en fonction fixe, notamment les MAC (multiply-accumulate), à raison de quatre mille opérations par cycles (INT8), des opérations non linéaires, et le pooling.


    Au cas où les fonctions fixes ne sont pas suffisantes, chaque cœur dispose aussi d’un DSP, un Tensilica V6 qui peut traiter cinq cent douze bits d’un coup. La grille de calcul et le DSP peuvent communiquer par une mémoire de deux cent cinquante-six kilooctets.


    En l’état, cette puce peut effectuer jusqu’à trois mille six cents inférences par seconde en consommant à peine dix watts sur un réseau convolutif de taille plus que raisonnable (ResNet 50), c’est-à-dire trois cent soixante inférences par seconde et par watt ou encore 4,8 téraopérations par seconde et par watt. En passant de deux à douze cœurs ICE, le nombre d’inférences est multiplié par 5,85 (l’accélération maximale étant d’un facteur 6). Ces chiffres de consommation ne concernent que le processeur, pas toute la carte (notamment, pas la mémoire).

    Ces puces sont déjà en cours d’échantillonnage, la production en volume est attendue pour la fin de cette année. Facebook les utilise déjà, en tant que partenaire “de définition”. Le processeur NNP-I 1000 ne devrait pas être disponible à la vente à l’unité, mais serait réservé aux fournisseurs de services infonuagiques. Deux nouvelles générations sont d’ores et déjà en cours de développement.

    Au niveau logiciel, Intel fournira un compilateur, Glo, qui adaptera un réseau neuronal pour utiliser au mieux les possibilités de la puce. Les outils traditionnels, comme PyTorch et TensorFlow, seront aussi gérés, avec extrêmement peu d’adaptations du code.

    Sources et images : Hot Chips 31 Live Blogs: Intel 10nm Spring Hill NNP-I Inference Chip, 10nm Ice Lake CPU Meets M.2: The ‘Spring Hill’ Nervana NNP-I Deep Dive.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    24 991
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 24 991
    Points : 176 969
    Points
    176 969
    Par défaut Intel annonce son Nervana NNP-T
    Il y a quelques mois, Intel dévoilait sa puce pour l’inférence dans les réseaux neuronaux, Nervana NNP-I. Le NNP-I 1000 est un processeur habituel (avec quelques cœurs identiques à ceux que l’on retrouve dans les gammes Core et Xeon d’Intel, génération Ice Lake), mais avec des cœurs supplémentaires pour effectuer les tâches spécifiques aux réseaux neuronaux, notamment grâce à des accélérateurs d’inférence.


    Désormais, c’est la déclinaison orientée entraînement des réseaux neuronaux qu’Intel dévoile, la NNP-T 1000 (nom de code : Spring Crest). Cette puce est prévue pour être plus générique que la gamme Movidius Myriad, orientée vers le traitement d’images. Elle équilibre des parties de calcul, de mémoire et de réseau, afin de maximiser l’utilisation des capacités disponibles.


    Le processeur est vu comme une extension et est disponible comme une carte PCIe 4.0 ou OpenCompute (format Mezzanine), cette dernière pouvant dégager plus de chaleur (375 W au lieu de 300). Les deux contiennent 32 Go de mémoire HBM, dont 60 Mo de registres. Le format bfloat16 est disponible, pour monter à presque cent vingt téraopérations par seconde (millions de millions d’opérations). Architecturalement, une puce contient vingt-quatre groupes de traitement tensoriel (TPC), qui ont des fonctions analogues aux cœurs tensoriels de NVIDIA.


    Actuellement, on peut utiliser ces puces à travers une bibliothèque spécifique ou le compilateur de réseau neuronal nGraph. Les bibliothèques de réseaux neuronaux comme TensorFlow et PyTorch sont aussi nativement gérées, ainsi que PaddlePaddle, la bibliothèque de Baidu.

    Source : BusinessWire, Intel.

    Voir aussi : plus de détails techniques sur la microarchitecture de cette puce.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/04/2015, 16h40
  2. Microsoft dévoile les détails sur le nouveau Kinect et la puce de la Xbox One
    Par Cedric Chevalier dans le forum Développement 2D, 3D et Jeux
    Réponses: 8
    Dernier message: 30/08/2013, 17h48
  3. Microsoft dévoile les détails sur Windows Store
    Par Hinault Romaric dans le forum Windows 8
    Réponses: 53
    Dernier message: 13/09/2012, 13h39
  4. Réponses: 5
    Dernier message: 22/03/2012, 14h45
  5. Microsoft dévoile les détails sur Windows On ARM
    Par Hinault Romaric dans le forum Windows 8
    Réponses: 1
    Dernier message: 10/02/2012, 20h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo