Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Le migliori pratiche per ridurre al minimo le interruzioni durante gli aggiornamenti dei driver GPU
SageMaker Model Deployment aggiorna GPU i driver sulle istanze ML per le opzioni Real-time, Batch e Asynchronous Inference nel tempo per fornire ai clienti l'accesso ai miglioramenti offerti dai fornitori di driver. Di seguito puoi vedere la GPU versione supportata per ogni opzione di Inference. Diverse versioni dei driver possono modificare il modo in cui il modello interagisce con. GPUs Di seguito sono riportate alcune strategie per aiutarti a capire come funziona l'applicazione con le diverse versioni dei driver.
Versioni correnti e famiglie di istanze supportate
Amazon SageMaker Inference supporta i seguenti driver e famiglie di istanze:
Servizio | GPU | Versione driver | Tipi di istanza |
---|---|---|---|
Real-time | NVIDIA | 470,57,02 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5.* |
535,54,03 | ml.p5.*, ml.g6. * | ||
Archiviazione | NVIDIA | 470,57,02 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5* |
Inferenza asincrona | NVIDIA | 470,57,02 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5* |
535,54,03 | ml.p5.*, ml.g6. * |
Risolvi i problemi del contenitore modello con funzionalità GPU
Se riscontri un problema durante l'esecuzione del GPU carico di lavoro, consulta le seguenti indicazioni:
Esegui il comando nvidia-smi
(NVIDIASystem Management Interface) dall'interno del contenitore Docker. Se l'interfaccia di gestione NVIDIA del sistema rileva un errore di GPU rilevamento o un errore di NVIDIA inizializzazione, restituirà il seguente messaggio di errore:
Failed to initialize NVML: Driver/library version mismatch
In base al vostro caso d'uso, seguite le seguenti best practice per risolvere l'errore:
Segui le raccomandazioni sulle best practice descritte nel menu a discesa Se porti i tuoi contenitori modello (BYO).
Segui le raccomandazioni sulle best practice descritte nel menu a discesa Se utilizzi un livello di CUDA compatibilità.
Per ulteriori informazioni, consultate la pagina dell'interfaccia di gestione del NVIDIA sistema
Se l'GPUistanza utilizza versioni di NVIDIA driver non compatibili con la CUDA versione nel contenitore Docker, la distribuzione di un endpoint avrà esito negativo e verrà visualizzato il seguente messaggio di errore:
Failure reason CannotStartContainerError. Please ensure the model container for variant <variant_name> starts correctly when invoked with 'docker run <image> serve'
In base al vostro caso d'uso, seguite le seguenti best practice per risolvere l'errore:
Segui le raccomandazioni sulle best practice descritte nel menu a discesa Il driver da cui dipende il mio contenitore è maggiore della versione sulle istanze ML GPU.
Segui le raccomandazioni sulle best practice descritte nel menu a discesa Se utilizzi un livello di CUDA compatibilità.
Best practice per lavorare con versioni non corrispondenti dei driver
Di seguito vengono fornite informazioni su come aggiornare il driver: GPU
Nessuna operazione richiesta. NVIDIAfornisce la compatibilità con le versioni precedenti.
Se si tratta di una differenza di versione minore, nessuna operazione richiesta. NVIDIAfornisce una compatibilità minore con le versioni successive.
Se si tratta di una differenza di versione importante, sarà necessario installare il CUDA Compatibility Package. Fai riferimento a CUDACompatibility Package
Importante
Il CUDA Compatibility Package non è retrocompatibile, quindi deve essere disabilitato se la versione del driver sull'istanza è superiore alla versione del CUDA Compatibility Package.
Assicurati che nell'immagine non sia incluso alcun pacchetto di NVIDIA driver, il che potrebbe causare conflitti con la versione del NVIDIA driver host.
Per verificare se la versione del driver Nvidia della piattaforma supporta la versione CUDA Compatibility Package installata nel contenitore del modello, consulta la CUDAdocumentazioneENTRYPOINT
Lo script dimostra come cambiare dinamicamente l'uso del Compatibility CUDA Package in base alla versione del driver Nvidia rilevata sull'host distribuito per il contenitore modello. Quando viene SageMaker rilasciata una versione più recente del driver Nvidia, il Compatibility CUDA Package installato può essere disattivato automaticamente se l'CUDAapplicazione è supportata nativamente sul nuovo driver.
#!/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