Amazon SageMaker AI lança fallback automático de instâncias para endpoints com pool de capacidade inteligente

A Amazon Web Services (AWS) anunciou uma novidade importante para usuários do Amazon SageMaker AI: a introdução do recurso capacity aware instance pool, que permite a configuração de uma lista priorizada de tipos de instâncias para endpoints de inferência. Com essa funcionalidade, o SageMaker AI gerencia automaticamente a alocação de instâncias, alternando para instâncias alternativas quando a capacidade do tipo preferido estiver limitada, garantindo alta disponibilidade e escalabilidade sem intervenção manual.
Desafios anteriores na criação e escalabilidade de endpoints
Antes do lançamento, a criação de um endpoint de inferência no SageMaker exigia a escolha de um único tipo de instância. Caso essa instância não tivesse capacidade disponível, o endpoint simplesmente falhava na criação, forçando o usuário a alterar manualmente a configuração e tentar novamente — um processo que consumia tempo e recursos. Além disso, durante eventos de auto scaling, se a instância preferida estivesse indisponível, o escalonamento não ocorria, comprometendo a capacidade de atendimento do endpoint. Na redução de escala, não havia distinção entre instâncias preferenciais e fallback, o que dificultava a otimização do uso dos recursos. Por fim, as métricas do Amazon CloudWatch eram agregadas, sem detalhamento por tipo de instância, limitando a análise precisa do desempenho.
Como funciona o pool de instâncias com fallback automático
Com o novo recurso, o usuário define uma lista ordenada de tipos de instâncias, chamada de instance pools, onde cada tipo recebe uma prioridade. O SageMaker AI tenta provisionar o endpoint utilizando o tipo de instância com prioridade mais alta. Se não houver capacidade, ele automaticamente tenta o próximo tipo da lista, e assim por diante, até encontrar uma instância disponível. Esse processo ocorre tanto na criação do endpoint quanto durante eventos de escala para cima e para baixo.
- Provisionamento rápido: o endpoint alcança o estado InService em minutos, sem necessidade de intervenção manual.
- Escalabilidade contínua: o auto scaling escala para o próximo tipo disponível caso a instância preferida esteja indisponível, mantendo o atendimento.
- Otimização de escala para baixo: instâncias de menor prioridade são removidas primeiro, mantendo preferencialmente as melhores instâncias em operação.
- Métricas detalhadas: todos os indicadores do CloudWatch agora incluem a dimensão
InstanceType, facilitando o monitoramento individualizado por tipo de instância.
Modelos otimizados para diferentes instâncias
Como os tipos de instância podem variar em memória, capacidade computacional e arquitetura, modelos otimizados para uma instância de alta performance podem não funcionar eficientemente em instâncias fallback. Para resolver isso, o SageMaker AI oferece duas abordagens:
- Modelos otimizados pelo usuário: você pode preparar diferentes artefatos de modelo, cada um ajustado para um tipo específico de instância, e referenciá-los na configuração do endpoint usando
ModelNameOverride. - Recomendações automáticas do SageMaker AI: usando o recurso de inference recommendations, o SageMaker gera otimizações específicas para cada instância, incluindo técnicas como decodificação especulativa e quantização.
Auto scaling e métricas ponderadas para frota heterogênea
Para frotas compostas por diferentes tipos de instâncias, o SageMaker AI permite criar métricas ponderadas no CloudWatch que consideram a capacidade máxima de cada tipo. Isso evita distorções no monitoramento, garantindo que o auto scaling responda adequadamente ao uso real da frota.
aas.put_scaling_policy(
PolicyName="weighted-utilization-scaling",
ServiceNamespace="sagemaker",
ResourceId="endpoint/my-heterog-endpoint/variant/primary",
ScalableDimension="sagemaker:variant:DesiredInstanceCount",
PolicyType="TargetTrackingScaling",
TargetTrackingScalingPolicyConfiguration={
"TargetValue": 0.7, // escala acima de 70% da capacidade ponderada
"CustomizedMetricSpecification": {
"Metrics": [
// Definição das métricas por tipo de instância
]
},
},
)
Esse método torna o dimensionamento automático mais eficiente em ambientes com hardware variado.
Configuração e migração para pools de instâncias
Para criar um endpoint novo com pools de instâncias, o usuário deve:
- Escolher os tipos de instâncias e definir a prioridade.
- Preparar modelos otimizados para cada tipo ou usar as recomendações do SageMaker AI.
- Criar a configuração do endpoint usando o campo
InstancePoolsno lugar doInstanceType. - Criar o endpoint, que será provisionado automaticamente conforme a capacidade disponível.
- Configurar o monitoramento detalhado via CloudWatch.
Para migrar um endpoint existente, basta criar uma nova configuração substituindo o campo único InstanceType por uma lista InstancePools que inclua o tipo atual com prioridade 1 e as opções fallback com prioridades inferiores. A atualização do endpoint é feita via API, mantendo o serviço disponível durante o processo.
# Exemplo de migração com boto3
sm.create_endpoint_config(
EndpointConfigName="my-config-v2",
ProductionVariants=[{
"VariantName": "primary",
"ModelName": "my-llm",
"InitialInstanceCount": 2,
"InstancePools": [
{"InstanceType": "ml.g6e.48xlarge", "Priority": 1},
{"InstanceType": "ml.g6.48xlarge", "Priority": 2},
{"InstanceType": "ml.p4d.24xlarge", "Priority": 3}
],
}],
)
sm.update_endpoint(
EndpointName="my-endpoint",
EndpointConfigName="my-config-v2",
)
Recomendações para roteamento e atualizações
Para otimizar o balanceamento de carga entre instâncias com diferentes capacidades, recomenda-se ativar o roteamento Least Outstanding Requests (LOR). Essa estratégia direciona as requisições para a instância com menor número de pedidos em andamento, aproveitando melhor a capacidade dos nós mais potentes.
Além disso, o SageMaker AI suporta implantações blue/green e rolling com fallback automático, garantindo alta disponibilidade e segurança durante atualizações e rollbacks.
Disponibilidade e acesso
O suporte a pools de instâncias para endpoints de inferência do SageMaker AI está disponível em todas as regiões comerciais da AWS. Para começar, basta ter uma conta AWS com permissões adequadas (sagemaker:CreateEndpointConfig, sagemaker:CreateEndpoint e sagemaker:UpdateEndpoint), além de modelos armazenados no Amazon S3.
O recurso pode ser acessado via Console AWS, AWS CLI ou SDKs, incluindo o Boto3 (versão 1.43.1 ou superior).
Impacto prático para os usuários
Essa inovação reduz significativamente o tempo e esforço para provisionar e escalar endpoints de inferência, especialmente para workloads de IA generativa que demandam GPUs específicas. A capacidade de fallback automático minimiza falhas por indisponibilidade de hardware, melhora a eficiência do uso da infraestrutura e proporciona maior visibilidade operacional.