Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Mise à jour des terminaux d' SageMaker IA pour les rendre conformes au NVIDIA Container Toolkit

Mode de mise au point
Mise à jour des terminaux d' SageMaker IA pour les rendre conformes au NVIDIA Container Toolkit - Amazon SageMaker AI

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.

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.

À partir des versions 1.17.4 et supérieures, le NVIDIA Container Toolkit ne monte plus automatiquement les bibliothèques de compatibilité CUDA. Ce changement de comportement peut rendre vos points de terminaison d' SageMaker IA incompatibles avec les dernières versions du NVIDIA Container Toolkit.

Nous vous recommandons de mettre à jour vos points de terminaison SageMaker AI existants ou d'en créer de nouveaux qui prennent en charge le dernier comportement par défaut.

Pour vous assurer que votre terminal est compatible avec les dernières versions du NVIDIA Container Toolkit, procédez comme suit :

  1. Mettez à jour la façon dont vous configurez les bibliothèques de compatibilité CUDA si vous apportez votre propre conteneur.

  2. Spécifiez une inférence Amazon Machine Image (AMI) compatible avec le dernier comportement du NVIDIA Container Toolkit. Vous spécifiez une AMI lorsque vous mettez à jour un point de terminaison existant ou lorsque vous en créez un nouveau.

Mise à jour de la configuration de compatibilité CUDA si vous apportez votre propre conteneur

Les bibliothèques de compatibilité CUDA permettent une compatibilité ascendante. Cette compatibilité s'applique à toutes les versions du kit d'outils CUDA plus récentes que le pilote NVIDIA fourni par l'instance SageMaker AI.

Vous devez activer les bibliothèques de compatibilité CUDA uniquement lorsque le pilote NVIDIA utilisé par l'instance SageMaker AI possède une version plus ancienne que le kit d'outils CUDA contenu dans le conteneur du modèle. Si votre modèle de conteneur ne nécessite pas la compatibilité CUDA, vous pouvez ignorer cette étape. Par exemple, vous pouvez ignorer cette étape si vous ne prévoyez pas d'utiliser une boîte à outils CUDA plus récente que celles fournies par les instances SageMaker AI.

En raison des modifications apportées à la version 1.17.4 du NVIDIA Container Toolkit, vous pouvez activer explicitement les bibliothèques de compatibilité CUDA, si nécessaire, LD_LIBRARY_PATH en les ajoutant au conteneur.

Nous vous suggérons d'activer la compatibilité CUDA en fonction de la version du pilote NVIDIA détectée. Pour l'activer, ajoutez l'extrait de code ci-dessous au script shell de démarrage du conteneur. Ajoutez ce code dans le ENTRYPOINT script.

Le script suivant montre comment changer dynamiquement l'utilisation de la compatibilité CUDA en fonction de la version du pilote NVIDIA détectée sur l'hôte déployé pour votre modèle de conteneur.

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

Spécification d'une AMI d'inférence conforme au NVIDIA Container Toolkit

Dans le InferenceAmiVersion paramètre du type de ProductionVariant données, vous pouvez sélectionner l'AMI pour un point de terminaison SageMaker AI. Chacune des images prises en charge AMIs est une image préconfigurée. Chaque image est configurée à l' AWS aide d'un ensemble de versions de logiciels et de pilotes.

Par défaut, l' SageMaker IA AMIs suit le comportement existant. Ils montent automatiquement les bibliothèques de compatibilité CUDA dans le conteneur. Pour qu'un point de terminaison utilise le nouveau comportement, vous devez spécifier une version d'AMI d'inférence configurée pour le nouveau comportement.

Les versions d'AMI d'inférence suivantes suivent actuellement le nouveau comportement. Ils ne montent pas automatiquement les bibliothèques de compatibilité CUDA.

al2- -2-1 ami-sagemaker-inference-gpu
  • Version du pilote NVIDIA : 535.54.03

  • Version CUDA : 12.2

al2- -3-1 ami-sagemaker-inference-gpu
  • Version du pilote NVIDIA : 550.144.01

  • Version CUDA : 12.4

Mettre à jour un point de terminaison existant

Utilisez l'exemple suivant pour mettre à jour un point de terminaison existant. L'exemple utilise une version d'AMI d'inférence qui désactive le montage automatique des bibliothèques de compatibilité CUDA.

ENDPOINT_NAME="<endpoint name>" INFERENCE_AMI_VERSION="al2-ami-sagemaker-inference-gpu-3-1" # Obtaining current endpoint configuration CURRENT_ENDPOINT_CFG_NAME=$(aws sagemaker describe-endpoint --endpoint-name "$ENDPOINT_NAME" --query "EndpointConfigName" --output text) NEW_ENDPOINT_CFG_NAME="${CURRENT_ENDPOINT_CFG_NAME}new" # Copying Endpoint Configuration with AMI version specified aws sagemaker describe-endpoint-config \ --endpoint-config-name ${NEW_ENDPOINT_CFG_NAME} \ --output json | \ jq "del(.EndpointConfigArn, .CreationTime) | . + { EndpointConfigName: \"${NEW_ENDPOINT_CFG_NAME}\", ProductionVariants: (.ProductionVariants | map(.InferenceAmiVersion = \"${INFERENCE_AMI_VERSION}\")) }" > /tmp/new_endpoint_config.json # Confirming generated endpoint config looks as expected cat /tmp/new_endpoint_config.json # Creating new endpoint config aws sagemaker create-endpoint-config \ --cli-input-json file:///tmp/new_endpoint_config.json # Updating the endpoint aws sagemaker update-endpoint \ --endpoint-name "$ENDPOINT_NAME" \ --endpoint-config-name "$NEW_ENDPOINT_CFG_NAME" \ --retain-all-variant-properties

Création d'un nouveau terminal

Utilisez l'exemple suivant pour créer un nouveau point de terminaison. L'exemple utilise une version d'AMI d'inférence qui désactive le montage automatique des bibliothèques de compatibilité CUDA.

INFERENCE_AMI_VERSION="al2-ami-sagemaker-inference-gpu-3-1" aws sagemakercreate-endpoint-config \ --endpoint-config-name "<endpoint_config>" \ --production-variants '[{ \ .... "InferenceAmiVersion": "${INFERENCE_AMI_VERSION}", \ ... "}]' aws sagemaker create-endpoint \ --endpoint-name "<endpoint_name>" \ --endpoint-config-name "<endpoint_config>"
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.