Sie können eine Deep Learning-VM zusätzlich zu ihren eingebetteten Komponenten mit einer unterstützten Deep Learning (DL)-Arbeitslast bereitstellen. Die DL-Arbeitslasten werden aus dem NVIDIA NGC-Katalog heruntergeladen und sind GPU-optimiert und von NVIDIA und VMware von Broadcom validiert.
Eine Übersicht über die Deep Learning-VM-Images finden Sie unter Informationen zu Deep Learning-VM-Images in VMware Private AI Foundation with NVIDIA.
CUDA-Beispiel
Sie können eine Deep Learning-VM mit ausgeführten CUDA-Beispielen verwenden, um die Vektorhinzufügung, die Gravitations-N-Körper-Simulation oder andere Beispiele auf einer VM zu untersuchen. Weitere Informationen finden Sie auf der Seite CUDA-Beispiele.
Nachdem die Deep Learning-VM gestartet wurde, führt sie eine CUDA-Beispielarbeitslast aus, um den vGPU-Gasttreiber zu testen. Sie können die Testausgabe in der Datei /var/log/dl.log überprüfen.
Komponente | Beschreibung |
---|---|
Container-Image | nvcr.io/nvidia/k8s/cuda-sample:ngc_image_tagBeispiel: nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8 Informationen zu den CUDA-Beispiel-Container-Images, die für Deep Learning-VMs unterstützt werden, finden Sie unter Versionshinweise zu VMware Deep Learning VM. |
Erforderliche Eingaben | Um eine CUDA-Beispielarbeitslast bereitzustellen, müssen Sie die OVF-Eigenschaften für die Deep Learning-VM wie folgt festlegen:
Weitere Informationen finden Sie unter OVF-Eigenschaften von Deep Learning-VMs. |
Ausgabe |
|
PyTorch
Sie können eine Deep Learning-VM mit einer PyTorch-Bibliothek verwenden, um Konversations-KI, NLP und andere Arten von KI-Modellen auf einer VM zu erkunden. Weitere Informationen finden Sie auf der Seite PyTorch.
Nach dem Start der Deep Learning-VM wird eine JupyterLab-Instanz mit installierten und konfigurierten PyTorch-Paketen gestartet.
Komponente | Beschreibung |
---|---|
Container-Image | nvcr.io/nvidia/pytorch:ngc_image_tagBeispiel: nvcr.io/nvidia/pytorch:23.10-py3 Informationen zu den PyTorch-Container-Images, die für Deep Learning-VMs unterstützt werden, finden Sie unter Versionshinweise zu VMware Deep Learning VM. |
Erforderliche Eingaben | Um eine PyTorch-Arbeitslast bereitzustellen, müssen Sie die OVF-Eigenschaften für die Deep Learning-VM wie folgt festlegen:
Weitere Informationen finden Sie unter OVF-Eigenschaften von Deep Learning-VMs. |
Ausgabe |
|
TensorFlow
Sie können eine Deep Learning-VM mit einer TensorFlow-Bibliothek verwenden, um Konversations-KI, NLP und andere Arten von KI-Modellen auf einer VM zu erkunden. Weitere Informationen finden Sie auf der Seite TensorFlow.
Nachdem die Deep Learning-VM gestartet wurde, startet sie eine JupyterLab-Instanz mit installierten und konfigurierten TensorFlow-Paketen.
Komponente | Beschreibung |
---|---|
Container-Image | nvcr.io/nvidia/tensorflow:ngc_image_tag Beispiel: nvcr.io/nvidia/tensorflow:23.10-tf2-py3 Informationen zu den TensorFlow-Container-Images, die für Deep Learning-VMs unterstützt werden, finden Sie unter Versionshinweise zu VMware Deep Learning VM. |
Erforderliche Eingaben | Um eine TensorFlow-Arbeitslast bereitzustellen, müssen Sie die OVF-Eigenschaften für die Deep Learning-VM wie folgt festlegen:
Weitere Informationen finden Sie unter OVF-Eigenschaften von Deep Learning-VMs. |
Ausgabe |
|
DCGM Exporter
Sie können einer Deep Learning-VM mit einem DCGM Exporter (Data Center GPU Manager) verwenden, um den Zustand von GPUs zu überwachen und Metriken aus GPUs abzurufen, die von einer DL-Arbeitslast verwendet werden, indem Sie NVIDIA DCGM, Prometheus und Grafana verwenden.
Weitere Informationen finden Sie auf der Seite DCGM Exporter.
In einer Deep Learning-VM führen Sie den DCGM Exporter-Container zusammen mit einer DL-Arbeitslast aus, die KI-Vorgänge durchführt. Nachdem die Deep Learning-VM gestartet wurde, ist DCGM Exporter bereit, vGPU-Metriken zu erfassen und die Daten zur weiteren Überwachung und Visualisierung in eine andere Anwendung zu exportieren. Sie können die überwachte DL-Arbeitslast als Teil des cloud-init-Prozesses oder über die Befehlszeile ausführen, nachdem die virtuelle Maschine gestartet wurde.
Komponente | Beschreibung |
---|---|
Container-Image | nvcr.io/nvidia/k8s/dcgm-exporter:ngc_image_tag Beispiel: nvcr.io/nvidia/k8s/dcgm-exporter:3.2.5-3.1.8-ubuntu22.04 Informationen zu den DCGM Exporter-Container-Images, die für Deep Learning-VMs unterstützt werden, finden Sie unter Versionshinweise zu VMware Deep Learning VM. |
Erforderliche Eingaben | Um eine DCGM Exporter-Arbeitslast bereitzustellen, müssen Sie die OVF-Eigenschaften für die Deep Learning-VM wie folgt festlegen:
Weitere Informationen finden Sie unter OVF-Eigenschaften von Deep Learning-VMs. |
Ausgabe |
Anschließend führen Sie in der Deep Learning-VM eine DL-Arbeitslast aus und visualisieren die Daten auf einer anderen virtuellen Maschine mithilfe von Prometheus bei http://visualization_vm_ip:9090 und Grafana bei http://visualization_vm_ip:3000. |
Ausführen einer DL-Arbeitslast auf der Deep-Lean-VM
Führen Sie die DL-Arbeitslast aus, für die Sie vGPU-Metriken erfassen möchten, und exportieren Sie die Daten zur weiteren Überwachung und Visualisierung in eine andere Anwendung.
- Melden Sie sich bei der Deep Learning-VM als vmware über SSH an.
- Fügen Sie das Benutzerkonto vmware zur Gruppe docker hinzu, indem Sie den folgenden Befehl ausführen.
sudo usermod -aG docker ${USER}
- Führen Sie den Container für die DL-Arbeitslast aus und ziehen Sie ihn aus dem NVIDIA NGC-Katalog oder aus einer lokalen Containerregistrierung.
So führen Sie beispielsweise den folgenden Befehl aus, um das Tensorflow-Image 23.10-tf2-py3 von NVIDIA NGC auszuführen:
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
- Beginnen Sie mit der Verwendung der DL-Arbeitslast für die KI-Entwicklung.
Installieren von Prometheus und Grafana
Sie können die vGPU-Metriken von der DCGM Exporter-VM auf einer virtuellen Maschine, auf der Prometheus und Grafana ausgeführt wird, visualisieren und überwachen.
- Erstellen Sie eine Visualisierungs-VM mit installierter Docker Community Engine.
- Stellen Sie über SSH eine Verbindung zur VM her und erstellen Sie eine YAML-Datei für 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
- Erstellen Sie einen Datenpfad.
$ mkdir grafana_data prometheus_data && chmod 777 grafana_data prometheus_data
- Erstellen Sie eine Docker-Erstellungsdatei, um Prometheus und Grafana zu installieren.
$ 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
- Starten Sie die Prometheus- und Grafana-Container.
$ sudo docker compose up -d
Anzeigen von vGPU-Metriken in Prometheus
Sie können auf Prometheus unter http://visualization-vm-ip:9090 zugreifen. Sie können die folgenden vGPU-Informationen in der Prometheus-Benutzeroberfläche anzeigen:
Informationen | Abschnitt der Benutzeroberfläche |
---|---|
vGPU-Rohmetriken aus der Deep Learning-VM | Um die vGPU-Rohmetriken aus der Deep Learning-VM anzuzeigen, klicken Sie auf den Endpoint-Eintrag. |
Diagrammausdrücke |
|
Weitere Informationen zur Verwendung von Prometheus finden Sie in der Prometheus-Dokumentation.
Visualisieren von Metriken in Grafana
Legen Sie Prometheus als Datenquelle für Grafana fest und visualisieren Sie die vGPU-Metriken aus der Deep Learning-VM in einem Dashboard.
- Greifen Sie unter http://visualization-vm-ip:3000 auf Grafana zu, indem Sie den Standardbenutzernamen admin und das Kennwort
admin
verwenden. - Fügen Sie Prometheus als erste Datenquelle hinzu und verbinden Sie sich mit visualization-vm-ip auf Port 9090.
- Erstellen Sie ein Dashboard mit den vGPU-Metriken.
Weitere Informationen zum Konfigurieren eines Dashboards mithilfe einer Prometheus-Datenquelle finden Sie in der Grafana-Dokumentation.
Triton Inference Server
Sie können eine Deep Learning-VM mit einem Triton Inference Server verwenden, um ein Modell-Repository zu laden und Rückschlussanforderungen zu erhalten.
Weitere Informationen finden Sie auf der Seite Triton Inference Server.
Komponente | Beschreibung |
---|---|
Container-Image | nvcr.io/nvidia/tritonserver:ngc_image_tag Beispiel: nvcr.io/nvidia/tritonserver:23.10-py3 Informationen zu den Triton Inference Server-Container-Images, die für Deep Learning-VMs unterstützt werden, finden Sie unter Versionshinweise zu VMware Deep Learning VM. |
Erforderliche Eingaben | Um eine Triton Inference Server-Arbeitslast bereitzustellen, müssen Sie die OVF-Eigenschaften für die Deep Learning-VM wie folgt festlegen:
Weitere Informationen finden Sie unter OVF-Eigenschaften von Deep Learning-VMs. |
Ausgabe |
Das Modell-Repository für den Triton Inference Server befindet sich in /home/vmware/model_repository. Anfänglich ist das Modell-Repository leer, und das anfängliche Protokoll der Triton Inference Server-Instanz zeigt an, dass kein Modell geladen ist. |
Erstellen eines Modell-Repository
Führen Sie die folgenden Schritte aus, um Ihr Modell für den Modell-Rückschluss zu laden:
- Erstellen Sie das Modell-Repository für Ihr Modell.
Weitere Informationen finden Sie in der Dokumentation Dokumentation zum NVIDIA Triton Inference Server-Modell-Repository.
- Kopieren Sie das Modell-Repository in
/home/vmware/model_repository
, damit der Triton Inference Server es laden kann.sudo cp -r path_to_your_created_model_repository/* /home/vmware/model_repository/
Senden von Modell-Rückschlussanforderungen
- Stellen Sie sicher, dass der Triton Inference Server fehlerfrei ist und die Modelle bereit sind, indem Sie diesen Befehl in der Deep Learning-VM-Konsole ausführen.
curl -v localhost:8000/v2/simple_sequence
- Senden Sie eine Anforderung an das Modell, indem Sie diesen Befehl auf der Deep Learning-VM ausführen.
curl -v localhost:8000/v2/models/simple_sequence
Weitere Informationen zur Verwendung des Triton Inference-Servers finden Sie in der Dokumentation NVIDIA Triton Inference Server-Modell-Repository.
NVIDIA RAG
Sie können eine Deep Learning-VM verwenden, um RAG-Lösungen (Retrieval Augmented Generation) mit einem Llama2-Modell zu erstellen.
Weitere Informationen finden Sie in der Dokumentation KI-Chatbot mit Retrieval Augmented Generation.
Komponente | Beschreibung |
---|---|
Container-Images und -Modelle | rag-app-text-chatbot.yamlin der NVIDIA-Beispiel-RAG-Pipeline. Informationen zu den für Deep Learning-VMs unterstützten NVIDIA RAG-Containeranwendungen finden Sie unter Versionshinweise zu VMware Deep Learning VM. |
Erforderliche Eingaben | Um eine NVIDIA RAG-Arbeitslast bereitzustellen, müssen Sie die OVF-Eigenschaften für die Deep Learning-VMs wie folgt festlegen:
Weitere Informationen finden Sie unter OVF-Eigenschaften von Deep Learning-VMs. |
Ausgabe |
|