• Home
  • Chimie
  • Astronomie
  • Énergie
  • La nature
  • Biologie
  • Physique
  • Électronique
  • La refonte de l'apprentissage en profondeur surmonte un obstacle majeur dans l'industrie de l'IA

    Anshumali Shrivastava de l'Université Rice a dirigé une équipe qui a démontré comment mettre en œuvre une technologie d'apprentissage en profondeur sans matériel d'accélération spécialisé comme les unités de traitement graphique. Crédit :Jeff Fitlow/Université Rice

    Les informaticiens de l'Université Rice ont surmonté un obstacle majeur dans l'industrie en plein essor de l'intelligence artificielle en montrant qu'il est possible d'accélérer la technologie d'apprentissage en profondeur sans matériel d'accélération spécialisé comme les unités de traitement graphique (GPU).

    Les informaticiens de Rice, soutenu par des collaborateurs d'Intel, présenteront leurs résultats aujourd'hui au Austin Convention Center dans le cadre de la conférence sur les systèmes d'apprentissage automatique MLSys.

    De nombreuses entreprises investissent massivement dans les GPU et autres matériels spécialisés pour mettre en œuvre l'apprentissage en profondeur, une puissante forme d'intelligence artificielle qui se cache derrière des assistants numériques comme Alexa et Siri, la reconnaissance faciale, systèmes de recommandation de produits et autres technologies. Par exemple, Nvidia, le fabricant des GPU Tesla V100 Tensor Core de référence du secteur, a récemment annoncé une augmentation de 41 % de ses revenus au quatrième trimestre par rapport à l'année précédente.

    Les chercheurs de Rice ont créé une alternative économique au GPU, un algorithme appelé « moteur d'apprentissage en profondeur sous-linéaire » (SLIDE) qui utilise des unités centrales de traitement (CPU) à usage général sans matériel d'accélération spécialisé.

    "Nos tests montrent que SLIDE est la première implémentation algorithmique intelligente d'apprentissage en profondeur sur CPU qui peut surpasser l'accélération matérielle GPU sur des ensembles de données de recommandation à l'échelle de l'industrie avec de grandes architectures entièrement connectées, " dit Anshumali Shrivastava, professeur adjoint à la Brown School of Engineering de Rice qui a inventé SLIDE avec les étudiants diplômés Beidi Chen et Tharun Medini.

    SLIDE n'a pas besoin de GPU car il adopte une approche fondamentalement différente de l'apprentissage en profondeur. La technique d'entraînement standard de "rétro-propagation" pour les réseaux de neurones profonds nécessite une multiplication matricielle, une charge de travail idéale pour les GPU. Avec SLIDE, Shrivastava, Chen et Medini ont transformé la formation en réseau de neurones en un problème de recherche qui pourrait plutôt être résolu avec des tables de hachage.

    Cela réduit radicalement la surcharge de calcul pour SLIDE par rapport à l'entraînement par rétro-propagation. Par exemple, une plateforme GPU haut de gamme comme celles d'Amazon, Google et d'autres proposent des services d'apprentissage en profondeur basés sur le cloud, qui disposent de huit Tesla V100 et coûtent environ 100 $, 000, dit Shrivastava.

    Nous en avons un dans le labo, et dans notre cas de test, nous avons pris une charge de travail parfaite pour le V100, un avec plus de 100 millions de paramètres en gros, des réseaux entièrement connectés qui tiennent dans la mémoire GPU, " a-t-il déclaré. " Nous l'avons entraîné avec le meilleur package (logiciel) disponible, TensorFlow de Google, et il a fallu 3 heures et demie pour s'entraîner.

    "Nous avons ensuite montré que notre nouvel algorithme peut faire la formation en une heure, pas sur des GPU mais sur un processeur de classe Xeon à 44 cœurs, " dit Shrivastava.

    Les réseaux d'apprentissage profond ont été inspirés par la biologie, et leur caractéristique centrale, neurones artificiels, sont de petits morceaux de code informatique qui peuvent apprendre à effectuer une tâche spécifique. Un réseau de deep learning peut contenir des millions voire des milliards de neurones artificiels, et en travaillant ensemble, ils peuvent apprendre à rendre le niveau humain, décisions d'experts simplement en étudiant de grandes quantités de données. Par exemple, si un réseau de neurones profonds est formé pour identifier des objets sur des photos, il utilisera des neurones différents pour reconnaître une photo d'un chat que pour reconnaître un autobus scolaire.

    "Vous n'avez pas besoin d'entraîner tous les neurones sur chaque cas, " a dit Medini. " Nous avons pensé, « Si nous voulons seulement sélectionner les neurones qui sont pertinents, alors c'est un problème de recherche.' Donc, algorithmiquement, l'idée était d'utiliser le hachage sensible à la localité pour s'éloigner de la multiplication matricielle."

    Le hachage 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, comme une chaîne de chiffres appelée hachage. Les tables de hachage sont des listes de hachages qui peuvent être recherchées très rapidement.

    "Cela n'aurait eu aucun sens d'implémenter notre algorithme sur TensorFlow ou PyTorch car la première chose qu'ils veulent faire est de convertir tout ce que vous faites en un problème de multiplication matricielle, " dit Chen. "C'est précisément ce dont nous voulions nous éloigner. Nous avons donc écrit notre propre code C++ à partir de zéro."

    Shrivastava a déclaré que le plus grand avantage de SLIDE par rapport à la rétro-propagation est qu'il s'agit de données parallèles.

    "Par parallèle de données, je veux dire que si j'ai deux instances de données sur lesquelles je veux m'entraîner, disons que l'un est une image d'un chat et l'autre d'un bus, ils activeront probablement différents neurones, et SLIDE peut mettre à jour, ou s'entraîner sur ces deux indépendamment, " dit-il. " C'est une bien meilleure utilisation du parallélisme pour les processeurs.

    "Le revers de la médaille, par rapport au GPU, est que nous avons besoin d'une grande mémoire, " il a dit. " Il y a une hiérarchie de cache dans la mémoire principale, et si vous ne faites pas attention, vous pouvez rencontrer un problème appelé cache thrashing, où vous obtenez beaucoup d'échecs de cache."

    Shrivastava a déclaré que les premières expériences de son groupe avec SLIDE ont produit un écrasement important du cache, mais leurs temps de formation étaient toujours comparables ou plus rapides que les temps de formation GPU. Donc il, Chen et Medini ont publié les premiers résultats sur arXiv en mars 2019 et ont téléchargé leur code sur GitHub. Quelques semaines plus tard, ils ont été contactés par Intel.

    "Nos collaborateurs d'Intel ont reconnu le problème de mise en cache, " a-t-il dit. " Ils nous ont dit qu'ils pourraient travailler avec nous pour le faire s'entraîner encore plus vite, et ils avaient raison. Nos résultats se sont améliorés d'environ 50 % avec leur aide."

    Shrivastava a déclaré que SLIDE n'était pas encore près d'atteindre son potentiel.

    "Nous venons de gratter la surface, " at-il dit. " Il y a beaucoup de choses que nous pouvons encore faire pour 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."

    Shrivastava a déclaré que SLIDE est important car il montre qu'il existe d'autres moyens de mettre en œuvre l'apprentissage en profondeur.

    « Tout le message est, "Ne soyons pas goulots d'étranglement par la matrice de multiplication et la mémoire GPU, ' », a déclaré Chen. « La nôtre est peut-être la première approche algorithmique à battre le GPU, mais j'espère que ce n'est pas le dernier. Le domaine a besoin de nouvelles idées, et c'est une grande partie de ce qu'est MLSys."


    © Science https://fr.scienceaq.com