Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Atualização de endpoints de SageMaker IA para estar em conformidade com o NVIDIA Container Toolkit

Modo de foco
Atualização de endpoints de SageMaker IA para estar em conformidade com o NVIDIA Container Toolkit - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

A partir das versões 1.17.4 e superiores, o NVIDIA Container Toolkit não monta mais bibliotecas de compatibilidade CUDA automaticamente. Essa mudança de comportamento pode tornar seus endpoints de SageMaker IA incompatíveis com as versões mais recentes do NVIDIA Container Toolkit.

Recomendamos que você atualize seus endpoints de SageMaker IA existentes ou crie novos que suportem o comportamento padrão mais recente.

Para garantir que seu endpoint seja compatível com as versões mais recentes do NVIDIA Container Toolkit, siga estas etapas:

  1. Atualize a forma como você configura as bibliotecas de compatibilidade CUDA se você trouxer seu próprio contêiner.

  2. Especifique uma Amazon Machine Image (AMI) de inferência que suporte o comportamento mais recente do NVIDIA Container Toolkit. Você especifica uma AMI ao atualizar um endpoint existente ou criar um novo.

Atualizando a configuração de compatibilidade do CUDA se você trouxer seu próprio contêiner

As bibliotecas de compatibilidade CUDA permitem compatibilidade futura. Essa compatibilidade se aplica a qualquer versão do kit de ferramentas CUDA que seja mais recente do que o driver NVIDIA fornecido pela instância de IA. SageMaker

Você deve ativar as bibliotecas de compatibilidade CUDA somente quando o driver NVIDIA usado pela instância de SageMaker IA tiver uma versão mais antiga do que o kit de ferramentas CUDA no contêiner do modelo. Se o contêiner do seu modelo não exigir compatibilidade com CUDA, você pode pular esta etapa. Por exemplo, você pode pular essa etapa se não planeja usar um kit de ferramentas CUDA mais recente do que os fornecidos pelas instâncias de IA. SageMaker

Devido às mudanças introduzidas na versão 1.17.4 do NVIDIA Container Toolkit, você pode habilitar explicitamente as bibliotecas de compatibilidade CUDA, se necessário, adicionando-as ao contêiner. LD_LIBRARY_PATH

Sugerimos que você ative a compatibilidade com CUDA com base na versão detectada do driver NVIDIA. Para habilitá-lo, adicione o trecho de código abaixo ao script do shell de inicialização do contêiner. Adicione esse código no ENTRYPOINT script.

O script a seguir demonstra como alternar dinamicamente o uso da compatibilidade CUDA com base na versão do driver NVIDIA detectada no host implantado para seu contêiner de modelo.

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

Especificação de uma AMI de inferência compatível com o NVIDIA Container Toolkit

No InferenceAmiVersion parâmetro do tipo de ProductionVariant dados, você pode selecionar a AMI para um endpoint de SageMaker IA. Cada uma das imagens suportadas AMIs é pré-configurada. Cada imagem é configurada AWS com um conjunto de versões de software e driver.

Por padrão, a SageMaker IA AMIs segue o comportamento legado. Eles montam automaticamente as bibliotecas de compatibilidade CUDA no contêiner. Para fazer um endpoint usar o novo comportamento, você deve especificar uma versão da AMI de inferência que esteja configurada para o novo comportamento.

Atualmente, as seguintes versões da AMI de inferência seguem o novo comportamento. Eles não montam bibliotecas de compatibilidade CUDA automaticamente.

al2- ami-sagemaker-inference-gpu -2-1
  • Versão do driver NVIDIA: 535.54.03

  • Versão CUDA: 12.2

al2- ami-sagemaker-inference-gpu -3-1
  • Versão do driver NVIDIA: 550.144.01

  • Versão CUDA: 12.4

Atualizando um endpoint existente

Use o exemplo a seguir para atualizar um endpoint existente. O exemplo usa uma versão da AMI de inferência que desativa a montagem automática de bibliotecas de compatibilidade 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

Criando um novo endpoint

Use o exemplo a seguir para criar um novo endpoint. O exemplo usa uma versão da AMI de inferência que desativa a montagem automática de bibliotecas de compatibilidade 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>"
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.