IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Intelligence artificielle Discussion :

Des algorithmes intelligents permettent aux CPU d’être plus performants que les GPU


Sujet :

Intelligence artificielle

  1. #1
    Expert éminent sénior

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Mars 2017
    Messages
    1 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2017
    Messages : 1 179
    Points : 78 791
    Points
    78 791
    Par défaut Des algorithmes intelligents permettent aux CPU d’être plus performants que les GPU
    Des algorithmes intelligents permettent aux CPU d’être plus performants que les GPU
    Pour la mise en œuvre du Deep Learning à grande échelle, d’après une nouvelle recherche

    De nombreuses entreprises à travers le monde investissent massivement dans le matériel spécialisé pour mettre en œuvre le Deep Learning, une forme d’intelligence artificielle qui permet notamment de donner vie aux assistants numériques comme Alexa et Siri, aux systèmes de recommandation de produits ainsi qu’à d’autres technologies telles que la reconnaissance faciale. À l’heure actuelle, les circuits graphiques (GPU) spécialisés fournis principalement par les entreprises NVIDIA et AMD (dans une moindre mesure) représentent le matériel de choix pour la mise en œuvre du Deep Learning.

    Toutefois, cette situation pourrait bientôt être amenée à changer, car des chercheurs de l’université de Rice (Houston, au Texas), soutenus par des collaborateurs du géant Intel, ont récemment indiqué avoir réussi à surmonter un obstacle majeur dans le domaine de l’intelligence artificielle en montrant qu’il est possible d’accélérer les technologies d’apprentissage profond (ou Deep Learning) sans avoir recours à du matériel d’accélération spécialisé comme les unités de traitement graphique (GPU). Ils ont présenté les résultats à la Austin Convention Center dans le cadre de la conférence MLSys sur les systèmes d’apprentissage automatique.

    Les chercheurs de l’université de Rice ont créé une alternative économique au GPU : un algorithme appelé « moteur d’apprentissage profond sous-linéaire » abrégé SLIDE (pour sub-linear deep learning engine) qui s’appuie uniquement sur les capacités des processeurs classiques (CPU).

    À ce propos, Anshumali Shrivastava, professeur adjoint à la Brown School of Engineering de Rice et membre de l’équipe de recherche aux côtés des étudiants diplômés Beidi Chen et Tharun Medini, a déclaré : « Nos tests montrent que SLIDE est la première implémentation algorithmique intelligente de Deep Learning sur CPU qui peut surpasser l’accélération matérielle du GPU sur des ensembles de données de recommandation à l’échelle industrielle avec de grandes architectures entièrement connectées ».

    Nom : rty.png
Affichages : 1167
Taille : 90,7 Ko

    Habituellement, la technique d’apprentissage standard dite de « rétropropagation » pour les réseaux neuronaux profonds nécessite une multiplication matricielle, une opération représentant une charge de travail idéale pour les GPU. Cependant, SLIDE n’a nullement besoin de s’appuyer sur les capacités des GPU pour la mise en œuvre du Deep Learning puisqu’il adopte une approche fondamentalement différente pour parvenir aux résultats escomptés. En effet, avec SLIDE, Shrivastava, Chen et Medini ont transformé la formation des réseaux neuronaux en un problème de recherche qui pourrait être résolu grâce à des tables de hachage. Ce procédé change radicalement la donne puisqu’il permet de réduire considérablement la charge de calcul au niveau du CPU et d’optimiser la mise en œuvre du Deep Learning au niveau du CPU comparé à la technique habituelle faisant appel à l’apprentissage par rétropropagation. Il faut préciser qu’une plateforme de calcul intégrant des GPU haut de gamme comme celles qu’Amazon, Google et d’autres proposent pour les services de Deep Learning dans le Cloud dispose en général de huit GPU Tesla V100 de NVIDIA et coûte environ 100 000 $.

    Décrivant leurs expériences, Shrivastava explique : « Nous avons pris une charge de travail parfaite pour le [GPU Tesla] V100, une avec plus de 100 millions de paramètres dans de grands réseaux entièrement connectés qui tiennent dans la mémoire du GPU. Nous l’avons formé avec le meilleur package (logiciel) disponible sur le marché, le TensorFlow de Google, et cela a pris 3 heures et demie de formation. Nous avons ensuite montré que notre nouvel algorithme peut effectuer la formation en une heure, non pas sur des GPU mais sur un processeur de classe Xeon à 44 cœurs ».

    D’après lui, le plus grand avantage de SLIDE par rapport à la rétropropagation vient du fait qu’il s’agit de la manipulation de données parallèles : « Par données parallèles, je veux dire que si je dispose de deux données sur lesquelles je veux m’entraîner, disons que l’une est l’image d’un chat et l’autre celle d’un bus, elles activeront probablement des neurones différents, et SLIDE peut mettre à jour, ou s’entraîner sur ces deux données indépendamment », ce qui est « une bien meilleure utilisation du parallélisme pour les unités centrales ».

    Les réseaux d’apprentissage profond ont été inspirés par la biologie et leurs éléments centraux - les neurones artificiels - sont de petits bouts de code qui peuvent apprendre à effectuer une tâche spécifique. Un réseau d’apprentissage profond peut contenir des millions, voire des milliards de neurones artificiels qui, en travaillant ensemble, peuvent apprendre à prendre des décisions d’experts de niveau humain simplement en étudiant de grandes quantités de données. Par exemple, si un réseau neuronal profond est formé pour identifier des objets sur les photos, il utilisera des neurones différents pour reconnaître une photo d’un chat que pour reconnaître un autobus scolaire.

    Le hachage pour sa part est une méthode d’indexation des données inventée pour la recherche sur Internet dans les années 1990. Il utilise des méthodes numériques pour coder de grandes quantités d’informations, comme des pages Web entières ou des chapitres d’un livre, sous la forme d’une chaîne de chiffres appelée hachage. Il peut également être défini comme une fonction qui va calculer une empreinte (ou signature) unique à partir des données fournies. Les tables de hachage sont des listes de hachages qui peuvent être recherchées très rapidement.

    Nom : ghj.png
