A Amazon Web Services (AWS) anunciou uma atualização importante para o Amazon SageMaker AI Endpoints: o lançamento das métricas aprimoradas com frequência de publicação configurável. Essa novidade oferece uma visibilidade granular essencial para monitorar, diagnosticar e otimizar o desempenho de modelos de machine learning (ML) em produção.
O que são as métricas aprimoradas do SageMaker?
Até então, o monitoramento do SageMaker AI Endpoints era baseado em métricas agregadas pelo Amazon CloudWatch, que forneciam uma visão geral da saúde do sistema, porém sem detalhar o comportamento de instâncias e containers individualmente. Com as métricas aprimoradas, é possível agora acessar dados no nível de container e instância, detalhando uso de CPU, GPU, memória, padrões de requisições, latência e erros.
Quem pode se beneficiar e como usar?
Essa funcionalidade é especialmente útil para equipes que gerenciam múltiplos modelos ou cópias de modelos em um mesmo endpoint, utilizando Inference Components. A granularidade permite:
- Visualizar métricas específicas por cópia de modelo, como requisições concorrentes e utilização de recursos;
- Calcular o custo real por modelo em ambientes multi-modelo, monitorando a alocação de GPU;
- Diagnosticar rapidamente gargalos e problemas em instâncias ou containers específicos.
Detalhes técnicos das métricas
As métricas aprimoradas dividem-se em duas categorias principais:
- Métricas de utilização de recursos EC2: monitoram CPU, GPU e memória no nível de instância e container.
- Métricas de invocação: acompanham padrões de requisições, erros (4XX/5XX), latência do modelo e latência geral, com dimensões detalhadas.
Por padrão, todas as instâncias de endpoints SageMaker possuem métricas no nível de instância, enquanto o nível de container está disponível para quem usa Inference Components.
Configuração e frequência de publicação
Para ativar as métricas aprimoradas, basta incluir o parâmetro EnableEnhancedMetrics ao criar a configuração do endpoint, podendo definir a frequência de publicação entre 10, 30 ou 60 segundos:
response = sagemaker_client.create_endpoint_config(
EndpointConfigName='my-config',
ProductionVariants=[{
'VariantName': 'AllTraffic',
'ModelName': 'my-model',
'InstanceType': 'ml.g6.12xlarge',
'InitialInstanceCount': 2
}],
MetricsConfig={
'EnableEnhancedMetrics': True,
'MetricsPublishFrequencyInSeconds': 10 # padrão 60s
}
)A escolha da frequência deve considerar o equilíbrio entre necessidade de monitoramento em tempo real e custos do CloudWatch. A resolução padrão de 60 segundos atende a maioria dos casos, enquanto 10 segundos são recomendados para aplicações críticas ou análise profunda.
Casos de uso práticos
- Monitoramento em tempo real da GPU: permite acompanhar a alocação e utilização de GPUs por componente de inferência, facilitando a otimização de custos e desempenho.
- Atribuição de custo por modelo: calcula o custo cumulativo de cada modelo em ambientes multi-modelo, usando métricas de GPU e expressões matemáticas para refletir o consumo real.
- Monitoramento do cluster: agrega métricas para visualizar uso total de GPUs, número de instâncias e capacidade livre, fundamental para planejamento de capacidade.
Ferramentas para visualização e análise
A AWS disponibiliza um notebook com exemplos práticos para criação de dashboards no CloudWatch, combinando métricas de uso de recursos e custos por modelo. Esses dashboards incluem widgets interativos para análise ad hoc, com seleção de intervalos de tempo e exibição detalhada de métricas.
Melhores práticas recomendadas
- Inicie com resolução de 60 segundos para manter os custos sob controle.
- Use resolução de 10 segundos apenas para endpoints críticos ou em fases de troubleshooting.
- Explore dimensões como
InferenceComponentName,ContainerIdeGpuIdpara análises detalhadas. - Configure alarmes para monitorar capacidade ociosa de GPUs e garantir buffer para escalabilidade.
- Combine métricas de invocação e de recursos para identificar correlações entre tráfego e uso.
Disponibilidade e acesso
As métricas aprimoradas já estão disponíveis para todos os usuários do Amazon SageMaker AI Endpoints. Para começar a utilizar, é necessário criar ou atualizar a configuração do endpoint com o parâmetro de ativação das métricas. A documentação oficial e o notebook com exemplos podem ser acessados nos links abaixo.
Links úteis
Com essa atualização, o Amazon SageMaker reforça seu compromisso em oferecer ferramentas avançadas para gerenciar modelos de machine learning em produção, garantindo maior eficiência operacional, melhor custo-benefício e rapidez na resolução de problemas.
Frequently Asked Questions
Qual a principal diferença entre as métricas aprimoradas e as métricas anteriores do SageMaker?
As métricas aprimoradas oferecem visibilidade granular no nível de container e instância, detalhando uso de CPU, GPU, memória, latência e erros. As métricas anteriores eram agregadas pelo CloudWatch, fornecendo apenas uma visão geral do sistema sem esses detalhes específicos.
Como a granularidade das métricas aprimoradas ajuda a otimizar custos em ambientes multi-modelo?
A granularidade permite calcular o custo real por modelo em ambientes multi-modelo, monitorando a alocação de GPU e o uso de recursos de cada componente de inferência. Isso possibilita identificar modelos que consomem mais recursos e otimizar a alocação.
Em quais cenários a frequência de publicação de 10 segundos para as métricas aprimoradas é mais recomendada?
A frequência de 10 segundos é recomendada para aplicações críticas que exigem monitoramento em tempo real ou durante fases de troubleshooting intensivo. Ela oferece a maior detalhe para diagnóstico rápido de gargalos e problemas.
O que são Inference Components e como eles se relacionam com as métricas aprimoradas?
Inference Components são utilizados para gerenciar múltiplos modelos ou cópias de modelos em um único endpoint. As métricas aprimoradas fornecem dados no nível de container para cada Inference Component, permitindo monitorar individualmente o desempenho e recursos de cada um.
Como posso configurar as métricas aprimoradas para meu endpoint SageMaker?
Ao criar a configuração do endpoint, você deve incluir o parâmetro EnableEnhancedMetrics como True e definir a MetricsPublishFrequencyInSeconds para 10, 30 ou 60 segundos. O padrão é 60 segundos se não especificado.
Descubra mais sobre noticiAI
Assine para receber nossas notícias mais recentes por e-mail.


