Inteligência artificial, sem ruído.
Infraestrutura4 min

Como reservar capacidade GPU para endpoints de inferência no SageMaker usando planos de treinamento

Introdução à reserva de capacidade GPU para inferência no SageMaker Executar inferência com grandes modelos de linguagem (LLMs) exige capacidade GPU…

Introdução à reserva de capacidade GPU para inferência no SageMaker

Executar inferência com grandes modelos de linguagem (LLMs) exige capacidade GPU confiável, especialmente durante períodos críticos de avaliação, testes temporários de produção ou picos de demanda. A disponibilidade imprevisível de instâncias sob demanda pode atrasar implantações e prejudicar a performance das aplicações.

Para resolver isso, o Amazon SageMaker AI oferece planos de treinamento que permitem reservar capacidade computacional para janelas de tempo específicas. Embora originalmente criados para cargas de treinamento, esses planos agora suportam endpoints de inferência, garantindo GPU da família p para workloads temporários de inferência com disponibilidade previsível.

Visão geral do fluxo para reservar e usar capacidade GPU com planos de treinamento

O processo consiste em quatro fases principais:

  1. Identificar requisitos de capacidade: definir tipo e quantidade de instância, além da duração necessária.
  2. Buscar ofertas disponíveis: consultar capacidade disponível para o período desejado.
  3. Criar a reserva do plano de treinamento: selecionar a oferta e gerar o ARN de reserva.
  4. Implantar e gerenciar o endpoint: configurar o endpoint SageMaker para usar a capacidade reservada e controlar seu ciclo de vida.

Pré-requisitos para seguir o tutorial

  • Função IAM com permissões para execução no SageMaker AI.
  • Modelo treinado e armazenado no Amazon S3.
  • CLI da AWS instalado e configurado, ou acesso ao console SageMaker AI.
  • Conta AWS ativa e configurada para usar SageMaker AI.

Passo 1: Buscar capacidade GPU disponível e criar reserva

Suponha que uma equipe precise de uma instância ml.p5.48xlarge por uma semana para avaliação de modelos a partir de uma data específica. Usando o CLI da AWS, execute o comando abaixo para buscar ofertas:

aws sagemaker search-training-plan-offerings \
  --target-resources "endpoint" \
  --instance-type "ml.p5.48xlarge" \
  --instance-count 1 \
  --duration-hours 168 \
  --start-time-after "2025-01-27T15:48:14-04:00" \
  --end-time-before "2025-01-31T14:48:14-05:00"

O resultado traz detalhes como ID da oferta, zona de disponibilidade, preço e janela de reserva. Após escolher, crie a reserva:

aws sagemaker create-training-plan \
  --training-plan-offering-id "tpo-SHA-256-hash-value" \
  --training-plan-name "p4-for-inference-endpoint"

O comando retorna o ARN do plano de treinamento, que será usado para vincular o endpoint à capacidade reservada.

Alternativamente, é possível realizar essa busca e reserva diretamente pelo console SageMaker AI, navegando até Model training & customization > Training plans e seguindo o fluxo visual para pesquisa, detalhamento e compra.

Passo 2: Configurar o endpoint com a reserva do plano de treinamento

Ao criar a configuração do endpoint, inclua o objeto CapacityReservationConfig na seção ProductionVariants, apontando para o ARN da reserva:

--endpoint-config-name "ftp-ep-config" \
--production-variants '[{ 
  "VariantName": "AllTraffic", 
  "ModelName": "my-model", 
  "InitialInstanceCount": 1, 
  "InstanceType": "ml.p5.48xlarge", 
  "InitialVariantWeight": 1.0, 
  "CapacityReservationConfig": { 
    "CapacityReservationPreference": "capacity-reservations-only", 
    "MlReservationArn": "arn:aws:sagemaker:us-east-1:123456789123:training-plan/p4-for-inference-endpoint" 
  } 
}]'

O parâmetro CapacityReservationPreference com valor capacity-reservations-only garante que o endpoint utilize somente a capacidade reservada e será desativado ao término da reserva, evitando cobranças inesperadas.

Passo 3: Implantar o endpoint na capacidade reservada

Com a configuração pronta, crie o endpoint:

aws sagemaker create-endpoint \
  --endpoint-name "my-endpoint" \
  --endpoint-config-name "ftp-ep-config"