Affichages : 907
Taille : 107,8 Ko

    « Nous avons pensé : Si nous voulons seulement choisir les neurones qui sont pertinents, alors c’est un problème de recherche. Donc, algorithmiquement, l’idée était d’utiliser un hachage sensible à la localité pour éviter la multiplication matricielle », a déclaré Medini.

    « Ça n’aurait eu aucun sens d’implémenter notre algorithme sur TensorFlow ou PyTorch parce que la première chose qu’ils voudront faire c’est convertir ce que vous faites en un problème de multiplication matricielle » et « c’est précisément ce dont nous voulions nous éloigner. Nous avons donc écrit notre propre code C++ en partant de zéro », a jouté Chen.

    Les chercheurs précisent cependant que leur méthode a un talon d’Achille qui est lié à la quantité de mémoire disponible : « nous avons besoin d’une grande mémoire », or au niveau du CPU « il y a une hiérarchie des caches en mémoire principale, si vous n’y faites pas attention, vous pouvez rencontrer un problème appelé “cache thrashing” ». C’est à ce niveau que les ingénieurs d’Intel ont apporté tout leur savoir-faire et permis d’adresser ce problème, les chercheurs notant une amélioration d’environ 50 % de leurs résultats grâce à l'aide de ces derniers.

    Selon Shrivastava, le projet SLIDE n’en est encore qu’à ses débuts : « Nous n’avons fait qu’effleurer la surface » et « Il y a encore beaucoup de choses à optimiser. Nous n’avons pas utilisé la vectorisation, par exemple, ou des accélérateurs intégrés dans le CPU, comme Intel Deep Learning Boost. Il y a beaucoup d’autres astuces que nous pourrions encore utiliser pour rendre cela encore plus rapide ».

    Source : Projet SLIDE (PDF)

    Et vous ?

    Qu’en pensez-vous ?

    Voir aussi

    Introduction au deep learning et aux réseaux de mémoire à long terme
    Qu'est-ce que le deep learning ? Les outils et connaissances de base requises, un tutoriel de Laurent Rosenfeld
    Deep Learning avec TensorFlow, un livre d'Aurélien Géron, critique par Thibaut Cuvelier

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 118
    Points : 176
    Points
    176

Discussions similaires

  1. Réponses: 44
    Dernier message: 29/07/2015, 17h45
  2. Réponses: 6
    Dernier message: 21/01/2011, 10h25
  3. Réponses: 5
    Dernier message: 18/01/2011, 12h06
  4. Réponses: 9
    Dernier message: 01/10/2010, 18h50
  5. Réponses: 1
    Dernier message: 31/01/2007, 12h49

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