Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bewährte Methoden zur Minimierung von Unterbrechungen bei GPU-Treiber-Upgrades
SageMaker AI Model Deployment aktualisiert die GPU-Treiber auf den ML-Instanzen im Laufe der Zeit für Echtzeit-, Batch- und asynchrone Inferenzoptionen, um Kunden Zugriff auf Verbesserungen der Treiberanbieter zu bieten. Weiter unten sehen Sie, welche GPU-Version für jede Inference-Option unterstützt wird. Verschiedene Treiberversionen können die Interaktion Ihres Modells mit dem ändern. GPUs Im Folgenden finden Sie Strategien, mit deren Hilfe Sie verstehen können, wie Ihre Anwendung mit verschiedenen Treiberversionen funktioniert.
Aktuelle Versionen und unterstützte Instance-Familien
Amazon SageMaker AI Inference unterstützt die folgenden Treiber und Instance-Familien:
Service | GPU | Treiberversion | CUDA-Version | Instance-Typen |
---|---|---|---|---|
Echtzeit | NVIDIA | 470 | CUDA 11.4 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5.* |
535 | CUDA 12.2 | ml.p5.*, ml.g6. * | ||
550 | CUDA 12,4 | ml.p5e.*, ml.p5en. * | ||
Asynchrone Inference | NVIDIA | 470 | CUDA 11,4 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5* |
470 | CUDA 12.2 | ml.p5.*, ml.g6. * | ||
550 | CUDA 12,4 | ml.p5e.*, ml.p5en. * | ||
Stapel | NVIDIA | 470 | CUDA 11,4 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5* |
Beheben Sie Fehler in Ihrem Modellcontainer mit GPU-Fähigkeiten
Wenn bei der Ausführung Ihres GPU-Workloads ein Problem auftritt, lesen Sie die folgende Anleitung:
Führen Sie den Befehl nvidia-smi
(NVIDIA System Management Interface) im Docker-Container aus. Wenn das NVIDIA System Management Interface einen GPU-Erkennungsfehler oder einen NVIDIA-Initialisierungsfehler erkennt, wird die folgende Fehlermeldung zurückgegeben:
Failed to initialize NVML: Driver/library version mismatch
Verwenden Sie je nach Anwendungsfall diese bewährten Methoden, um das Fehlschlagen oder den Fehler zu beheben:
Verwenden Sie die in der Wenn Sie Ihre eigenen Modellcontainer mitbringen (BYO) Auswahlliste empfohlenen bewährten Methoden.
Verwenden Sie die in der Wenn Sie eine CUDA-Kompatibilitätsebene verwenden Auswahlliste empfohlenen bewährten Methoden.
Weitere Informationen finden Sie auf der Seite NVIDIA System Management Interface
Wenn Ihre GPU-Instance NVIDIA-Treiberversionen verwendet, die nicht mit der CUDA-Version im Docker-Container kompatibel sind, schlägt die Bereitstellung eines Endpunktes mit der folgenden Fehlermeldung fehl:
Failure reason CannotStartContainerError. Please ensure the model container for variant <variant_name> starts correctly when invoked with 'docker run <image> serve'
Verwenden Sie je nach Anwendungsfall diese bewährten Methoden, um das Fehlschlagen oder den Fehler zu beheben:
Verwenden Sie die in der Der Treiber, von dem mein Container abhängt, ist neuer als die Version auf den ML-GPU-Instances Auswahlliste empfohlenen bewährten Methoden.
Verwenden Sie die in der Wenn Sie eine CUDA-Kompatibilitätsebene verwenden Auswahlliste empfohlenen bewährten Methoden.
Bewährte Methoden für die Arbeit mit nicht passenden Treiberversionen
Im Folgenden finden Sie Informationen dazu, wie Sie Ihren GPU-Treiber aktualisieren:
Es ist keine Aktion erforderlich. NVIDIA bietet Rückwärts-Kompatibilität.
Wenn es sich um einen geringfügigen Versionsunterschied handelt, sind keine Maßnahmen erforderlich. NVIDIA bietet bei kleineren Versionsunterschieden Vorwärtskompatibilität.
Wenn es sich um einen größeren Versionsunterschied handelt, muss das CUDA-Kompatibilitätspaket installiert werden. Weitere Informationen finden Sie im CUDA-Kompatibilitätspaket
Wichtig
Das CUDA-Kompatibilitätspaket ist nicht rückwärts-kompatibel und muss daher deaktiviert werden, wenn die Treiberversion auf der Instance neuer ist als die Version des CUDA-Kompatibilitätspakets.
Vergewissern Sie sich, dass das Image keine NVIDIA-Treiberpakete enthält, die zu Konflikten mit der NVIDIA-Treiberversion auf dem Host führen könnten.
Informationen dazu, ob die Nvidia-Treiberversion für die jeweilige Plattform die im Modellcontainer installierte Version des CUDA Compatibility Package unterstützt, finden Sie in der CUDA-DokumentationENTRYPOINT
Skript) hinzufügen.
Das Skript zeigt, wie Sie die Verwendung des CUDA-Kompatibilitätspaketes auf Basis der erkannten Nvidia-Treiberversion auf dem bereitgestellten Host für Ihren Modellcontainer dynamisch umschalten. Wenn eine neuere Nvidia-Treiberversion SageMaker veröffentlicht wird, kann das installierte CUDA-Kompatibilitätspaket automatisch ausgeschaltet werden, wenn die CUDA-Anwendung auf dem neuen Treiber nativ unterstützt wird.
#!/bin/bash verlt() { [ "$1" = "$2" ] && return 1 || [ "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ] } if [ -f /usr/local/cuda/compat/libcuda.so.1 ]; then CUDA_COMPAT_MAX_DRIVER_VERSION=$(readlink /usr/local/cuda/compat/libcuda.so.1 | cut -d'.' -f 3-) echo "CUDA compat package should be installed for NVIDIA driver smaller than ${CUDA_COMPAT_MAX_DRIVER_VERSION}" NVIDIA_DRIVER_VERSION=$(sed -n 's/^NVRM.*Kernel Module *\([0-9.]*\).*$/\1/p' /proc/driver/nvidia/version 2>/dev/null || true) echo "Current installed NVIDIA driver version is ${NVIDIA_DRIVER_VERSION}" if verlt $NVIDIA_DRIVER_VERSION $CUDA_COMPAT_MAX_DRIVER_VERSION; then echo "Adding CUDA compat to LD_LIBRARY_PATH" export LD_LIBRARY_PATH=/usr/local/cuda/compat:$LD_LIBRARY_PATH echo $LD_LIBRARY_PATH else echo "Skipping CUDA compat setup as newer NVIDIA driver is installed" fi else echo "Skipping CUDA compat setup as package not found" fi