Após alguns minutos, o endpoint estará ativo e pronto para receber requisições de inferência usando a capacidade garantida pela reserva.

Passo 4: Invocar o endpoint durante o período ativo

Use o comando abaixo para enviar dados para inferência e receber respostas:

aws sagemaker-runtime invoke-endpoint \
  --endpoint-name "my-endpoint" \
  --body fileb://input.json \
  --content-type "application/json" \
  output.json

Durante o período da reserva, o endpoint opera com capacidade garantida, assegurando desempenho estável para testes e benchmarks.

Passo 5: Comportamento do endpoint após expiração da reserva

Se a reserva expirar enquanto o endpoint ainda estiver ativo, e com a configuração capacity-reservations-only, as invocações falharão com erro de capacidade:

{
  "Error": {
    "Code": "ModelError",
    "Message": "Endpoint capacity reservation has expired. Please update endpoint configuration."
  }
}

Para retomar o serviço, é necessário criar nova reserva e atualizar a configuração do endpoint ou migrar para capacidade sob demanda, conforme o passo a seguir.

Passo 6: Atualizar e migrar o endpoint

  • Atualizar modelo na reserva: crie uma nova configuração com o modelo atualizado e o mesmo ARN da reserva, depois atualize o endpoint.
  • Migrar para capacidade sob demanda: crie configuração sem referência ao plano de treinamento e atualize o endpoint para continuar o serviço após o fim da reserva.

Passo 7: Escalar endpoint dentro dos limites da reserva

Se a reserva contemplar mais instâncias do que as inicialmente implantadas, é possível aumentar a contagem durante o período ativo:

aws sagemaker create-endpoint-config \
  --endpoint-config-name "ftp-ep-config-scaled" \
  --production-variants '[{ 
    "VariantName": "AllTraffic", 
    "ModelName": "my-model", 
    "InitialInstanceCount": 2, 
    "InstanceType": "ml.p5.48xlarge", 
    "InitialVariantWeight": 1.0, 
    "CapacityReservationConfig": { 
      "CapacityReservationPreference": "capacity-reservations-only", 
      "MlReservationArn": "arn:aws:sagemaker:us-east-1:123456789123:training-plan/p4-for-inference-endpoint" 
    } 
}]'
aws sagemaker update-endpoint \
  --endpoint-name "my-endpoint" \
  --endpoint-config-name "ftp-ep-config-scaled"

Tentar ultrapassar a capacidade reservada gerará erro de validação.

Passo 8: Encerrar e limpar o endpoint após uso

Finalizada a avaliação, delete o endpoint para liberar recursos e evitar cobranças adicionais.

Links úteis para aprofundamento

Frequently Asked Questions

Posso usar planos de treinamento para inferência com qualquer tipo de GPU no SageMaker?

Atualmente, os planos de treinamento para inferência no SageMaker suportam GPUs da família 'p', como a ml.p5.48xlarge mencionada. É importante verificar a documentação mais recente para confirmar a compatibilidade com outros tipos de instância GPU.

O que acontece com o endpoint se a reserva de capacidade expirar?

Quando a reserva de capacidade expira, se configurado com 'capacity-reservations-only', o endpoint será desativado. Isso garante que você não incorra em custos adicionais por capacidade que não está mais reservada para você.

Qual a diferença entre usar instâncias sob demanda e planos de treinamento para inferência?

Instâncias sob demanda têm disponibilidade imprevisível, o que pode causar atrasos. Planos de treinamento garantem capacidade GPU em janelas de tempo específicas, oferecendo previsibilidade e confiabilidade para workloads críticos de inferência.

É possível alterar o tipo de instância ou a quantidade de GPUs de um endpoint após a reserva?

Uma vez que a reserva é criada e o endpoint configurado, alterar o tipo de instância ou a quantidade de GPUs exigiria a criação de uma nova reserva de plano de treinamento e um novo endpoint.

Como o SageMaker garante que meu endpoint usará a capacidade reservada e não outra?

Ao configurar o endpoint, o parâmetro 'CapacityReservationPreference' definido como 'capacity-reservations-only' instrui o SageMaker a utilizar exclusivamente a capacidade associada ao ARN da reserva especificada.


Descubra mais sobre noticiAI

Assine para receber nossas notícias mais recentes por e-mail.

R
Sobre o autorRedação Noticiai

Equipe editorial dedicada a explicar inteligência artificial com clareza, independência e contexto.