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:
- Reservar uma data de início com até oito semanas de antecedência
- Escolher durações de 1 a 14 dias (em incrementos de 1 dia) ou de 15 a 182 dias (em incrementos de 7 dias)
- Configurar até 64 instâncias por Capacity Block
- Configurar até 256 instâncias distribuídas em múltiplos Capacity Blocks em contas de uma mesma AWS Organizations em uma data específica (mínimo de quatro blocos para atingir esse limite)
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:
- Suportam apenas famílias de instâncias selecionadas, como P5, Trn1 e Trn2 — não cobrem todos os tipos de instância GPU
- Não é possível reservar instâncias gerenciadas pelo SageMaker, como
ml.p4dnouml.p5 - Não podem ser compartilhados nem usados diretamente com o Amazon SageMaker
- Não podem ser movidos ou divididos
- UltraServer Capacity Blocks ficam restritos à conta onde foram adquiridos e não podem ser compartilhados entre contas ou dentro de uma AWS Organization
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:
- Disponibilidade: da capacidade sob demanda à capacidade reservada
- Modelo de custo: preço sob demanda ou compromisso antecipado com preços menores que o on-demand
- Ambiente do workload: acesso direto ao EC2 versus ambiente gerenciado pelo SageMaker
A lógica de decisão segue uma progressão do menos restritivo para o mais restritivo:
- 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.
- 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.
- 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:
- Uma conta AWS com as permissões adequadas de Gerenciamento de Identidade e Acesso (IAM). Para criação de training plans, use a política gerenciada
AmazonSageMakerTrainingPlanCreateAccess. Para criação, descrição e exclusão de endpoints de inferência, use a seguinte política:
{
"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/*"
]
}
]
}
- Um recurso de modelo do SageMaker AI criado e pronto para implantação. Consulte a documentação para criar um modelo.
- A Interface de Linha de Comando da AWS (AWS CLI) versão 2.0 ou superior.
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/)
Leave a Reply