Skip to main content
Non classé

PNY Pro Conseil #01 : Benchmark pour le Deep Learning en utilisant les GPU NVIDIA Cloud et Tensorflow (1ère partie)

By 3 February 2020January 16th, 2023No Comments

Posted by PNY Pro, May 03, 2019

En tant que passionné d’informatique, j’aime opposer les solutions matérielles les unes aux autres pour déterminer leurs performances relatives lors de l’exécution d’une tâche particulière.  Ce processus est également connu sous le nom de “Benchmarking”.  Les résultats de l’analyse comparative sont généralement considérés comme le meilleur outil pour évaluer les mérites des systèmes concurrents lors d’une décision d’achat.

Dans cette série de blogs en trois parties, nous allons discuter de la façon de construire un système, en mettant l’accent sur l’évaluation des performances des GPU pour l’apprentissage en profondeur en utilisant Ubuntu 18.04, NVIDIA GPU Cloud (NGC) et TensorFlow.

La série d’articles qui suivront se présenteront ainsi :

Partie Une:      Introduction

Part Deux:       Hardware Consideration

Part Trois:       Software Setup

La plupart des joueurs connaissent les outils de benchmarking tels que 3DMark et Unigene Superposition, tandis que les professionnels s’appuient sur des suites de confiance telles que SPECviewperf et PassMark. En ce qui concerne les critères d’évaluation de l’apprentissage approfondi, le “bâton de mesure” le plus connu est la formation d’un réseau neuronal ResNet-50 à l’aide de l’ensemble de données ImageNet, plus précisément l’ensemble de données ImageNet 2012 pour la classification des images.

Les entreprises axées sur l’apprentissage approfondi utilisent souvent cette mesure pour mesurer et comparer les performances de calcul.  Cette mesure est apparue dans un récent blog de NVIDIA qui comparait les performances de différents cadres de Deep Learning. Vous pouvez en apprendre davantage à ce sujet à l’adresse suivante : https://developer.nvidia.com/deep-learning-performance-training-inference 

Tip 12- NVIDIA

Le Deep Learning évolue rapidement, et cette mesure n’est donc pas une représentation complète des performances du Deep Learning.  Cependant, elle est utile et pertinente car elle nous donne une norme équitable pour comparer les résultats “images par seconde”.

Je dois noter que le Dr Kinghorn de Puget Systems, partenaire de PNY, a écrit sur ce sujet il y a un an ; ses blogs sont un guide utile pour les débutants et offrent également des conseils utiles pour les utilisateurs avancés.  Ses efforts sont vivement recommandés. Prenez le temps de lire son blog original en 5 parties :

https://www.pugetsystems.com/labs/hpc/How-To-Setup-NVIDIA-Docker-and-NGC-Registry-on-your-Workstation—Part-1-Introduction-and-Base-System-Setup-1095/

 

Introduction à NGC.

L’arme secrète pour construire ce benchmark de workflow est le NVIDIA GPU Cloud, ou NGC.

Le NGC est un registre de conteneurs Docker gratuit, une collection des meilleurs logiciels pour l’accélération de la science des données, l’apprentissage machine et l’analyse.  Les frameworks les plus populaires disponibles sur NGC sont TensorFlow, PyTorch, Caffe2 et bien d’autres.  Vous pouvez consulter le registre NGC en cliquant sur ce lien : https://ngc.nvidia.com/catalog, aucune inscription n’est requise.

Tip 12 - NGC

Alors, qu’est-ce qu’un conteneur ?  Selon Docker.com :

“Un conteneur est une unité standard de logiciel qui regroupe le code et toutes ses dépendances afin que l’application s’exécute rapidement et de manière fiable d’un environnement informatique à un autre. Une image de conteneur Docker est un ensemble de logiciels léger, autonome et exécutable qui comprend tout ce qui est nécessaire à l’exécution d’une application : code, temps d’exécution, outils système, bibliothèques système et paramètres”. https://www.docker.com/resources/what-container

Selon cette définition, un conteneur est un environnement logiciel contrôlé dans lequel tous les logiciels sont conçus pour fonctionner ensemble. En utilisant un conteneur Docker, vous vous assurez que votre environnement logiciel est cohérent entre les tests et sans erreur de dépendance entre les différentes bibliothèques.  Les conteneurs NGC ont l’avantage supplémentaire d’être optimisés, validés et accélérés par le GPU NVIDIA, ce qui leur permet de bien fonctionner avec les GPU NVIDIA.

Pourquoi devez-vous utiliser un système Linux ?  Actuellement, NGC ne fonctionne qu’avec Linux.
Avant de nous plonger dans les considérations matérielles dans le prochain blog, visitez le registre de NGC et faites-vous une idée de la gamme variée de conteneurs disponibles.  Ensuite, visitez la page d’accueil de l’intelligence artificielle de PNY pour plus d’informations sur la façon dont les GPU NVIDIA changent le monde.

http://www.pny.com/ai

Tip 12 PNY