Como garantir capacidade de GPU de curto prazo para cargas de ML com EC2 Capacity Blocks e SageMaker Training Plans

O problema de acesso a GPUs na nuvem

À medida que empresas de todos os portes adotam cargas de trabalho de aprendizado de máquina (ML) — treinamento, ajuste fino e inferência —, a demanda por capacidade de GPU ultrapassou a oferta disponível no mercado, tornando as GPUs um recurso escasso. Isso cria um desafio real para quem precisa de acesso confiável a recursos de computação acelerada.

Uma alternativa comum é criar reservas de capacidade sob demanda (ODCRs). No entanto, as ODCRs são mais adequadas para cargas planejadas e estáveis. Para instâncias GPU — especialmente as do tipo P — a disponibilidade de ODCR de curto prazo costuma ser limitada. Sem um contrato de longo prazo, as ODCRs são cobradas no preço sob demanda, sem nenhuma vantagem de custo. Isso as torna inadequadas para workloads exploratórios, testes pontuais, avaliações ou eventos com data definida.

A AWS publicou um guia detalhando como usar o Amazon EC2 Capacity Blocks for ML e os Amazon SageMaker Training Plans para garantir capacidade GPU reservada em janelas de tempo específicas — seja para testes de carga, validação de modelos, workshops ou preparação de capacidade de inferência antes de um lançamento.

Opções de acesso a GPU de curto prazo na AWS

Existem diferentes caminhos para acessar capacidade GPU na AWS. Cada um tem trade-offs claros entre disponibilidade, custo e controle.

Instâncias sob demanda

A opção mais simples: se houver capacidade disponível na região no momento do lançamento, você já começa a usar sem nenhum compromisso prévio. Funciona bem para experimentos pontuais e tarefas de desenvolvimento. O problema é que a disponibilidade depende da oferta regional e pode mudar rapidamente. Se você pausar ou encerrar uma instância, pode não conseguir reacquirir a mesma capacidade depois — o que frequentemente leva equipes a manter instâncias rodando mais tempo do que o necessário, aumentando o custo.

Instâncias Spot

Instâncias Spot podem reduzir os custos de computação GPU em até 90%, mas trocam economia por incerteza de disponibilidade. As instâncias podem ser interrompidas quando o Amazon EC2 precisar da capacidade de volta. São adequadas para workloads que toleram interrupção: treinamentos distribuídos com checkpoints periódicos, inferência em lote com possibilidade de reprocessamento e ambientes de workshop projetados para lidar com capacidade parcial.

Amazon EC2 Capacity Blocks for ML

O Amazon EC2 Capacity Blocks for ML reserva capacidade GPU para uma janela de tempo específica, garantindo que as instâncias estarão disponíveis quando você precisar delas. Diferente das ODCRs, os Capacity Blocks são totalmente self-service e oferecem melhor disponibilidade de curto prazo para instâncias GPU, com desconto de 40 a 50% em relação ao preço sob demanda.

Com os Capacity Blocks, é possível:

Organizações podem comprar Capacity Blocks e provisioná-los em múltiplas contas, permitindo que diferentes workloads acessem um pool de capacidade reservada sem custo adicional.

Em caso de falha de hardware durante a reserva, é possível encerrar a instância afetada e iniciar uma substituta dentro do mesmo Capacity Block. O sistema devolve o slot de capacidade reservada após aproximadamente 10 minutos de limpeza. A AWS mantém um buffer interno dentro de cada bloco para suportar esse relançamento sem custo adicional.

Limitações importantes dos Capacity Blocks:

Amazon SageMaker Training Plans

Os Amazon SageMaker Training Plans permitem reservar capacidade GPU para workloads gerenciados pelo ambiente do SageMaker AI — incluindo jobs de treinamento, clusters HyperPod e inferência. Eles não são intercambiáveis com os EC2 Capacity Blocks.

