As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Implementando a observabilidade de inferência em clusters HyperPod
SageMaker HyperPod A Amazon fornece recursos abrangentes de observabilidade de inferência que permitem que cientistas de dados e engenheiros de aprendizado de máquina monitorem e otimizem seus modelos implantados. Essa solução é habilitada por meio do SageMaker HyperPod Observability e coleta automaticamente métricas de desempenho para cargas de trabalho de inferência, oferecendo monitoramento pronto para a produção por meio de painéis integrados do Prometheus e do Grafana.
Com as métricas habilitadas por padrão, a plataforma captura dados essenciais de desempenho do modelo, como latência de invocação, solicitações simultâneas, taxas de erro e métricas em nível de token, ao mesmo tempo em que fornece endpoints padrão do Prometheus para clientes que preferem implementar soluções de observabilidade personalizadas.
nota
Este tópico contém um aprofundamento na implementação da observabilidade de inferência em HyperPod clusters. Para ver uma referência mais geral, consulte Observabilidade de clusters e tarefas.
Este guia fornece step-by-step instruções para implementar e usar a observabilidade por inferência em seus HyperPod clusters. Você aprenderá a configurar métricas em seus arquivos YAML de implantação, acessar painéis de monitoramento com base em sua função (administrador, cientista de dados ou engenheiro de machine learning), integrar-se a soluções personalizadas de observabilidade usando endpoints do Prometheus e solucionar problemas comuns de monitoramento.
Métricas de inferência compatíveis
Métricas de invocação
Essas métricas capturam dados de solicitação e resposta de inferência do modelo, oferecendo visibilidade ilimitada, independentemente do tipo de modelo ou do framework de serviço. Quando as métricas de inferência estão habilitadas, elas são calculadas no momento da invocação e exportadas para sua infraestrutura de monitoramento.
-
model_invocations_total: número total de solicitações de invocação de modelo. -
model_errors_total: número total de erros durante a invocação do modelo. -
model_concurrent_requests: solicitações simultâneas de modelo ativas. -
model_latency_milliseconds: latência de invocação do modelo em milissegundos. -
model_ttfb_milliseconds: tempo de modelagem até a latência do primeiro byte em milissegundos.
Métricas de contêiner do modelo
Essas métricas fornecem informações sobre as operações internas dos contêineres do modelo, como processamento de tokens, gerenciamento de filas e indicadores de desempenho específicos do framework. As métricas disponíveis dependem do framework de serviço:
Dimensões métricas
Todas as métricas de inferência incluem rótulos abrangentes que permitem filtragem e análise detalhadas em suas implantações:
-
Identidade do cluster:
-
cluster_id- O ID exclusivo do HyperPod cluster -
cluster_name- O nome do HyperPod cluster
-
-
Identidade do recurso:
-
resource_name- Nome da implantação (por exemplo, "jumpstart-model-deployment“) -
resource_type: tipo de implantação (jumpstart, inference-endpoint). -
namespace: namespace do Kubernetes para multilocação.
-
-
Características do modelo:
-
model_name: identificador específico do modelo (por exemplo, “llama-2-7b-chat”). -
model_version- Versão do modelo para A/B testes e reversões -
model_container_type: framework de serviço (TGI, LMI).
-
-
Contexto da infraestrutura:
-
pod_name: identificador de pod individual para depuração. -
node_name: nó do Kubernetes para correlação de recursos. -
instance_type- tipo de EC2 instância para análise de custos
-
-
Contexto operacional:
-
metric_source: ponto de coleta (reverse-proxy, model-container). -
task_type: classificação de workloads (inferência).
-
Configurar métricas no YAML de implantação
A Amazon SageMaker HyperPod habilita métricas de inferência por padrão para todas as implantações de modelos, fornecendo observabilidade imediata sem configuração adicional. Você pode personalizar o comportamento das métricas modificando a configuração YAML de implantação para habilitar ou desabilitar a coleta de métricas com base em seus requisitos específicos.
Implemente um modelo a partir de JumpStart
Use a seguinte configuração YAML para implantar um JuJumpStartmpStart modelo com métricas ativadas:
apiVersion: inference.sagemaker.aws.amazon.com/v1 kind: JumpStartModel metadata: name:mistral-model namespace: ns-team-a spec: model: modelId: "huggingface-llm-mistral-7b-instruct" modelVersion: "3.19.0" metrics: enabled:true # Default: true (can be set to false to disable) replicas: 2 sageMakerEndpoint: name: "mistral-model-sm-endpoint" server: instanceType: "ml.g5.12xlarge" executionRole: "arn:aws:iam::123456789:role/SagemakerRole" tlsConfig: tlsCertificateOutputS3Uri: s3://hyperpod/mistral-model/certs/
Implemente modelos personalizados e ajustados do Amazon S3 ou da Amazon FSx
Configure endpoints de inferência personalizados com configurações de métricas detalhadas usando o seguinte YAML:
apiVersion: inference.sagemaker.aws.amazon.com/v1 kind: JumpStartModel metadata: name:mistral-model namespace: ns-team-a spec: model: modelId: "huggingface-llm-mistral-7b-instruct" modelVersion: "3.19.0" metrics: enabled:true # Default: true (can be set to false to disable) replicas: 2 sageMakerEndpoint: name: "mistral-model-sm-endpoint" server: instanceType: "ml.g5.12xlarge" executionRole: "arn:aws:iam::123456789:role/SagemakerRole" tlsConfig: tlsCertificateOutputS3Uri: s3://hyperpod/mistral-model/certs/ Deploy a custom inference endpoint Configure custom inference endpoints with detailed metrics settings using the following YAML: apiVersion: inference.sagemaker.aws.amazon.com/v1 kind: InferenceEndpointConfig metadata: name: inferenceendpoint-deepseeks namespace: ns-team-a spec: modelName: deepseeks modelVersion: 1.0.1 metrics: enabled: true # Default: true (can be set to false to disable) metricsScrapeIntervalSeconds: 30 # Optional: if overriding the default 15s modelMetricsConfig: port: 8000 # Optional: if overriding, it defaults to the WorkerConfig.ModelInvocationPort.ContainerPort within the InferenceEndpointConfig spec 8080 path: "/custom-metrics" # Optional: if overriding the default "/metrics" endpointName: deepseek-sm-endpoint instanceType: ml.g5.12xlarge modelSourceConfig: modelSourceType: s3 s3Storage: bucketName: model-weights region: us-west-2 modelLocation: deepseek prefetchEnabled: true invocationEndpoint: invocations worker: resources: limits: nvidia.com/gpu: 1 requests: nvidia.com/gpu: 1 cpu: 25600m memory: 102Gi image: 763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:0.32.0-lmi14.0.0-cu124 modelInvocationPort: containerPort: 8080 name: http modelVolumeMount: name: model-weights mountPath: /opt/ml/model environmentVariables: ... tlsConfig: tlsCertificateOutputS3Uri: s3://hyperpod/inferenceendpoint-deepseeks4/certs/
nota
Para desabilitar métricas para implantações específicas, defina metrics.enabled:
false na sua configuração YAML.
Monitorar e solucionar problemas de workload de inferência por perfil
SageMaker HyperPod A Amazon fornece recursos abrangentes de observabilidade que oferecem suporte a diferentes fluxos de trabalho de usuários, desde a configuração inicial do cluster até a solução avançada de problemas de desempenho. Use a orientação a seguir com base em seu perfil e requisitos de monitoramento.
HyperPod administrador
Sua responsabilidade: habilitar a infraestrutura de observabilidade e garantir a integridade do sistema em todo o cluster.
O que você precisa saber:
-
A observabilidade em todo o cluster oferece métricas de infraestrutura para todas as workloads,
-
A configuração com um único clique implanta a pilha de monitoramento com painéis pré-configurados.
-
As métricas de infraestrutura são separadas das métricas de inferência específicas do modelo.
O que você precisa fazer:
-
Navegue até o HyperPod console.
-
Selecione o cluster
-
Acesse a página de detalhes do HyperPod cluster que você acabou de criar. Você verá uma nova opção para instalar o complemento de HyperPod observabilidade.
-
Clique na opção Instalação rápida. Após de 1 a 2 minutos, todas as etapas serão concluídas e você verá o painel do Grafana e os detalhes do espaço de trabalho do Prometheus.
Essa ação única implanta automaticamente o complemento do EKS, configura operadores de observabilidade e provisiona painéis predefinidos no Grafana.
Cientista de dados
Sua responsabilidade: implantar modelos com eficiência e monitorar o desempenho básico.
O que você precisa saber:
-
As métricas são habilitadas automaticamente quando você implanta modelos.
-
Os painéis do Grafana oferecem visibilidade imediata do desempenho do modelo.
-
Você pode filtrar painéis para se concentrar em suas implantações específicas.
O que você precisa fazer:
-
Implemente o modelo usando o método de sua preferência:
-
Interface do usuário do Amazon SageMaker Studio
-
HyperPod Comandos CLI
-
Python SDK em cadernos
-
kubectl com configurações YAML
-
-
Acesse as métricas do seu modelo:
-
Abra o Amazon SageMaker Studio
-
Navegue até o HyperPod Cluster e abra o Painel do Grafana
-
Selecione o painel de inferência.
-
Aplique filtros para visualizar a implantação de seu modelo específico.
-
-
Indicadores-chave de desempenho:
-
Rastreie a latência e o throughput do modelo.
-
Monitore as taxas de erro e a disponibilidade.
-
Analise as tendências de utilização de recursos.
-
Depois que isso for concluído, você terá visibilidade imediata do desempenho do modelo sem configuração adicional, permitindo a identificação rápida de problemas de implantação ou alterações de desempenho.
Engenheiro de machine learning (MLE)
Sua responsabilidade: manter o desempenho do modelo de produção e resolver problemas complexos de desempenho.
O que você precisa saber:
-
As métricas avançadas incluem detalhes do contêiner do modelo, como tamanho das filas e métricas de token.
-
A análise de correlação em vários tipos de métrica revela as causas principais.
-
As configurações de ajuste de escala automático afetam diretamente o desempenho durante picos de tráfego.
Cenário hipotético: o modelo de chat de um cliente experimenta respostas lentas e intermitentes. Os usuários estão reclamando de atrasos de 5 a 10 segundos. O MLE pode alavancar a observabilidade da inferência para uma investigação sistemática do desempenho.
O que você precisa fazer:
-
Examine o painel do Grafana para entender o escopo e a gravidade do problema de desempenho:
-
Alerta de alta latência ativo desde às 9h30.
-
Latência P99: 8,2 s (normal: 2,1 s).
-
Janela de tempo afetada: 9h30-10h15 (45 minutos).
-
-
Correlacione várias métricas para entender o comportamento do sistema durante o incidente:
-
Solicitações simultâneas: aumentadas para 45 (normal: 15-20).
-
Ajuste de escala de pods: o KEDA escalou 2→5 pods durante o incidente.
-
Utilização da GPU: permaneceu normal (85%-90%).
-
Uso de memória: normal (24 GB/32 GB).
-
-
Examine o comportamento do sistema distribuído, pois as métricas da infraestrutura parecem normais:
-
Visualização em nível de nó: todos os pods concentrados no mesmo nó (distribuição ruim).
-
Métricas de contêiner do modelo: tamanho da fila de TGI mostra 127 solicitações (normal: 5-10).
Available in Grafana dashboard under "Model Container Metrics" panel Metric: tgi_queue_size{resource_name="customer-chat-llama"} Current value: 127 requests queued (indicates backlog) -
-
Identifique problemas de configuração interconectados:
-
Política de escalabilidade do KEDA: muito lenta (intervalo de pesquisa de 30 segundos).
-
Cronograma de ajuste de escala: houve um atraso de 45 segundos entre o pico de tráfego e a reação do ajuste de escala.
-
-
Implemente correções específicas com base na análise:
-
Intervalo de pesquisa do KEDA atualizado: 30 s → 15 s.
-
Aumento de maxReplicas na configuração de ajuste de escala.
-
Limites de ajuste de escala ajustados para escalar mais cedo (15 versus 20 solicitações simultâneas).
-
Você pode diagnosticar sistematicamente problemas complexos de desempenho usando métricas abrangentes, implementar correções específicas e estabelecer medidas preventivas para manter um desempenho consistente do modelo de produção.
Implementar sua própria integração de observabilidade
A Amazon SageMaker HyperPod expõe métricas de inferência por meio de endpoints Prometheus padrão do setor, permitindo a integração com sua infraestrutura de observabilidade existente. Use essa abordagem quando preferir implementar soluções de monitoramento personalizadas ou integrar-se a plataformas de observabilidade de terceiros em vez de usar a pilha integrada do Grafana e Prometheus.
Acessar endpoints de métricas de inferência
O que você precisa saber:
-
As métricas de inferência são expostas automaticamente em endpoints padronizados do Prometheus.
-
As métricas estão disponíveis independentemente do tipo de modelo ou do framework de serviço.
-
As práticas padrão de extração do Prometheus se aplicam à coleta de dados.
Configuração do endpoint de métricas de inferência:
-
Porta: 9113
-
Caminho: /metrics
-
Endpoint completo: http://pod-ip:9113/metrics
Métricas de instância disponíveis:
-
model_invocations_total: número total de solicitações de invocação de modelo. -
model_errors_total: número total de erros durante a invocação do modelo. -
model_concurrent_requests: solicitações simultâneas ativas por modelo. -
model_latency_milliseconds: latência de invocação do modelo em milissegundos. -
model_ttfb_milliseconds: tempo de modelagem até a latência do primeiro byte em milissegundos.
Acessar as métricas de contêiner do modelo
O que você precisa saber:
-
Os contêineres de modelo expõem métricas adicionais específicas para o framework de serviço.
-
Essas métricas fornecem informações internas sobre contêineres, como processamento de tokens e tamanho das filas.
-
A configuração do endpoint varia de acordo com o tipo de contêiner do modelo.
Para implantações de JumpStart modelos usando contêineres de inferência de geração de texto (TGI):
-
Porta: 8080 (porta de contêiner do modelo)
-
Caminho: /metrics
-
Documentação: https://huggingface. co/docs/text-generation-inference/en/reference/metrics
Para implantações de JumpStart modelos usando contêineres de inferência de modelos grandes (LMI):
-
Porta: 8080 (porta de contêiner do modelo)
-
Caminho: /server/metrics
-
Documentação: https://github.com/deepjavalibrary/ djl- .md serving/blob/master/prometheus/README
Para endpoints de inferência personalizados (BYOD):
-
Porta: configurada pelo cliente (o padrão 8080 é o padrão o. WorkerConfig ModelInvocationPort. ContainerPort dentro da InferenceEndpointConfig especificação.)
-
Caminho: configurado pelo cliente (padrão /metrics).
Implementar integração de observabilidade personalizada
Com uma integração de observabilidade personalizada, você é responsável pelo seguinte:
-
Extração das métricas: implemente a extração compatível com o Prometheus nos endpoints acima.
-
Exportação de dados: configure a exportação para a plataforma de observabilidade escolhida.
-
Alertas: configure regras de alerta com base em seus requisitos operacionais.
-
Painéis: crie painéis de visualização para suas necessidades de monitoramento.
Solucionar problemas de observabilidade de inferência
O painel não mostra dados
Se o painel do Grafana estiver vazio e todos os painéis mostrarem “Sem dados”, execute as seguintes etapas para investigar:
-
Verifique se o administrador tem a observabilidade de inferência instalada:
-
Navegue até o HyperPod console > Selecionar cluster > Verifique se o status “Observabilidade” mostra “Ativado”
-
Verifique se é possível acessar o link do espaço de trabalho do Grafana pela visão geral do cluster.
-
Confirme se o espaço de trabalho do Amazon Managed for Prometheus está configurado e está recebendo dados.
-
-
Verifique se o HyperPod Observabilty está ativado:
hyp observability view -
Verifique se as métricas do modelo estão habilitadas:
kubectl get jumpstartmodel -n <namespace> customer-chat-llama -o jsonpath='{.status.metricsStatus}' # Expected: enabled: true, state:Enabledkubectl get jumpstartmodel -n <namespace> customer-chat-llama -o jsonpath='{.status.metricsStatus}' # Expected: enabled: true, state:Enabled -
Verifique o endpoint de métricas:
kubectl port-forward pod/customer-chat-llama-xxx 9113:9113 curl localhost:9113/metrics | grep model_invocations_total# Expected: model_invocations_total{...} metrics -
Verifique os logs:
# Model Container kubectl logs customer-chat-llama-xxx -c customer-chat-llama# Look for: OOM errors, CUDA errors, model loading failures # Proxy/SideCar kubectl logs customer-chat-llama-xxx -c sidecar-reverse-proxy# Look for: DNS resolution issues, upstream connection failures # Metrics Exporter Sidecar kubectl logs customer-chat-llama-xxx -c otel-collector# Look for: Metrics collection issues, export failures
Outros problemas comuns
| Problema | Solução | Ação |
|---|---|---|
|
A observabilidade de inferência não está instalada |
Instale a observabilidade de inferência por meio do console. |
“Ativar observabilidade” no console HyperPod |
|
Métricas desabilitadas no modelo |
Atualize a configuração do modelo. |
Adicione |
|
Espaço de trabalho do AMP não configurado |
Corrija a conexão da fonte de dados. |
Verifique o ID do espaço de trabalho do AMP nas fontes de dados do Grafana. |
|
Conectividade de rede |
Verifique os grupos de segurança/ NACLs |
Garanta que os pods possam alcançar endpoints do AMP. |