È possibile eseguire il provisioning di una macchina virtuale di deep learning con un carico di lavoro di deep learning (DL) supportato oltre ai suoi componenti incorporati. I carichi di lavoro DL vengono scaricati dal catalogo NVIDIA NGC e sono ottimizzati per la GPU e convalidati da NVIDIA e VMware by Broadcom.
Per una panoramica delle immagini delle macchine virtuali di deep learning, vedere Informazioni sulle immagini delle macchine virtuali di deep learning in VMware Private AI Foundation with NVIDIA.
Esempio di CUDA
È possibile utilizzare una macchina virtuale di deep learning con esempi CUDA in esecuzione per esplorare l'aggiunta di un vettore, la simulazione gravitazionale di n-corpi o altri esempi in una macchina virtuale. Vedere la pagina Esempi di CUDA.
Dopo l'avvio, la macchina virtuale di deep learning esegue un carico di lavoro di esempio CUDA per testare il driver guest della vGPU. È possibile esaminare l'output del test nel file /var/log/dl.log.
Componente | Descrizione |
---|---|
Immagine del container | nvcr.io/nvidia/k8s/cuda-sample:ngc_image_tagAd esempio: nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8 Per informazioni sulle immagini di container di esempio CUDA supportate per le macchine virtuali di deep learning, vedere Note di rilascio di VMware Deep Learning VM. |
Input necessari | Per distribuire un carico di lavoro di esempio CUDA, è necessario impostare le proprietà OVF per la macchina virtuale di deep learning nel modo seguente:
Vedere Proprietà OVF delle macchine virtuali di deep learning. |
Output |
|
PyTorch
È possibile utilizzare una macchina virtuale di deep learning con una libreria PyTorch per esplorare AI conversazionale, l'elaborazione del linguaggio naturale (NLP) e altri tipi di modelli AI in una macchina virtuale. Vedere la pagina di PyTorch.
Dopo l'avvio, la macchina virtuale di deep learning avvia un'istanza di JupyterLab con i pacchetti PyTorch installati e configurati.
Componente | Descrizione |
---|---|
Immagine del container | nvcr.io/nvidia/pytorch:ngc_image_tagAd esempio: nvcr.io/nvidia/pytorch:23.10-py3 Per informazioni sulle immagini dei container PyTorch supportate per le macchine virtuali di deep learning, vedere Note di rilascio di VMware Deep Learning VM. |
Input necessari | Per distribuire un carico di lavoro PyTorch, è necessario impostare le proprietà OVF per la macchina virtuale di deep learning nel modo seguente:
Vedere Proprietà OVF delle macchine virtuali di deep learning. |
Output |
|
TensorFlow
È possibile utilizzare una macchina virtuale di deep learning con una libreria TensorFlow per esplorare AI conversazionale, l'elaborazione del linguaggio naturale (NLP) e altri tipi di modelli AI in una macchina virtuale. Vedere la pagina di TensorFlow.
Dopo l'avvio, la macchina virtuale di deep learning avvia un'istanza di JupyterLab con i pacchetti TensorFlow installati e configurati.
Componente | Descrizione |
---|---|
Immagine del container | nvcr.io/nvidia/tensorflow:ngc_image_tag Ad esempio: nvcr.io/nvidia/tensorflow:23.10-tf2-py3 Per informazioni sulle immagini del container TensorFlow supportate per le macchine virtuali di deep learning, vedere Note di rilascio di VMware Deep Learning VM. |
Input necessari | Per distribuire un carico di lavoro TensorFlow, è necessario impostare le proprietà OVF per la macchina virtuale di deep learning nel modo seguente:
Vedere Proprietà OVF delle macchine virtuali di deep learning. |
Output |
|
DCGM Exporter
È possibile utilizzare una macchina virtuale di deep learning con Data Center GPU Manager (DCGM) Exporter per monitorare l'integrità delle GPU e ottenerne le metriche utilizzate da un carico di lavoro DL, tramite NVIDIA DCGM, Prometheus e Grafana.
Vedere la pagina DCGM Exporter.
In una macchina virtuale di deep learning eseguire il container DCGM Exporter insieme a un carico di lavoro DL che esegue le operazioni di AI. Dopo l'avvio della macchina virtuale di deep learning, DCGM Exporter è pronto a raccogliere le metriche di vGPU ed esportare i dati in un'altra applicazione per ulteriore monitoraggio e visualizzazione. È possibile eseguire il carico di lavoro DL monitorato come parte del processo cloud-init o dalla riga di comando dopo l'avvio della macchina virtuale.
Componente | Descrizione |
---|---|
Immagine del container | nvcr.io/nvidia/k8s/dcgm-exporter:ngc_image_tag Ad esempio: nvcr.io/nvidia/k8s/dcgm-exporter:3.2.5-3.1.8-ubuntu22.04 Per informazioni sulle immagini di container di DCGM Exporter supportate per le macchine virtuali di deep learning, vedere Note di rilascio di VMware Deep Learning VM. |
Input necessari | Per distribuire un carico di lavoro DCGM Exporter, è necessario impostare le proprietà OVF per la macchina virtuale di deep learning nel modo seguente:
Vedere Proprietà OVF delle macchine virtuali di deep learning. |
Output |
Nella macchina virtuale di deep learning, eseguire quindi un carico di lavoro DL e visualizzare i dati in un'altra macchina virtuale utilizzando Prometheus all'indirizzo http://visualization_vm_ip:9090 e Grafana all'indirizzo http://visualization_vm_ip:3000. |
Esecuzione di un carico di lavoro DL nella macchina virtuale di deep leaning
Eseguire il carico di lavoro DL per cui si desidera raccogliere le metriche vGPU ed esportare i dati in un'altra applicazione per ulteriori informazioni di monitoraggio e visualizzazione.
- Accedere alla macchina virtuale di deep learning come vmware tramite SSH.
- Aggiungere l'account utente vmware al gruppo docker eseguendo il comando seguente.
sudo usermod -aG docker ${USER}
- Eseguire il container per il carico di lavoro DL, estraendolo dal catalogo NVIDIA NGC o da un registro di container locale.
Ad esempio, per eseguire il comando seguente per l'esecuzione dell'immagine tensorflow:23.10-tf2-py3 da 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
- Iniziare a utilizzare il carico di lavoro DL per lo sviluppo di AI.
Installazione di Prometheus e Grafana
È possibile visualizzare e monitorare le metriche della vGPU dalla macchina virtuale di DCGM Exporter in una macchina virtuale che esegue Prometheus e Grafana.
- Creare una macchina virtuale di visualizzazione in cui è installato Docker Community Engine.
- Connettersi alla macchina virtuale tramite SSH e creare un file YAML per 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
- Creare un percorso dati.
$ mkdir grafana_data prometheus_data && chmod 777 grafana_data prometheus_data
- Creare un file di composizione Docker per installare Prometheus e 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
- Avviare i container di Prometheus e Grafana.
$ sudo docker compose up -d
Visualizzazione delle metriche della vGPU in Prometheus
È possibile accedere a Prometheus all'indirizzo http://visualization-vm-ip:9090. È possibile visualizzare le seguenti informazioni sulla vGPU nell'interfaccia utente di Prometheus:
Informazioni | Sezione dell'interfaccia utente |
---|---|
Metriche della vGPU non elaborate dalla macchina virtuale di deep learning | Per visualizzare le metriche della vGPU non elaborate dalla macchina virtuale di deep learning, fare clic sulla voce dell'endpoint. |
Espressioni del grafico |
|
Per ulteriori informazioni sull'utilizzo di Prometheus, vedere la documentazione di Prometheus.
Visualizzazione delle metriche in Grafana
Impostare Prometheus come origine dati per Grafana e visualizzare le metriche della vGPU dalla macchina virtuale di deep learning in un dashboard.
- Accedere a Grafana all'indirizzo http://visualization-vm-ip:3000 utilizzando il nome utente predefinito admin e la password
admin
. - Aggiungere Prometheus come prima origine dati connettendosi a visualization-vm-ip nella porta 9090.
- Creare un dashboard con le metriche della vGPU.
Per ulteriori informazioni sulla configurazione di un dashboard utilizzando un'origine dati Prometheus, vedere la documentazione di Grafana.
Triton Inference Server
È possibile utilizzare una macchina virtuale di deep learning con Triton Inference Server per caricare un repository di modelli e ricevere richieste di inferenza.
Vedere la pagina Triton Inference Server.
Componente | Descrizione |
---|---|
Immagine del container | nvcr.io/nvidia/tritonserver:ngc_image_tag Ad esempio: nvcr.io/nvidia/tritonserver:23.10-py3 Per informazioni sulle immagini dei container Triton Inference Server supportate per le macchine virtuali di deep learning, vedere Note di rilascio di VMware Deep Learning VM. |
Input necessari | Per distribuire un carico di lavoro Triton Inference Server, è necessario impostare le proprietà OVF per la macchina virtuale di deep learning nel modo seguente:
Vedere Proprietà OVF delle macchine virtuali di deep learning. |
Output |
Il repository di modelli per Triton Inference Server è in /home/vmware/model_repository. Inizialmente, il repository di modelli è vuoto e il registro iniziale dell'istanza di Triton Inference Server indica che non è stato caricato alcun modello. |
Creazione di un repository di modelli
Per caricare il modello per l'inferenza del modello, eseguire i passaggi seguenti:
- Creare il repository di modelli per il proprio modello.
Vedere la documentazione relativa al repository di modelli di NVIDIA Triton Inference Server.
- Copiare il repository di modelli in
/home/vmware/model_repository
in modo che Triton Inference Server possa caricarlo.sudo cp -r path_to_your_created_model_repository/* /home/vmware/model_repository/
Invio di richieste di inferenza del modello
- Verificare che Triton Inference Server sia integro e che i modelli siano pronti eseguendo questo comando nella console della macchina virtuale di deep learning.
curl -v localhost:8000/v2/simple_sequence
- Inviare una richiesta al modello eseguendo questo comando nella macchina virtuale di deep learning.
curl -v localhost:8000/v2/models/simple_sequence
Per ulteriori informazioni sull'utilizzo di Triton Inference Server, vedere la documentazione relativa al repository di modelli di NVIDIA Triton Inference Server.
NVIDIA RAG
È possibile utilizzare una macchina virtuale di deep learning per creare soluzioni RAG (Retrieval Augmented Generation) con un modello Llama2.
Vedere la documentazione relativa al chatbot AI con Retrieval Augmented Generation.
Componente | Descrizione |
---|---|
Immagini e modelli di container | rag-app-text-chatbot.yamlnella pipeline di NVIDIA RAG di esempio. Per informazioni sulle applicazioni container NVIDIA RAG supportate per le macchine virtuali di deep learning, vedere Note di rilascio di VMware Deep Learning VM. |
Input necessari | Per distribuire un carico di lavoro NVIDIA RAG, è necessario impostare le proprietà OVF per la macchina virtuale di deep learning nel modo seguente:
Vedere Proprietà OVF delle macchine virtuali di deep learning. |
Output |
|