Com os Training Plans, é possível:

  • Agendar reservas para instâncias GPU específicas e durações definidas
  • Acessar a capacidade sem gerenciar a infraestrutura subjacente
  • Usar opções de computação acelerada, incluindo as GPUs NVIDIA mais recentes e os aceleradores AWS Trainium

Instâncias do tipo G (exceto G6) não são suportadas atualmente pelos SageMaker Training Plans. Para instâncias G6, é necessário contatar o time de conta da AWS. Para informações detalhadas sobre tipos de instância suportados por região, durações e opções de quantidade, consulte a documentação de tipos de instâncias, regiões e preços.

Os SageMaker Training Plans se aplicam a:

Essa é a escolha certa quando o objetivo é que o SageMaker AI gerencie o provisionamento, o escalonamento e o ciclo de vida das instâncias, enquanto a capacidade reservada fica garantida durante uma janela definida.

Como escolher a opção certa

Ao planejar a estratégia de GPU de curto prazo, a AWS recomenda avaliar três fatores:

A lógica de decisão segue uma progressão do menos restritivo para o mais restritivo:

  1. Defina o modelo de infraestrutura: se você precisa de controle total sobre o sistema operacional, rede e orquestração, use o Amazon EC2. Se preferir um serviço gerenciado que cuide do provisionamento e das operações, use o SageMaker AI.
  2. Comece com capacidade sob demanda: sem compromisso prévio, início imediato se houver capacidade disponível. Se o lançamento falhar, tente outra região ou ajuste o horário de início para períodos de menor demanda. Instâncias Spot podem complementar workloads que toleram interrupção.
  3. Use capacidade reservada quando a certeza for crítica: se o workload precisa iniciar em um horário específico ou se o prazo de entrega depende do acesso garantido à GPU, reserve com antecedência. Para workloads no EC2, use Capacity Blocks. Para workloads no SageMaker, use Training Plans.

Para implantações em produção ou eventos de grande escala que exigem capacidade GPU significativa, a recomendação é iniciar o planejamento com pelo menos três semanas de antecedência e trabalhar com o time de conta da AWS para desenvolver uma estratégia de capacidade adequada ao prazo.

Considerações de custo

Os Capacity Blocks for ML exigem pagamento antecipado e oferecem taxas horárias de 40 a 50% menores em comparação com o preço sob demanda. Como referência, na região US East (N. Virginia), a instância p5.48xlarge custa $34,608/hora com Capacity Blocks versus $55,04/hora no modelo sob demanda.

Os SageMaker Training Plans são precificados entre 70 e 75% abaixo das taxas sob demanda. O pagamento é feito integralmente no momento da reserva. A AWS atualiza os preços periodicamente com base em tendências de oferta e demanda — você paga o preço vigente no momento da reserva, mesmo que o plano comece depois de uma atualização de preços.

Um ponto de atenção: se as instâncias não rodarem continuamente durante todo o período reservado, o custo total da reserva pode superar o custo sob demanda. A avaliação deve levar em conta o tempo real de execução do workload.

Todos os valores de preço mencionados são baseados nos preços públicos da AWS na data de publicação do artigo original e estão sujeitos a alterações. Para os valores mais atualizados, consulte a página de preços do Amazon EC2 e a página de preços do SageMaker AI.

Implementação prática: reservando capacidade GPU para inferência com SageMaker Training Plans

A seguir, a AWS detalha como reservar e usar capacidade GPU para workloads de inferência gerenciados pelos SageMaker Training Plans. É importante destacar que as reservas são específicas para o recurso-alvo selecionado: um plano comprado para inferência não pode ser usado para jobs de treinamento ou clusters HyperPod, e vice-versa.

Para reservas voltadas a jobs de treinamento ou clusters HyperPod, consulte a documentação de criação de training plans para jobs de treinamento ou clusters HyperPod. Para workloads que rodam diretamente no EC2 com necessidade de capacidade reservada em janela fixa, consulte a documentação de Capacity Blocks for ML.

