Interrogez-nous, nous vous répondrons !

Comment exécuter le benchmark DeepLearning

L'exécution de tests sur des serveurs d'apprentissage automatique n'est pas la tâche la plus simple. Les tests les plus répandus sont MLperf, ai-benchmark et deeplearning-benchmark. Le premier est un ensemble de tests destinés aux fabricants d'équipements, et non aux utilisateurs ordinaires. Par conséquent, l'exécution des tests de la suite MLperf nécessite des connaissances approfondies en programmation et une expérience des applications conteneurisées.

Le second benchmark mentionné ci-dessus est un peu plus simple, mais il y a certaines nuances dues à ses instructions d'installation obsolètes. Le paquet tensorflow-gpu est déclaré comme "deprecated", et la commande pip install tensorflow[and-cuda] continue de produire des erreurs d'initialisation. Par conséquent, nous allons nous concentrer sur le troisième benchmark. Tout d'abord, mettons à jour le cache des paquets et installons automatiquement les pilotes GPU. Ces instructions s'appliquent à Ubuntu 22.04.

Conditions préalables

Mise à jour du système

sudo apt update && sudo apt -y upgrade && sudo apt ubuntu-drivers autoinstall

Redémarrer le serveur :

sudo shutdown -r now

Ajout de dépôts

Comme le paquet nvidia-container-toolkit et ses dépendances ne font pas partie du dépôt standard, vous allez ajouter un dépôt séparé conformément au guide de NVIDIA®:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

Mettre à jour le cache des paquets :

sudo apt-get update

Docker et NVIDIA® Container Toolkit

Installez le moteur Docker et NVIDIA® Container Toolkit :

sudo apt-get install docker.io nvidia-container-toolkit

Pour éviter d'utiliser sudo à chaque fois avec Docker, ajoutez l'utilisateur au groupe approprié et créez-le :

sudo usermod -aG docker $USER
newgrp docker

Préparer un conteneur

Ensuite, vous devrez télécharger une image de conteneur préparée à partir du NVIDIA® Container Registry, nommée pytorch:22.10-py3. Pour éviter d'avoir à le taper à chaque fois, utilisons la capacité de l'interpréteur de commandes à créer des variables. Assignons cette valeur à la variable NAME_NGC™ :

export NAME_NGC=pytorch:22.10-py3

Maintenant, extrayez l'image du registre à l'aide de la variable créée :

docker pull nvcr.io/nvidia/${NAME_NGC}

Une fois que l'image du conteneur est sur le serveur, vous devez télécharger le contenu de deux dépôts. Clonez le premier dépôt avec les exemples de code et passez à la branche dont nous avons besoin :

git clone https://github.com/LambdaLabsML/DeepLearningExamples.git && \
cd DeepLearningExamples && \
git checkout lambda/benchmark && \
cd ..

Clonez le second dépôt, qui contient l'implémentation PyTorch du code de référence :

git clone https://github.com/lambdal/deeplearning-benchmark.git && \
cd deeplearning-benchmark/pytorch

Lancer le conteneur créé, en montant simultanément les répertoires nécessaires et en appelant le script pour préparer l'ensemble de données. Cette commande peut prendre environ une demi-heure, alors soyez patient et attendez qu'elle se termine :

docker run --gpus all --rm --shm-size=64g \
  -v ~/DeepLearningExamples/PyTorch:/workspace/benchmark \
  -v ~/data:/data \
  -v $(pwd)"/scripts":/scripts \
  nvcr.io/nvidia/${NAME_NGC} \
  /bin/bash -c "cp -r /scripts/* /workspace;  ./run_prepare.sh"

Exécuter le test de référence

Enfin, exécutez les tests de référence. Le répertoire /deeplearning-benchmark/pytorch/scripts/ contient de nombreuses configurations typiques. Vous pouvez choisir l'une d'entre elles ou créer la vôtre, la plus adaptée à la configuration actuelle du serveur. Pour cet exemple, nous avons utilisé la configuration 4xA100_SXM4_80GB_v1:

docker run \
  --rm --shm-size=128g \
  --gpus all \
  -v ~/DeepLearningExamples/PyTorch:/workspace/benchmark \
  -v ~/data:/data \
  -v $(pwd)"/scripts":/scripts \
  -v $(pwd)"/results":/results \
  nvcr.io/nvidia/${NAME_NGC} \
  /bin/bash -c "cp -r /scripts/* /workspace; ./run_benchmark.sh 4xA100_SXM4_80GB_v1 all 1500"

Une fois les benchmarks terminés, vous trouverez les résultats des tests dans le répertoire du même nom. Vous pouvez également utiliser des scripts supplémentaires pour les convertir dans d'autres formats.

Voir aussi :



Mis à jour: 28.03.2025

Publié: 24.07.2024


Des questions ? Écrivez-nous!

By clicking «I Accept» you confirm that you have read and accepted the website Terms and Conditions, Privacy Policy, and Moneyback Policy.