Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
SageMaker AI Model Deployment met à jour les pilotes GPU sur les instances ML pour les options d'inférence en temps réel, par lots et asynchrone au fil du temps afin de permettre aux clients d'accéder aux améliorations apportées par les fournisseurs de pilotes. Vous pouvez voir ci-dessous la version du GPU soumise à chaque option d'inférence. Les différentes versions du pilote peuvent modifier la façon dont votre modèle interagit avec le GPUs. Vous trouverez ci-dessous quelques politiques pour vous aider à comprendre comment votre application fonctionne avec différentes versions de pilotes.
Versions actuelles et familles d'instances soumises à la gestion des versions
Amazon SageMaker AI Inference prend en charge les pilotes et familles d'instances suivants :
Service | GPU | Versions du pilote | Types d’instances |
---|---|---|---|
Temps réel | NVIDIA | 47057,02 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5. * |
535,54,03 | ml.p5.*, ml.g6. * | ||
Par lots | NVIDIA | 47057,02 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5* |
Inférence asynchrone | NVIDIA | 47057,02 | ml.p2.*, ml.p3.*, ml.p4d.*, ml.p4de.*, ml.g4dn.*, ml.g5* |
535,54,03 | ml.p5.*, ml.g6. * |
Dépannage de votre conteneur de modèles avec les capacités du GPU
Si vous rencontrez un problème lors de l'exécution de votre charge de travail GPU, consultez les conseils suivants :
Exécutez la commande nvidia-smi
(NVIDIA System Management Interface) à partir du conteneur Docker. Si l'interface de gestion du système NVIDIA détecte une erreur de détection du GPU ou une erreur d'initialisation NVIDIA, elle renvoie le message d'erreur suivant :
Failed to initialize NVML: Driver/library version mismatch
En fonction de votre cas d'utilisation, suivez ces bonnes pratiques pour résoudre l'échec ou l'erreur :
Suivez les recommandations de bonnes pratiques décrites dans le menu déroulant Si vous apportez vos propres conteneurs de modèles (BYO).
Suivez les recommandations de bonnes pratiques décrites dans le menu déroulant Si vous utilisez une couche de compatibilité CUDA.
Reportez-vous à la page de l'interface de gestion du système NVIDIA
Si votre instance de GPU utilise des versions de pilote NVIDIA qui ne sont pas compatibles avec la version CUDA du conteneur Docker, le déploiement d'un point de terminaison échouera avec le message d'erreur suivant :
Failure reason CannotStartContainerError. Please ensure the model container for variant <variant_name> starts correctly when invoked with 'docker run <image> serve'
En fonction de votre cas d'utilisation, suivez ces bonnes pratiques pour résoudre l'échec ou l'erreur :
Suivez les recommandations de bonnes pratiques décrites dans le menu déroulant Le pilote dont dépend mon conteneur est supérieur à la version des instances de GPU ML..
Suivez les recommandations de bonnes pratiques décrites dans le menu déroulant Si vous utilisez une couche de compatibilité CUDA.
Bonnes pratiques pour travailler avec des versions de pilotes non concordantes
Vous trouverez ci-dessous des informations sur la façon de mettre à jour le pilote de votre GPU :
Aucune action n’est requise. NVIDIA assure la rétrocompatibilité.
S'il s'agit d'une différence de version mineure, aucune action n'est requise. NVIDIA assure la compatibilité avec les versions mineures.
S'il s'agit d'une différence de version majeure, le package de compatibilité CUDA devra être installé. Veuillez consulter la section CUDA Compatibility Package
Important
Le package de compatibilité CUDA n'étant pas rétrocompatible, il doit être désactivé si la version du pilote de l'instance est supérieure à celle du package de compatibilité CUDA.
Assurez-vous qu'aucun package de pilote NVIDIA n'est inclus dans l'image, ce qui pourrait entraîner un conflit avec la version du pilote NVIDIA de l'hôte.
Pour vérifier si la version du pilote Nvidia de la plateforme prend en charge la version du package de compatibilité CUDA installée dans le conteneur de modèles, consultez la documentation CUDAENTRYPOINT
).
Le script montre comment changer dynamiquement l'utilisation du package de compatibilité CUDA en fonction de la version du pilote Nvidia détectée sur l'hôte déployé pour votre conteneur de modèles. Lors de SageMaker la sortie d'une version plus récente du pilote Nvidia, le Package de compatibilité CUDA installé peut être désactivé automatiquement si l'application CUDA est prise en charge nativement sur le nouveau pilote.
#!/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