Prácticas recomendadas para minimizar las interrupciones durante las actualizaciones de los controladores GPU - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Prácticas recomendadas para minimizar las interrupciones durante las actualizaciones de los controladores GPU

SageMaker Model Deployment actualiza GPU los controladores de las instancias de ML para las opciones de inferencia en tiempo real, por lotes y asíncrona a lo largo del tiempo para brindar a los clientes acceso a las mejoras de los proveedores de controladores. A continuación, puede ver la GPU versión compatible con cada opción de inferencia. Las diferentes versiones del controlador pueden cambiar la forma en que su modelo interactúa con el. GPUs A continuación, se muestran algunas estrategias que le ayudarán a entender cómo funciona su aplicación con las distintas versiones de controladores.

Versiones actuales y familias de instancias compatibles

Amazon SageMaker Inference admite los siguientes controladores y familias de instancias:

Servicio GPU Versión de controlador Tipos de instancias
Tiempo real NVIDIA 470.57.02 ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5.*
53554,03 ml.p5.*, ml.g6. *
Lote NVIDIA 470.57.02 ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5*
Inferencia asíncrona NVIDIA 47057,02 ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5*
53554,03 ml.p5.*, ml.g6. *

Solucione los problemas de su contenedor modelo con las capacidades GPU

Si encuentra algún problema al ejecutar su GPU carga de trabajo, consulte las siguientes instrucciones:

Ejecute el comando nvidia-smi (Interfaz de administración del NVIDIA sistema) desde el contenedor de Docker. Si la interfaz de administración NVIDIA del sistema detecta un error GPU de detección o de NVIDIA inicialización, devolverá el siguiente mensaje de error:

Failed to initialize NVML: Driver/library version mismatch

Según su caso de uso, siga estas prácticas recomendadas para resolver el fallo o error:

Consulte la página de la interfaz de administración NVIDIA del sistema en el NVIDIA sitio web para obtener más información.

Si la GPU instancia usa versiones de NVIDIA controladores que no son compatibles con la CUDA versión del contenedor de Docker, no se podrá implementar un dispositivo de punto final y aparecerá el siguiente mensaje de error:

Failure reason CannotStartContainerError. Please ensure the model container for variant <variant_name> starts correctly when invoked with 'docker run <image> serve'

Según su caso de uso, siga estas prácticas recomendadas para resolver el fallo o error:

Prácticas recomendadas para trabajar con versiones de controladores que no coinciden

A continuación, se proporciona información sobre cómo actualizar el GPU controlador:

No hay que hacer nada más. NVIDIAproporciona compatibilidad con versiones anteriores.

Si se trata de una diferencia de versión poco importante, no hay que hacer nada más. NVIDIAproporciona compatibilidad con versiones posteriores de versiones secundarias.

Si se trata de una diferencia de versión importante, será necesario instalar el Paquete de CUDA compatibilidad. Consulte el Paquete de CUDA compatibilidad en la NVIDIA documentación.

importante

El Paquete de CUDA compatibilidad no es compatible con versiones anteriores, por lo que es necesario deshabilitarlo si la versión del controlador de la instancia es superior a la versión del paquete de CUDA compatibilidad.

Asegúrese de que no haya paquetes de NVIDIA controladores incluidos en la imagen, ya que podrían provocar conflictos con la versión NVIDIA del controlador anfitrión.

Para comprobar si la versión del controlador de Nvidia de la plataforma es compatible con la versión del Paquete de CUDA Compatibilidad instalada en el contenedor del modelo, consulte la CUDAdocumentación. Si la versión del controlador de Nvidia de la plataforma no es compatible con la versión del paquete de CUDA compatibilidad, puede deshabilitar o eliminar el paquete de CUDA compatibilidad de la imagen del contenedor del modelo. Si la versión de la biblioteca de CUDA compatibilidad es compatible con la última versión del controlador de Nvidia, le sugerimos que habilite el Paquete de CUDA compatibilidad en función de la versión del controlador de Nvidia detectada para una futura compatibilidad añadiendo el siguiente fragmento de código al script de inicio del contenedor (en el ENTRYPOINT script).

El script muestra cómo cambiar dinámicamente el uso del Paquete de CUDA compatibilidad en función de la versión del controlador Nvidia detectada en el host implementado para el contenedor de modelos. Cuando se SageMaker lanza una versión más reciente del controlador Nvidia, el Paquete de CUDA compatibilidad instalado se puede desactivar automáticamente si la CUDA aplicación es compatible de forma nativa con el nuevo controlador.

#!/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