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 Treiber-Upgrades GPU
SageMaker Model Deployment aktualisiert die GPU Treiber auf den ML-Instances im Laufe der Zeit für Echtzeit-, Batch- und asynchrone Inferenzoptionen, um Kunden Zugriff auf Verbesserungen der Treiberanbieter zu bieten. Unten sehen Sie, welche GPU Version für die einzelnen Inferenzoptionen 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 Inference unterstützt die folgenden Treiber und Instance-Familien:
Service | GPU | Treiberversion | Instance-Typen |
---|---|---|---|
Echtzeit | NVIDIA | 470.57.02 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5.* |
535,54,03 | ml.p5.*, ml.g6. * | ||
Stapel | NVIDIA | 47057,02 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5* |
Asynchrone Inference | NVIDIA | 47057,02 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5* |
535,54,03 | ml.p5.*, ml.g6. * |
Beheben Sie Fehler bei Ihrem Modellcontainer mit GPU Funktionen
Wenn Sie bei der Ausführung Ihres GPU Workloads auf ein Problem stoßen, lesen Sie die folgenden Anleitungen:
Führen Sie den Befehl nvidia-smi
(NVIDIASystem Management Interface) im Docker-Container aus. Wenn die NVIDIA Systemverwaltungsschnittstelle einen GPU Erkennungs- oder NVIDIA Initialisierungsfehler feststellt, 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 (BYO) Modellcontainer mitbringen 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 Instanz NVIDIA Treiberversionen verwendet, die nicht mit der CUDA Version im Docker-Container kompatibel sind, schlägt die Bereitstellung eines Endpunkts 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 größer als die Version auf den ML-Instanzen GPU 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 können:
Es ist keine Aktion erforderlich. NVIDIAbietet Abwärtskompatibilität.
Wenn es sich um einen geringfügigen Versionsunterschied handelt, sind keine Maßnahmen erforderlich. NVIDIAbietet Vorwärtskompatibilität für Nebenversionen.
Wenn es sich um einen größeren Versionsunterschied handelt, muss das CUDA Kompatibilitätspaket installiert werden. Bitte beachten Sie das CUDAKompatibilitätspaket
Wichtig
Das CUDA Kompatibilitätspaket ist nicht abwärtskompatibel und muss daher deaktiviert werden, wenn die Treiberversion auf der Instanz höher als die Version des CUDA Kompatibilitätspakets ist.
Stellen Sie sicher, dass das Image keine NVIDIA Treiberpakete enthält, die zu Konflikten mit der NVIDIA Host-Treiberversion führen könnten.
Informationen dazu, ob die Plattform-Nvidia-Treiberversion die im Modellcontainer installierte Version des CUDA Kompatibilitätspakets unterstützt, finden Sie in der CUDADokumentationENTRYPOINT
Skript) hinzufügen.
Das Skript zeigt, wie Sie die Verwendung des CUDA Kompatibilitätspakets basierend auf der erkannten Nvidia-Treiberversion auf dem bereitgestellten Host für Ihren Modellcontainer dynamisch umschalten können. Wenn eine neuere Nvidia-Treiberversion SageMaker veröffentlicht wird, kann das installierte CUDA Kompatibilitätspaket automatisch ausgeschaltet werden, wenn die CUDA Anwendung vom neuen Treiber nativ unterstützt wird.
#!/bin/bash verlte() { [ "$1" = "$2" ] && return 1 || [ "$2" = "`echo -e "$1\n$2" | sort -V | head -n1`" ] } if [ -f /usr/local/cuda/compat/libcuda.so.1 ]; then cat /usr/local/cuda/version.txt CUDA_COMPAT_MAX_DRIVER_VERSION=$(readlink /usr/local/cuda/compat/libcuda.so.1 |cut -d'.' -f 3-) echo "CUDA compat package requires Nvidia driver ⩽${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 [ $(verlte $CUDA_COMPAT_MAX_DRIVER_VERSION $NVIDIA_DRIVER_VERSION) ]; then echo "Setup CUDA compatibility libs path to LD_LIBRARY_PATH" export LD_LIBRARY_PATH=/usr/local/cuda/compat:$LD_LIBRARY_PATH echo $LD_LIBRARY_PATH else echo "Skip CUDA compat libs setup as newer Nvidia driver is installed" fi else echo "Skip CUDA compat libs setup as package not found" fi