Vous pouvez provisionner une machine virtuelle à apprentissage profond avec une charge de travail d'apprentissage profond (DL) prise en charge en plus de ses composants intégrés. Les charges de travail DL sont téléchargées à partir du catalogue NVIDIA NGC et sont optimisées pour le GPU et validées par NVIDIA et VMware by Broadcom.
Pour obtenir une présentation des images de VM à apprentissage profond, reportez-vous à la section À propos des images de VM à apprentissage profond dans VMware Private AI Foundation with NVIDIA.
Exemple CUDA
Vous pouvez utiliser une VM à apprentissage profond avec des exemples CUDA en cours d'exécution pour explorer l'ajout de vecteurs, la simulation gravitationnelle à N corps ou d'autres exemples sur une VM. Reportez-vous à la page Exemples CUDA.
Une fois la VM à apprentissage profond lancée, elle exécute une charge de travail d'exemples CUDA pour tester le pilote invité vGPU. Vous pouvez examiner la sortie de test dans le fichier /var/log/dl.log.
Composant | Description |
---|---|
Image de conteneur | nvcr.io/nvidia/k8s/cuda-sample:ngc_image_tagPar exemple : nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8 Pour plus d'informations sur les images du conteneur d'exemples CUDA qui sont prises en charge pour les VM à apprentissage profond, reportez-vous à la section Notes de mise à jour de VMware Deep Learning VM. |
Entrées requises | Pour déployer une charge de travail d'exemples CUDA, vous devez définir les propriétés OVF de la machine virtuelle à apprentissage profond de la manière suivante :
Reportez-vous à la section Propriétés OVF des VM à apprentissage profond. |
Sortie |
|
PyTorch
Vous pouvez utiliser une VM à apprentissage profond avec une bibliothèque PyTorch pour découvrir l'IA conversationnelle, le traitement automatique des langues (NLP, Natural language processing) et d'autres types de modèles d'IA sur une VM. Reportez-vous à la page PyTorch.
Une fois la VM à apprentissage profond lancée, elle démarre une instance de JupyterLab sur laquelle les modules PyTorch sont installés et configurés.
Composant | Description |
---|---|
Image de conteneur | nvcr.io/nvidia/pytorch:ngc_image_tagPar exemple : nvcr.io/nvidia/pytorch:23.10-py3 Pour plus d'informations sur les images de conteneur PyTorch prises en charge pour les VM à apprentissage profond, reportez-vous à la section Notes de mise à jour de VMware Deep Learning VM. |
Entrées requises | Pour déployer une charge de travail PyTorch, vous devez définir les propriétés OVF de la machine virtuelle à apprentissage profond de la manière suivante :
Reportez-vous à la section Propriétés OVF des VM à apprentissage profond. |
Sortie |
|
TensorFlow
Vous pouvez utiliser une VM à apprentissage profond avec une bibliothèque TensorFlow pour découvrir l'IA conversationnelle, le NLP et d'autres types de modèles d'IA sur une VM. Reportez-vous à la page TensorFlow.
Une fois la VM à apprentissage profond lancée, elle démarre une instance de JupyterLab sur laquelle les modules TensorFlow sont installés et configurés.
Composant | Description |
---|---|
Image de conteneur | nvcr.io/nvidia/tensorflow:ngc_image_tag Par exemple : nvcr.io/nvidia/tensorflow:23.10-tf2-py3 Pour plus d'informations sur les images de conteneur TensorFlow prises en charge pour les VM à apprentissage profond, reportez-vous à la section Notes de mise à jour de VMware Deep Learning VM. |
Entrées requises | Pour déployer une charge de travail TensorFlow, vous devez définir les propriétés OVF de la machine virtuelle à apprentissage profond de la manière suivante :
Reportez-vous à la section Propriétés OVF des VM à apprentissage profond. |
Sortie |
|
Exportateur DCGM
Vous pouvez utiliser une VM à apprentissage profond avec l'exportateur Data Center GPU Manager (DCGM) pour surveiller la santé des GPU et obtenir des mesures de ceux-ci qui sont utilisés par une charge de travail DL, à l'aide de NVIDIA DCGM, Prometheus et Grafana.
Reportez-vous à la page Exportateur DCGM.
Dans une VM à apprentissage profond, exécutez le conteneur de l'exportateur DCGM avec une charge de travail DL qui effectue des opérations d'IA. Une fois la VM à apprentissage profond démarrée, l'exportateur DCGM est prêt à collecter des mesures de vGPU et à exporter les données vers une autre application pour une surveillance et une visualisation accrues. Vous pouvez exécuter la charge de travail DL surveillée dans le cadre du processus cloud-init ou à partir de la ligne de commande après le démarrage de la machine virtuelle.
Composant | Description |
---|---|
Image de conteneur | nvcr.io/nvidia/k8s/dcgm-exporter:ngc_image_tag Par exemple : nvcr.io/nvidia/k8s/dcgm-exporter:3.2.5-3.1.8-ubuntu22.04 Pour plus d'informations sur les images de conteneur de l'exportateur DCGM qui sont prises en charge pour les VM à apprentissage profond, reportez-vous à la section Notes de mise à jour de VMware Deep Learning VM. |
Entrées requises | Pour déployer une charge de travail de l'exportateur DCGM, vous devez définir les propriétés OVF de la machine virtuelle à apprentissage profond de la manière suivante :
Reportez-vous à la section Propriétés OVF des VM à apprentissage profond. |
Sortie |
Ensuite, dans la VM à apprentissage profond, exécutez une charge de travail DL et visualisez les données sur une autre machine virtuelle à l'aide de Prometheus à l'adresse http://visualization_vm_ip:9090 et Grafana à l'adresse http://visualization_vm_ip:3000. |
Exécuter une charge de travail DL sur la VM à apprentissage profond
Exécutez la charge de travail DL pour laquelle vous souhaitez collecter des mesures vGPU et exportez les données vers une autre application pour une surveillance et une visualisation accrues.
- Connectez-vous à la VM à apprentissage profond en tant que vmware via SSH.
- Ajoutez le compte d'utilisateur vmware au groupe docker en exécutant la commande suivante.
sudo usermod -aG docker ${USER}
- Exécutez le conteneur pour la charge de travail DL, en l'extrayant du catalogue NVIDIA NGC ou d'un registre de conteneur local.
Par exemple, pour exécuter la commande suivante afin de lancer l'image tensorflow:23.10-tf2-py3 à partir de NVIDIA NGC :
docker run -d -p 8888:8888 nvcr.io/nvidia/tensorflow:23.10-tf2-py3 /usr/local/bin/jupyter lab --allow-root --ip=* --port=8888 --no-browser --NotebookApp.token='' --NotebookApp.allow_origin='*' --notebook-dir=/workspace
- Utilisez la charge de travail DL pour le développement de l'IA.
Installer Prometheus et Grafana
Vous pouvez visualiser et surveiller les mesures vGPU à partir de la machine virtuelle de l'exportateur DCGM sur une machine virtuelle exécutant Prometheus et Grafana.
- Créez une VM de visualisation sur laquelle Docker Community Engine est installé.
- Connectez-vous à la VM via SSH et créez un fichier YAML pour Prometheus.
$ cat > prometheus.yml << EOF global: scrape_interval: 15s external_labels: monitor: 'codelab-monitor' scrape_configs: - job_name: 'dcgm' scrape_interval: 5s metrics_path: /metrics static_configs: - targets: [dl_vm_with_dcgm_exporter_ip:9400'] EOF
- Créez un chemin de données.
$ mkdir grafana_data prometheus_data && chmod 777 grafana_data prometheus_data
- Créez un fichier de composition Docker pour installer Prometheus et Grafana.
$ cat > compose.yaml << EOF services: prometheus: image: prom/prometheus:v2.47.2 container_name: "prometheus0" restart: always ports: - "9090:9090" volumes: - "./prometheus.yml:/etc/prometheus/prometheus.yml" - "./prometheus_data:/prometheus" grafana: image: grafana/grafana:10.2.0-ubuntu container_name: "grafana0" ports: - "3000:3000" restart: always volumes: - "./grafana_data:/var/lib/grafana" EOF
- Démarrez les conteneurs Prometheus et Grafana.
$ sudo docker compose up -d
Afficher les mesures vGPU dans Prometheus
Vous pouvez accéder à Prometheus à l'adresse http://visualization-vm-ip:9090. Vous pouvez afficher les informations de vGPU suivantes dans l'interface utilisateur de Prometheus :
Informations | Section de l'interface utilisateur |
---|---|
Mesures de vGPU brutes de la VM à apprentissage profond | Pour afficher les mesures vGPU brutes de la VM à apprentissage profond, cliquez sur l'entrée du point de terminaison. |
Expressions graphiques |
|
Pour plus d'informations sur l'utilisation de Prometheus, reportez-vous à la documentation de Prometheus.
Visualiser les mesures dans Grafana
Définissez Prometheus comme source de données pour Grafana et visualisez les mesures vGPU à partir de la VM à apprentissage profond dans un tableau de bord.
- Accédez à Grafana à l'adresse http://visualization-vm-ip:3000 en utilisant par défaut le nom d'utilisateur admin et le mot de passe
admin
. - Ajoutez Prometheus comme première source de données, en vous connectant à visualization-vm-ip sur le port 9090.
- Créez un tableau de bord avec les mesures vGPU.
Pour plus d'informations sur la configuration d'un tableau de bord à l'aide d'une source de données Prometheus, reportez-vous à la documentation de Grafana.
Serveur d'inférence Triton
Vous pouvez utiliser une VM à apprentissage profond avec un serveur d'inférence Triton pour charger un référentiel de modèles et recevoir des demandes d'inférence.
Reportez-vous à la page Serveur d'inférence Triton.
Composant | Description |
---|---|
Image de conteneur | nvcr.io/nvidia/tritonserver:ngc_image_tag Par exemple : nvcr.io/nvidia/tritonserver:23.10-py3 Pour plus d'informations sur les images de conteneur du serveur d'inférence Triton prises en charge pour les VM à apprentissage profond, reportez-vous à la section Notes de mise à jour de VMware Deep Learning VM. |
Entrées requises | Pour déployer une charge de travail du serveur d'inférence Triton, vous devez définir les propriétés OVF de la machine virtuelle à apprentissage profond de la manière suivante :
Reportez-vous à la section Propriétés OVF des VM à apprentissage profond. |
Sortie |
Le référentiel de modèles du serveur d'inférence Triton se trouve dans /home/vmware/model_repository. Initialement, le référentiel de modèles est vide et le journal initial de l'instance du serveur d'inférence Triton indique qu'aucun modèle n'est chargé. |
Créer un référentiel de modèles
Pour charger votre modèle de l'inférence, procédez comme suit :
- Créez le référentiel de votre modèle.
Reportez-vous à la documentation du référentiel de modèles du serveur d'inférence Triton de NVIDIA.
- Copiez le référentiel de modèles dans
/home/vmware/model_repository
afin que le serveur d'inférence Triton puisse le charger.sudo cp -r path_to_your_created_model_repository/* /home/vmware/model_repository/
Envoyer des demandes d'inférence de modèles
- Vérifiez que le serveur d'inférence Triton est sain et que les modèles sont prêts en exécutant cette commande dans la console de VM à apprentissage profond.
curl -v localhost:8000/v2/simple_sequence
- Envoyez une demande au modèle en exécutant cette commande sur la VM à apprentissage profond.
curl -v localhost:8000/v2/models/simple_sequence
Pour plus d'informations sur l'utilisation du serveur d'inférence Triton, reportez-vous à la documentation du référentiel de modèles du serveur d'inférence Triton de NVIDIA.
NVIDIA RAG
Vous pouvez utiliser une VM à apprentissage profond pour créer des solutions de génération augmentée de récupération (RAG) avec un modèle Llama2.
Reportez-vous à la documentation Agent conversationnel basé sur l'IA avec génération augmentée de récupération.
Composant | Description |
---|---|
Images et modèles de conteneur | rag-app-text-chatbot.yamldans l'exemple de pipeline NVIDIA RAG. Pour plus d'informations sur les applications de conteneur NVIDIA RAG prises en charge pour les VM à apprentissage profond, reportez-vous à la section Notes de mise à jour de VMware Deep Learning VM. |
Entrées requises | Pour déployer une charge de travail NVIDIA RAG, vous devez définir les propriétés OVF de la machine virtuelle à apprentissage profond de la manière suivante :
Reportez-vous à la section Propriétés OVF des VM à apprentissage profond. |
Sortie |
|