Pré-requisitos

Antes de começar, é necessário ter:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateEndpointConfig",
        "sagemaker:CreateEndpoint",
        "sagemaker:DescribeEndpoint",
        "sagemaker:DeleteEndpoint",
        "sagemaker:DeleteEndpointConfig"
      ],
      "Resource": [
        "arn:aws:sagemaker:*:*:endpoint/*",
        "arn:aws:sagemaker:*:*:endpoint-config/*"
      ]
    }
  ]
}

Criar um training plan

Acesse o console do Amazon SageMaker AI, selecione Training plans no painel de navegação esquerdo e clique em Create training plan. Configure a data preferida, a duração (por exemplo, 1 dia), o tipo de instância e a quantidade (por exemplo, 1 ml.trn1.32xlarge) para Inference Endpoint e clique em Find training plan. O console exibirá os planos disponíveis com o preço total. Revise os planos sugeridos com a precificação antecipada antes de aceitar a reserva.

Após aceitar o plano, adicione os detalhes e clique em Create your plan.

Atenção: os SageMaker Training Plans não podem ser cancelados após a compra. A reserva expirará automaticamente ao fim do período reservado.

Monitorar o status do training plan

Após a criação, o plano entra inicialmente no estado Pending, aguardando o processamento do pagamento. Após a confirmação do pagamento pela AWS, o plano passa para o estado Scheduled. Na data de início, ele se torna Active e o sistema aloca os recursos para uso.

Para verificar o status via AWS CLI:

aws sagemaker describe-training-plan \
    --training-plan-name your-training-plan-name \
    --region your-region

Quando a resposta exibir "Status": "Active", é possível iniciar as tarefas de inferência. Verifique também se o campo TargetResources exibe endpoint, confirmando que o plano está configurado para workloads de inferência.

Criar a configuração do endpoint

aws sagemaker create-endpoint-config \
    --endpoint-config-name your-endpoint-config-name \
    --production-variants '[
      {
        "VariantName": "your-variant-name",
        "ModelName": "your-model-name",
        "InitialInstanceCount": 1,
        "InstanceType": "ml.trn1.32xlarge",
        "CapacityReservationConfig": {
          "MlReservationArn": "your-training-plan-arn",
          "CapacityReservationPreference": "capacity-reservations-only"
        }
      }
    ]'

Implantar o endpoint

aws sagemaker create-endpoint \
    --endpoint-name your-endpoint-name \
    --endpoint-config-name your-endpoint-config-name

Verificar o status do endpoint

aws sagemaker describe-endpoint \
    --endpoint-name your-endpoint-name \
    --region your-region

Limpeza dos recursos

Para evitar cobranças contínuas, exclua os recursos criados:

aws sagemaker delete-endpoint --endpoint-name your-endpoint-name
aws sagemaker delete-endpoint-config --endpoint-config-name your-endpoint-config-name

Conclusão

Garantir capacidade GPU para workloads transitórios exige uma abordagem diferente do planejamento de longo prazo. A lógica recomendada pela AWS é simples: comece com capacidade sob demanda, aumente a flexibilidade sempre que possível e reserve capacidade com antecedência apenas quando a certeza de disponibilidade for crítica para o prazo do projeto.

A distinção entre workloads baseados diretamente no EC2 e workloads gerenciados pelo SageMaker AI é o primeiro critério de decisão. A partir daí, os Capacity Blocks e os Training Plans cobrem os dois cenários com desconto significativo em relação ao preço sob demanda — tornando a reserva antecipada uma escolha economicamente justificável quando o timing é determinante.

Fonte

Secure short-term GPU capacity for ML workloads with EC2 Capacity Blocks for ML and SageMaker training plans (https://aws.amazon.com/blogs/machine-learning/secure-short-term-gpu-capacity-for-ml-workloads-with-ec2-capacity-blocks-for-ml-and-sagemaker-training-plans/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *