Implementando a observabilidade de inferência em clusters HyperPod - SageMaker IA da Amazon

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, incluindo 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 personalizadas de observabilidade.

nota

Este tópico contém um aprofundamento na implementação da observabilidade de inferência em HyperPod clusters. Para obter uma referência mais geral, consulteObservabilidade 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 aprendizado de máquina), integrar-se a soluções personalizadas de observabilidade usando endpoints Prometheus e solucionar problemas comuns de monitoramento.

Métricas de inferência suportadas

Métricas de invocação

Essas métricas capturam dados de solicitação e resposta de inferência do modelo, fornecendo visibilidade universal, independentemente do tipo de modelo ou da estrutura de atendimento. Quando as métricas de inferência estão habilitadas, essas métricas 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 para o modelo

  • model_errors_total- Número total de erros durante a invocação do modelo

  • model_concurrent_requests- Solicitações ativas de modelos simultâneos

  • 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

Modele métricas de contêineres

Essas métricas fornecem informações sobre as operações internas de seus contêineres de modelo, incluindo processamento de tokens, gerenciamento de filas e indicadores de desempenho específicos da estrutura. As métricas disponíveis dependem da sua estrutura de fornecimento de modelos:

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 Kubernetes para multilocação

  • Características do modelo:

    • model_name- Identificador de modelo específico (por exemplo, “llama-2-7b-chat”)

    • model_version- Versão do modelo para A/B testes e reversões

    • model_container_type- Estrutura de atendimento (TGI, LMI, -)

  • Contexto da infraestrutura:

    • pod_name- Identificador de pod individual para depuração

    • node_name- Nó 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 (proxy reverso, contêiner de modelo)

    • task_type- Classificação da carga de trabalho (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 ativar ou desativar 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/v1alpha1 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/v1alpha1 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/v1alpha1 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 desativar métricas para implantações específicas, defina metrics.enabled: false na sua configuração YAML.

Monitore e solucione problemas de cargas de trabalho de inferência por função

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 sua função 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 fornece métricas de infraestrutura para todas as cargas de trabalho

  • A configuração com um 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:

  1. Navegue até o HyperPod console.

  2. Selecione o cluster

  3. 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.

  4. Clique na opção Instalação rápida. Após 1-2 minutos, todas as etapas serão concluídas e você verá o painel da Grafana e os detalhes do espaço de trabalho do Prometheus.

Essa ação única implanta automaticamente o complemento EKS, configura operadores de observabilidade e provisiona painéis pré-construídos no Grafana.

Cientista de dados

Sua responsabilidade: implante modelos com eficiência e monitore seu desempenho básico.

O que você precisa saber:

  • As métricas são ativadas automaticamente quando você implanta modelos

  • Os painéis do Grafana fornecem 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:

  1. Implante seu modelo usando seu método preferido:

    1. Interface do usuário do Amazon SageMaker Studio

    2. HyperPod Comandos CLI

    3. SDK do Python em notebooks

    4. kubectl com configurações YAML

  2. Acesse as métricas do seu modelo:

    1. Abra o Amazon SageMaker Studio

    2. Navegue até o HyperPod Cluster e abra o Painel do Grafana

    3. Selecione o painel de inferência

    4. Aplique filtros para visualizar a implantação de seu modelo específico

  3. Monitore os principais indicadores de desempenho:

    1. Rastreie a latência e a taxa de transferência do modelo

    2. Monitore as taxas de erro e a disponibilidade

    3. Analise as tendências de utilização de recursos

Depois que isso for concluído, você terá visibilidade imediata do desempenho do seu modelo sem configuração adicional, permitindo a identificação rápida de problemas de implantação ou alterações de desempenho.

Engenheiro de aprendizado de máquina (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 profundidades de filas e métricas de token

  • A análise de correlação em vários tipos de métricas revela as causas principais

  • As configurações de escalonamento 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:

  1. Examine o painel da Grafana para entender o escopo e a gravidade do problema de desempenho:

    1. Alerta de alta latência ativo desde 09:30

    2. Latência P99:8,2 s (normal: 2,1 s)

    3. Janela de tempo afetada: 09:30-10:15 (45 minutos)

  2. Correlacione várias métricas para entender o comportamento do sistema durante o incidente:

    1. Solicitações simultâneas: aumentadas para 45 (normal: 15-20)

    2. Dimensionamento de cápsulas: a KEDA escalou de 2 a 5 cápsulas durante o incidente

    3. Utilização da GPU: permaneceu normal (85-90%)

    4. Uso de memória: Normal (24 GB/32 GB)

  3. Examine o comportamento do sistema distribuído, pois as métricas da infraestrutura parecem normais:

    1. Visualização em nível de nó: todos os pods concentrados no mesmo nó (distribuição ruim)

    2. Métricas de contêiner do modelo: a profundidade da fila 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)
  4. Identifique problemas de configuração interconectada:

    1. Política de escalonamento da KEDA: Muito lenta (intervalo de pesquisa de 30 segundos)

    2. Cronograma de escalonamento: a resposta de escalabilidade ficou atrás do pico de tráfego em mais de 45 segundos

  5. Implemente correções específicas com base na análise:

    1. Intervalo de pesquisa KEDA atualizado: 30s → 15s

    2. Aumento do número máximo de réplicas na configuração de escalabilidade

    3. Limites de escalabilidade 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 o desempenho consistente do modelo de produção.

Implemente 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 Grafana e Prometheus.

Acesse 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 seu tipo de modelo ou estrutura de serviço

  • As práticas padrão de raspagem do Prometheus se aplicam à coleta de dados

Configuração do endpoint de métricas de inferência:

  • Porta: 9113

  • Caminho: /metrics

  • Ponto final completo: http://pod-ip:9113/metrics

Métricas de inferência disponíveis:

  • model_invocations_total- Número total de solicitações de invocação para o 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

Acesse 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 sua estrutura de atendimento

  • Essas métricas fornecem informações internas sobre contêineres, como processamento de tokens e profundidade de 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):

Para implantações de JumpStart modelos usando contêineres de inferência de modelos grandes (LMI):

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 (/métricas padrão)

Implemente a integração personalizada de observabilidade

Com uma integração personalizada de observabilidade, você é responsável por:

  1. Raspagem de métricas: implemente a raspagem compatível com o Prometheus a partir dos endpoints acima

  2. Exportação de dados: configure a exportação para a plataforma de observabilidade escolhida

  3. Alertas: configure regras de alerta com base em seus requisitos operacionais

  4. 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:

  1. Verifique se o administrador tem a observabilidade de inferência instalada:

    1. Navegue até o HyperPod console > Selecionar cluster > Verifique se o status “Observabilidade” mostra “Ativado”

    2. Verifique se o link do espaço de trabalho Grafana está acessível a partir da visão geral do cluster

    3. Confirme se o espaço de trabalho Amazon Managed Prometheus está configurado e está recebendo dados

  2. Verifique se o HyperPod Observabilty está ativado:

    hyp observability view
  3. 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:Enabled
    kubectl get jumpstartmodel -n <namespace> customer-chat-llama -o jsonpath='{.status.metricsStatus}' # Expected: enabled: true, state:Enabled
  4. 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
  5. Verifique os registros:

    # 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 desativadas no modelo

Atualizar a configuração do modelo

Adicionar metrics: {enabled: true} à especificação do modelo

Espaço de trabalho AMP não configurado

Corrigir a conexão da fonte de dados

Verifique o ID do espaço de trabalho AMP nas fontes de dados da Grafana

Conectividade de rede

Verifique os grupos de segurança/ NACLs

Garanta que os pods possam alcançar endpoints de AMP