Les images de machine virtuelle à apprentissage profond fournies dans le cadre de VMware Private AI Foundation with NVIDIA sont préconfigurées avec les bibliothèques ML, infrastructures et kit d'outils populaires, et sont optimisées et validées par NVIDIA et VMware pour l'accélération par GPU dans un environnement VMware Cloud Foundation.
Les scientifiques de données peuvent utiliser les machines virtuelles à apprentissage profond provisionnées à partir de ces images pour le prototypage, le réglage fin, la validation et l'inférence de l'IA.
La pile logicielle pour l'exécution d'applications d'IA au-dessus des GPU NVIDIA est validée à l'avance. Par conséquent, démarrez directement le développement de l'IA, sans passer de temps à installer et à valider la compatibilité des systèmes d'exploitation, des bibliothèques logicielles, des infrastructures ML, des kits d'outils et des pilotes GPU.
Que contient une image de VM à apprentissage profond ?
L'image initiale de machine virtuelle à apprentissage profond contient le logiciel suivant. Pour plus d'informations sur les versions des composants dans chaque version d'image de VM à apprentissage profond, reportez-vous à la section Notes de mise à jour de VMware Deep Learning VM.
Catégorie de composant logiciel | Composant logiciel |
---|---|
Intégrée |
|
Peut être préinstallé automatiquement |
|
Bibliothèque de contenu pour les images de VM à apprentissage profond
Les images de VM à apprentissage profond sont fournies comme modèles de VM vSphere, hébergées et publiées par VMware dans une bibliothèque de contenu. Vous pouvez utiliser ces images pour déployer une VM à apprentissage profond à l'aide de vSphere Client ou de VMware Aria Automation.
La bibliothèque de contenu avec des images de VM à apprentissage profond pour VMware Private AI Foundation with NVIDIA est disponible sur l'URL https://packages.vmware.com/dl-vm/lib.json. Dans un environnement connecté, créez une bibliothèque de contenu abonnée connectée à cette URL et, dans un environnement déconnecté, une bibliothèque de contenu locale dans laquelle vous chargez des images téléchargées à partir de l'URL centrale.
Propriétés OVF des VM à apprentissage profond
Lorsque vous déployez une VM à apprentissage profond, vous devez remplir des propriétés de VM personnalisées pour automatiser la configuration du système d'exploitation Linux, le déploiement du pilote invité vGPU, ainsi que le déploiement et la configuration de conteneurs NGC pour les charges de travail DL.
Catégorie | Paramètre | Description |
---|---|---|
Propriétés du système d'exploitation de base | instance-id | Requis. ID d'instance unique de l'instance de VM. Un ID d'instance identifie de manière unique une instance. Lorsqu'un ID d'instance change, cloud-init traite l'instance comme une nouvelle instance et réexécute le processus cloud-init. |
hostname | Requis. Nom d'hôte du dispositif. | |
public-keys | Si ce paramètre est fourni, l'instance renseigne le authorized_keys SSH de l'utilisateur par défaut avec cette valeur. |
|
user-data | Ensemble de scripts ou d'autres métadonnées qui sont insérés dans la VM lors du provisionnement. Cette propriété est le script cloud-init réel. Cette valeur doit être codée en base64.
|
|
password | Requis. Mot de passe du compte d'utilisateur vmware par défaut. | |
Installation du pilote vGPU |
vgpu-license | Requis. Jeton de configuration du client NVIDIA vGPU. Le jeton est enregistré dans le fichier /etc/nvidia/ClientConfigToken/client_configuration_token.tok. |
nvidia-portal-api-key | Requis dans un environnement connecté. Clé API que vous avez téléchargée à partir du portail de licences NVIDIA. La clé est requise pour l'installation du pilote invité vGPU. |
|
vgpu-fallback-version | Version du pilote invité vGPU à laquelle revenir si la version du pilote invité vGPU ne peut pas être déterminée à l'aide de la clé API de licence entrée. | |
vgpu-url | Requis dans un environnement déconnecté. URL à partir de laquelle télécharger le pilote invité vGPU. |
|
Automatisation de la charge de travail DL | registry-uri | Requis dans un environnement déconnecté ou si vous prévoyez d'utiliser un registre de conteneur privé pour éviter de télécharger des images depuis Internet. URI d'un registre de conteneur privé avec les images de conteneur de charges de travail d'apprentissage profond. Requis si vous faites référence à un registre privé dans |
registry-user | Requis si vous utilisez un registre de conteneur privé qui nécessite une authentification de base. | |
registry-passwd | Requis si vous utilisez un registre de conteneur privé qui nécessite une authentification de base. | |
registry-2-uri | Requis si vous utilisez un deuxième registre de conteneur privé basé sur Docker et l'authentification de base requise. | |
registry-2-user | Requis si vous utilisez un deuxième registre de conteneur privé. | |
registry-2-passwd | Requis si vous utilisez un deuxième registre de conteneur privé. | |
image-oneliner |
Commande bash sur une ligne exécutée lors du provisionnement de VM. Cette valeur doit être codée en base64. Vous pouvez utiliser cette propriété pour spécifier le conteneur de charges de travail DL à déployer, tel que PyTorch ou TensorFlow. Reportez-vous à la section Charges de travail d'apprentissage profond dans VMware Private AI Foundation with NVIDIA.
Note : Si
user-data et
image-oneliner sont fournis, la valeur de
user-data est utilisée.
|
|
docker-compose-uri |
URI du fichier de composition Docker. Requis si vous avez besoin d'un fichier de composition Docker pour démarrer le conteneur de charges de travail DL. Cette valeur doit être codée en base64. | |
config-json |
Fichier de configuration pour plusieurs opérations de connexion au registre de conteneur lors de l'utilisation d'un fichier de composition Docker. Cette valeur doit être codée en base64. |
Attribuer une adresse IP statique à une VM à apprentissage profond dans VMware Private AI Foundation with NVIDIA
Par défaut, les images de VM à apprentissage profond sont configurées avec l'attribution d'adresses DHCP. Pour déployer une VM à apprentissage profond avec une adresse IP statique directement sur un cluster vSphere, vous devez ajouter du code supplémentaire à la section cloud-init.
Procédure
Exemple : Attribution d'une adresse IP statique à un exemple de charge de travail CUDA
Pour obtenir un exemple de VM à apprentissage profond avec une charge de travail DL Exemple CUDA :
Élément VM à apprentissage profond | Valeur d'exemple |
---|---|
Image de charge de travail DL | nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8 |
Adresse IP | 10.199.118.245 |
Préfixe de sous-réseau | /25 |
Passerelle | 10.199.118.253 |
Serveurs DNS |
|
fournissez le code cloud-init suivant :
I2Nsb3VkLWNvbmZpZwp3cml0ZV9maWxlczoKLSBwYXRoOiAvb3B0L2Rsdm0vZGxfYXBwLnNoCiAgcGVybWlzc2lvbnM6ICcwNzU1JwogIGNvbnRlbnQ6IHwKICAgICMhL2Jpbi9iYXNoCiAgICBkb2NrZXIgcnVuIC1kIG52Y3IuaW8vbnZpZGlhL2s4cy9jdWRhLXNhbXBsZTp2ZWN0b3JhZGQtY3VkYTExLjcuMS11Ymk4CgptYW5hZ2VfZXRjX2hvc3RzOiB0cnVlCiAKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHBsYW4vNTAtY2xvdWQtaW5pdC55YW1sCiAgICBwZXJtaXNzaW9uczogJzA2MDAnCiAgICBjb250ZW50OiB8CiAgICAgIG5ldHdvcms6CiAgICAgICAgdmVyc2lvbjogMgogICAgICAgIHJlbmRlcmVyOiBuZXR3b3JrZAogICAgICAgIGV0aGVybmV0czoKICAgICAgICAgIGVuczMzOgogICAgICAgICAgICBkaGNwNDogZmFsc2UgIyBkaXNhYmxlIERIQ1A0CiAgICAgICAgICAgIGFkZHJlc3NlczogWzEwLjE5OS4xMTguMjQ1LzI1XSAgIyBTZXQgdGhlIHN0YXRpYyBJUCBhZGRyZXNzIGFuZCBtYXNrCiAgICAgICAgICAgIHJvdXRlczoKICAgICAgICAgICAgICAgIC0gdG86IGRlZmF1bHQKICAgICAgICAgICAgICAgICAgdmlhOiAxMC4xOTkuMTE4LjI1MyAjIENvbmZpZ3VyZSBnYXRld2F5CiAgICAgICAgICAgIG5hbWVzZXJ2ZXJzOgogICAgICAgICAgICAgIGFkZHJlc3NlczogWzEwLjE0Mi43LjEsIDEwLjEzMi43LjFdICMgUHJvdmlkZSB0aGUgRE5TIHNlcnZlciBhZGRyZXNzLiBTZXBhcmF0ZSBtdWxpdHBsZSBETlMgc2VydmVyIGFkZHJlc3NlcyB3aXRoIGNvbW1hcy4KIApydW5jbWQ6CiAgLSBuZXRwbGFuIGFwcGx5
qui correspond au script suivant au format texte brut :
#cloud-config write_files: - path: /opt/dlvm/dl_app.sh permissions: '0755' content: | #!/bin/bash docker run -d nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8 manage_etc_hosts: true write_files: - path: /etc/netplan/50-cloud-init.yaml permissions: '0600' content: | network: version: 2 renderer: networkd ethernets: ens33: dhcp4: false # disable DHCP4 addresses: [10.199.118.245/25] # Set the static IP address and mask routes: - to: default via: 10.199.118.253 # Configure gateway nameservers: addresses: [10.142.7.1, 10.132.7.1] # Provide the DNS server address. Separate mulitple DNS server addresses with commas. runcmd: - netplan apply