Le immagini delle macchine virtuali di deep learning fornite con VMware Private AI Foundation with NVIDIA sono preconfigurate con le librerie, i framework e i toolkit ML più comuni e sono ottimizzate e convalidate da NVIDIA e VMware per l'accelerazione della GPU in un ambiente VMware Cloud Foundation.
I data scientist possono utilizzare le macchine virtuali di deep learning fornite da queste immagini per la prototipazione, l'ottimizzazione, la convalida e l'inferenza di AI.
Lo stack software per l'esecuzione di applicazioni AI oltre alle GPU NVIDIA viene convalidato in anticipo. Di conseguenza, è possibile avviare direttamente lo sviluppo di AI senza perdere tempo per l'installazione e la convalida della compatibilità di sistemi operativi, librerie software, framework ML, toolkit e driver GPU.
Che cosa contiene un'immagine della macchina virtuale di deep learning?
L'immagine iniziale della macchina virtuale di deep learning contiene il software seguente. Per informazioni sulle versioni dei componenti in ogni versione dell'immagine della macchina virtuale di deep learning, vedere Note di rilascio di VMware Deep Learning VM.
Categoria del componente software | Componente software |
---|---|
Incorporato |
|
Può essere preinstallato automaticamente |
|
Libreria di contenuti per le immagini delle macchine virtuali di deep learning
Le immagini delle macchine virtuali di deep learning vengono fornite come modelli di macchine virtuali vSphere ospitati e pubblicati da VMware in una libreria di contenuti. È possibile utilizzare queste immagini per distribuire una macchina virtuale di deep learning mediante vSphere Client o VMware Aria Automation.
La libreria di contenuti con le immagini delle macchine virtuali di deep learning per VMware Private AI Foundation with NVIDIA è disponibile all'URL https://packages.vmware.com/dl-vm/lib.json. In un ambiente connesso, si crea una libreria di contenuti con sottoscrizione connessa a questo URL mentre in un ambiente disconnesso si crea una libreria di contenuti locale in cui vengono caricate le immagini scaricate dall'URL centrale.
Proprietà OVF delle macchine virtuali di deep learning
Quando si distribuisce una macchina virtuale di deep learning, è necessario compilare le proprietà della macchina virtuale personalizzate per automatizzare la configurazione del sistema operativo Linux, la distribuzione del driver guest della vGPU, nonché la distribuzione e la configurazione dei container NGC per i carichi di lavoro DL.
Categoria | Parametro | Descrizione |
---|---|---|
Proprietà del sistema operativo di base | instance-id | Obbligatorio. ID istanza univoco per la macchina virtuale. Un ID istanza identifica in modo univoco un'istanza. Quando un ID istanza viene modificato, cloud-init gestisce l'istanza come una nuova istanza ed esegue nuovamente il processo cloud-init. |
hostname | Obbligatorio. Nome host dell'appliance. | |
public-keys | Se specificato, l'istanza popola il valore authorized_keys di SSH dell'utente predefinito con questo valore. |
|
user-data | Un set di script o altri metadati che viene inserito nella macchina virtuale al momento del provisioning. Questa proprietà rappresenta lo script cloud-init effettivo. Questo valore deve essere codificato tramite base64.
|
|
password | Obbligatorio. Password dell'account utente vmware predefinito. | |
Installazione del driver vGPU |
vgpu-license | Obbligatorio. Token di configurazione del client NVIDIA vGPU. Il token viene salvato nel file /etc/nvidia/ClientConfigToken/client_configuration_token.tok. |
nvidia-portal-api-key | Obbligatorio in un ambiente connesso. Chiave API scaricata dal portale delle licenze NVIDIA. La chiave è necessaria per l'installazione del driver guest della vGPU. |
|
vgpu-fallback-version | Versione del driver guest della vGPU a cui eseguire il fallback se la versione del driver guest della vGPU non può essere stabilita utilizzando la chiave API di licenza immessa. | |
vgpu-url | Obbligatorio in un ambiente disconnesso. URL da cui scaricare il driver guest della vGPU. |
|
Automazione del carico di lavoro DL | registry-uri | Obbligatorio in un ambiente disconnesso o se si intende utilizzare un registro di container privato per evitare di scaricare immagini da Internet. URI di un registro di container privato con le immagini del container del carico di lavoro di deep learning. Obbligatorio se si fa riferimento a un registro privato in |
registry-user | Obbligatorio se si utilizza un registro di container privato che richiede l'autenticazione di base. | |
registry-passwd | Obbligatorio se si utilizza un registro di container privato che richiede l'autenticazione di base. | |
registry-2-uri | Obbligatorio se si utilizza un secondo registro di container privato basato su Docker e l'autenticazione di base necessaria. | |
registry-2-user | Obbligatorio se si utilizza un secondo registro di container privato. | |
registry-2-passwd | Obbligatorio se si utilizza un secondo registro di container privato. | |
image-oneliner |
Comando bash a una riga che viene eseguito al momento del provisioning della macchina virtuale. Questo valore deve essere codificato tramite base64. È possibile utilizzare questa proprietà per specificare il container del carico di lavoro DL che si desidera distribuire, ad esempio PyTorch o TensorFlow. Vedere Carichi di lavoro di deep learning in VMware Private AI Foundation with NVIDIA.
Nota: Se vengono specificati sia
user-data sia
image-oneliner , viene utilizzato il valore di
user-data .
|
|
docker-compose-uri |
URI del file di composizione di Docker. Obbligatorio se è necessario un file di composizione di Docker per avviare il container di carichi di lavoro DL. Questo valore deve essere codificato tramite base64. | |
config-json |
File di configurazione per più operazioni di accesso del registro dei container quando si utilizza un file di composizione di Docker. Questo valore deve essere codificato tramite base64. |
Assegnazione di un indirizzo IP statico a una macchina virtuale di deep learning in VMware Private AI Foundation with NVIDIA
Per impostazione predefinita, le immagini della macchina virtuale di deep learning sono configurate con l'assegnazione dell'indirizzo DHCP. Se si desidera distribuire una macchina virtuale di deep learning con un indirizzo IP statico direttamente in un cluster vSphere, è necessario aggiungere ulteriore codice alla sezione cloud-init.
Procedura
Esempio: Assegnazione di un indirizzo IP statico a un carico di lavoro di esempio CUDA
Per una macchina virtuale di deep learning di esempio con un carico di lavoro DL di esempio di CUDA:
Elemento macchina virtuale di deep learning | Valore di esempio |
---|---|
Immagine del carico di lavoro DL | nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8 |
Indirizzo IP | 10.199.118.245 |
Prefisso subnet | /25 |
Gateway | 10.199.118.253 |
Server DNS |
|
si specifica il codice cloud-init seguente:
I2Nsb3VkLWNvbmZpZwp3cml0ZV9maWxlczoKLSBwYXRoOiAvb3B0L2Rsdm0vZGxfYXBwLnNoCiAgcGVybWlzc2lvbnM6ICcwNzU1JwogIGNvbnRlbnQ6IHwKICAgICMhL2Jpbi9iYXNoCiAgICBkb2NrZXIgcnVuIC1kIG52Y3IuaW8vbnZpZGlhL2s4cy9jdWRhLXNhbXBsZTp2ZWN0b3JhZGQtY3VkYTExLjcuMS11Ymk4CgptYW5hZ2VfZXRjX2hvc3RzOiB0cnVlCiAKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHBsYW4vNTAtY2xvdWQtaW5pdC55YW1sCiAgICBwZXJtaXNzaW9uczogJzA2MDAnCiAgICBjb250ZW50OiB8CiAgICAgIG5ldHdvcms6CiAgICAgICAgdmVyc2lvbjogMgogICAgICAgIHJlbmRlcmVyOiBuZXR3b3JrZAogICAgICAgIGV0aGVybmV0czoKICAgICAgICAgIGVuczMzOgogICAgICAgICAgICBkaGNwNDogZmFsc2UgIyBkaXNhYmxlIERIQ1A0CiAgICAgICAgICAgIGFkZHJlc3NlczogWzEwLjE5OS4xMTguMjQ1LzI1XSAgIyBTZXQgdGhlIHN0YXRpYyBJUCBhZGRyZXNzIGFuZCBtYXNrCiAgICAgICAgICAgIHJvdXRlczoKICAgICAgICAgICAgICAgIC0gdG86IGRlZmF1bHQKICAgICAgICAgICAgICAgICAgdmlhOiAxMC4xOTkuMTE4LjI1MyAjIENvbmZpZ3VyZSBnYXRld2F5CiAgICAgICAgICAgIG5hbWVzZXJ2ZXJzOgogICAgICAgICAgICAgIGFkZHJlc3NlczogWzEwLjE0Mi43LjEsIDEwLjEzMi43LjFdICMgUHJvdmlkZSB0aGUgRE5TIHNlcnZlciBhZGRyZXNzLiBTZXBhcmF0ZSBtdWxpdHBsZSBETlMgc2VydmVyIGFkZHJlc3NlcyB3aXRoIGNvbW1hcy4KIApydW5jbWQ6CiAgLSBuZXRwbGFuIGFwcGx5
che corrisponde allo script seguente in formato testo normale:
#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