GPU, l’accélérateur de la solution NVIDIA

Publié le dans seminar-past

Gunter Roeth est architecte de solution, il a travaillé chez HP, Sun Microsystem puis Bull, avant de rejoindre en octobre 2014 NVIDIA. Il possède un DEA de géophysique de l’Institut de Physique du Globe (IPG) à Paris et une thèse en sismologie sur l’utilisation des réseaux de neurones (intelligence artificielle) pour l’interprétation des données géophysique.Gunter Roeth était le conférencier du séminaire big data le 26 févier dernier. Il a axé son intervention sur le fonctionnement des architectures CPU et GPU, le rôle des réseaux de neurones pour l’analyse du big data grâce au système d’accélérateur GPU, les propriétés des réseaux de neurones (apprentissage,…), les solutions NVIDIA (cartes, librairies, logiciels).

En 1999, NVIDIA a inventé le processeur graphique (GPU), qui révolutionna les jeux vidéo dans un premier temps, puis, de nombreux champs d'application professionnels comme la production cinématographique, la conception de produits, les procédures de diagnostic médical et la recherche scientifique. Par ailleurs, les GPU ont prouvé leur utilité dans de nouveaux domaines comme la vision par ordinateur, la réalité augmentée ou l’apprentissage automatique.

GPU vs CPU

Pour comprendre les différences fondamentales entre un CPU et un GPU, il suffit de comparer leur manière de traiter chaque opération. Les CPU incluent un nombre restreint de cœurs optimisés pour le traitement en série, alors que les GPU intègrent des milliers de cœurs conçus pour traiter efficacement de nombreuses tâches simultanées. Le GPU accélère les portions de code les plus lourdes en ressources de calcul, le reste de l'application restant affecté au CPU. Les applications des utilisateurs s'exécutent ainsi bien plus rapidement.

Pour une explication en image, regardez la vidéo suivante

En 2012, une équipe de Toronto surclassa un Challenge de classification d’images en Machine Learning en étant les premiers à entraîner leur réseau de neurones sur des GPUs NVIDIA.

Le GPU est depuis devenu une plateforme incontournable du Machine Learning et plus précisément du Deep Learning, comme en témoigne l’adoption des GPUs par les leaders dans le domaine : Facebook, Baidu, NetFlix, Yandex, IBM, Flickr, Denso, ou encore les universités de Berkeley et Standford, le MIT…

De la disponibilité des données

Aujourd’hui la problématique n’est plus d’obtenir des données en quantité suffisante mais de savoir comment analyser la masse de données fournie tous les jours par les « early big data narrative » à travers des réseaux sociaux comme Facebook, avec 35 millions de photos chargées tous les jours, ou YouTube avec 100 heures de vidéos téléchargées toutes les minutes.

Les réseaux des neurones permettent, grâce aux accélérateurs GPU, d’analyser ces mégadonnées, constituées d’images, de vidéos, de sons, de textes… en un temps record. Une fois entraînés, ils permettent de détecter et de classer des images, des objets, de traduire à la volée une langue (Skype)…

Les 3 principaux Framework utilisés dans Deep Learning sont :

  • Caffe (Framework d’apprentissage automatique, spécialisé dans l’image),
  • Torch (Framework de calcul scientifique),
  • Theano (Compilateur d’expression mathématique)...

L’ensemble de ces Framework tire désormais bénéfice des GPUs NVIDIA grâce à l’intégration de la librairie NVIDIA CuDNN.