Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Implementación de la observabilidad de inferencias en clústeres HyperPod
Amazon SageMaker HyperPod ofrece capacidades integrales de observabilidad de inferencias que permiten a los científicos de datos y a los ingenieros de aprendizaje automático monitorear y optimizar sus modelos implementados. Esta solución se habilita a través de SageMaker HyperPod Observability y recopila automáticamente métricas de rendimiento para las cargas de trabajo de inferencia, lo que ofrece una supervisión lista para la producción a través de los paneles integrados de Prometheus y Grafana.
Con las métricas habilitadas de forma predeterminada, la plataforma captura datos esenciales de rendimiento del modelo, como la latencia de invocación, las solicitudes simultáneas, las tasas de error y las métricas de los token, al tiempo que proporciona puntos de conexión de Prometheus estándar para los clientes que prefieren implementar soluciones de observabilidad personalizadas.
nota
Este tema contiene información detallada sobre la implementación de la observabilidad de inferencias en los clústeres. HyperPod Para obtener una referencia más general, consulte Observabilidad de clústeres y tareas.
Esta guía proporciona step-by-step instrucciones para implementar y usar la observabilidad de inferencias en sus clústeres. HyperPod Aprenderá a configurar las métricas en los archivos YAML de implementación, a acceder a los paneles de supervisión en función de su rol (administrador, científico de datos o ingeniero de machine learning), a integrarse con soluciones de observabilidad personalizadas mediante puntos de conexión de Prometheus y a solucionar problemas de supervisión comunes.
Métricas de inferencia admitidas
Métricas de invocación
Estas métricas capturan los datos de solicitud y respuesta de inferencia del modelo, lo que proporciona una visibilidad universal independientemente del tipo de modelo o del marco de servicio. Cuando las métricas de inferencia están activas, estas métricas se calculan en el momento de la invocación y se exportan a la infraestructura de supervisión.
-
model_invocations_total: número total de solicitudes de invocación realizadas al modelo -
model_errors_total: número total de errores al invocar el modelo -
model_concurrent_requests: solicitudes simultáneas al modelo activas -
model_latency_milliseconds: latencia de invocación del modelo en milisegundos -
model_ttfb_milliseconds: latencia del modelo con respecto al primer byte en milisegundos
Métricas de contenedor del modelo
Estas métricas proporcionan información sobre las operaciones internas de los contenedores del modelo, incluido el procesamiento de los tokens, la administración de las colas y los indicadores de rendimiento específicos del marco. Las métricas disponibles dependen del marco de servicio del modelo:
Dimensiones métricas
Todas las métricas de inferencia incluyen etiquetas completas que permiten filtrar y analizar con detalle todas las implementaciones:
-
Identidad del clúster:
-
cluster_id- El identificador único del HyperPod clúster -
cluster_name- El nombre del HyperPod clúster
-
-
Identidad del recurso:
-
resource_name- Nombre de la implementación (por ejemplo, "jumpstart-model-deployment«) -
resource_type: tipo de implementación (jumpstart, inference-endpoint) -
namespace: espacio de nombres de Kubernetes para tenencia múltiple
-
-
Características del modelo:
-
model_name: Identificador de modelo específico (por ejemplo, “llama-2-7b-chat”) -
model_version- Versión modelo para A/B pruebas y versiones anteriores -
model_container_type: marco de servicio (TGI, LMI, -)
-
-
Contexto de la infraestructura:
-
pod_name: identificador de pod individual para la depuración -
node_name: nodo de Kubernetes para la correlación de recursos -
instance_type- tipo de EC2 instancia para el análisis de costes
-
-
Contexto operativo:
-
metric_source: punto de recopilación (reverse-proxy, model-container) -
task_type: clasificación de la carga de trabajo (inferencia)
-
Configuración de las métricas en el YAML de implementación
Amazon SageMaker HyperPod habilita las métricas de inferencia de forma predeterminada para todas las implementaciones de modelos, lo que proporciona una observabilidad inmediata sin necesidad de configuración adicional. Puede personalizar el comportamiento de las métricas modificando la configuración de YAML de la implementación para habilitar o deshabilitar la recopilación de métricas en función de sus requisitos específicos.
Implemente un modelo desde JumpStart
Usa la siguiente configuración de YAML para implementar un JuJumpStartmpStart modelo con las métricas habilitadas:
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 y ajustados desde Amazon S3 o Amazon FSx
Configure puntos de conexión de inferencia personalizados con parámetros de métricas detallados mediante el siguiente 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 deshabilitar las métricas para implementaciones específicas, configure metrics.enabled:
false en su configuración de YAML.
Supervise y solucione los problemas de las cargas de trabajo de inferencia por rol
Amazon SageMaker HyperPod proporciona capacidades de observabilidad integrales que admiten diferentes flujos de trabajo de usuario, desde la configuración inicial del clúster hasta la solución avanzada de problemas de rendimiento. Utilice las siguientes instrucciones según su rol y los requisitos de supervisión.
HyperPod administrador
Su responsabilidad: activar la infraestructura de observabilidad y garantizar el buen estado del sistema en todo el clúster.
Qué debe saber:
-
La observabilidad de todo el clúster proporciona métricas de infraestructura de todas las cargas de trabajo.
-
La configuración con un solo clic implementa una pila de supervisión con paneles preconfigurados.
-
Las métricas de la infraestructura son independientes de las métricas de inferencia específicas del modelo.
Qué debe hacer:
-
Navega hasta la HyperPod consola.
-
Seleccione el clúster.
-
Ve a la página de detalles del HyperPod clúster que acabas de crear. Verás una nueva opción para instalar el complemento de HyperPod observabilidad.
-
Haga clic en la opción Instalación rápida. Después de 1 a 2 minutos, se completarán todos los pasos y verá el panel de Grafana y los detalles del espacio de trabajo de Prometheus.
Esta única acción implementa automáticamente el complemento EKS, configura los operadores de observabilidad y aprovisiona paneles prediseñados en Grafana.
Científico de datos
Su responsabilidad: implementar los modelos de manera eficiente y supervisar su rendimiento básico.
Qué debe saber:
-
Las métricas se activan automáticamente al implementar los modelos.
-
Los paneles de Grafana muestran el rendimiento del modelo de forma inmediata.
-
Puede filtrar los paneles para centrarse en implementaciones específicas.
Qué debe hacer:
-
Implementar el modelo con el método que prefiera:
-
Interfaz de usuario de Amazon SageMaker Studio
-
HyperPod Comandos CLI
-
El SDK de Python en los cuadernos
-
kubectl con configuraciones de YAML
-
-
Acceder a las métricas de su modelo:
-
Abre Amazon SageMaker Studio
-
Ve al HyperPod clúster y abre el panel de control de Grafana
-
Seleccione Panel de inferencias.
-
Aplicación de filtros para ver la implementación específica del modelo
-
-
Supervisar los indicadores clave de rendimiento:
-
Realice un seguimiento de la latencia y el rendimiento del modelo.
-
Supervise las tasas de error y la disponibilidad.
-
Revise las tendencias de uso de los recursos.
-
Una vez completado este proceso, tendrá una visibilidad inmediata del rendimiento de su modelo sin que sea necesaria ninguna configuración adicional, lo que le permitirá identificar rápidamente los problemas de implementación o los cambios en el rendimiento.
Ingeniero de machine learning (MLE)
Su responsabilidad: mantener el rendimiento del modelo de producción y resolver problemas de rendimiento complejos.
Qué debe saber:
-
Las métricas avanzadas incluyen detalles del contenedor del modelo, como la profundidad de las colas y las métricas de los token.
-
El análisis de correlación entre varios tipos de métricas revela las causas raíz.
-
Las configuraciones de escalado automático afectan directamente al rendimiento durante los picos de tráfico.
Escenario hipotético: el modelo de chat de un cliente genera respuestas lentas e intermitentes. Los usuarios se quejan de retrasos de entre 5 a 10 segundos. El MLE puede aprovechar la observabilidad de la inferencia para llevar a cabo una investigación sistemática del rendimiento.
Qué debe hacer:
-
Examinar el panel de Grafana para comprender el alcance y la gravedad del problema de rendimiento:
-
Alerta de alta latencia activa desde las 09:30
-
Latencia P99: 8,2 s (normal: 2,1 s)
-
Periodo de tiempo afectado: de las 09:30 a las 10:15 (45 minutos)
-
-
Correlacionar varias métricas para comprender el comportamiento del sistema durante el incidente:
-
Solicitudes simultáneas: ha llegado hasta 45 (normal: de 15 a 20)
-
Escalado de los pods: KEDA ha escalado de 2 a 5 pods durante el incidente
-
Utilización de la GPU: se ha mantenido normal (entre un 85 y un 90 %)
-
Uso de la memoria: normal (24 GB/32 GB)
-
-
Examinar el comportamiento del sistema distribuido, ya que las métricas de la infraestructura parecen normales:
-
Vista por nodos: todos los pods se concentran en el mismo nodo (distribución deficiente)
-
Métricas del contenedor del modelo: la profundidad de la cola de TGI muestra 127 solicitudes (normal: entre 5 y 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) -
-
Identificar los problemas de configuración interconectados:
-
Política de escalado de KEDA: demasiado lenta (intervalo de sondeo de 30 segundos)
-
Plazo de escalado: la respuesta de escalado se ha retrasado más de 45 segundos con respecto al pico de tráfico
-
-
Implementar correcciones específicas basadas en el análisis:
-
Intervalo de sondeo de KEDA actualizado: 30 s → 15 s
-
Aumento de maxReplicas en la configuración de escalado
-
Ajuste de los umbrales de escalado para escalarlos antes (15 frente a 20 solicitudes simultáneas)
-
Puede diagnosticar problemas de rendimiento complejos sistemáticamente usando métricas exhaustivas, implementar correcciones específicas y establecer medidas preventivas para mantener un rendimiento uniforme del modelo de producción.
Implementación de su propia integración de observabilidad
Amazon SageMaker HyperPod expone las métricas de inferencia a través de puntos de enlace Prometheus estándares del sector, lo que permite la integración con su infraestructura de observabilidad existente. Utilice este enfoque cuando prefiera implementar soluciones de supervisión personalizadas o integrarlas con plataformas de observabilidad de terceros en lugar de utilizar la pila integrada de Grafana y Prometheus.
Acceso a los puntos de conexión de las métricas de inferencia
Qué debe saber:
-
Las métricas de inferencia se exponen automáticamente en los puntos de conexión estandarizados de Prometheus.
-
Las métricas están disponibles independientemente del tipo de modelo o del marco de servicio.
-
Se aplican las prácticas estándar de extracción de Prometheus para la recopilación de datos.
Configuración del punto de conexión de las métricas de inferencia:
-
Puerto: 9113
-
Ruta: /metrics
-
Punto de conexión completo: http://pod-ip:9113/metrics
Métricas de instancia disponibles:
-
model_invocations_total: número total de solicitudes de invocación realizadas al modelo -
model_errors_total: número total de errores al invocar el modelo -
model_concurrent_requests: solicitudes simultáneas activas por modelo -
model_latency_milliseconds: latencia de invocación del modelo en milisegundos -
model_ttfb_milliseconds: latencia del modelo con respecto al primer byte en milisegundos
Acceda a las métricas del contenedor del modelo
Qué debe saber:
-
Los contenedores del modelo exponen métricas adicionales específicas de su marco de servicio.
-
Estas métricas proporcionan información interna sobre los contenedores, como el procesamiento de los tokens y la profundidad de las colas.
-
La configuración del punto de conexión varía según el tipo de contenedor del modelo.
Para despliegues de JumpStart modelos que utilizan contenedores de inferencia de generación de texto (TGI):
-
Puerto: 8080 (puerto de contenedor del modelo)
-
Ruta: /metrics
-
Documentación: https://huggingface. co/docs/text-generation-inference/en/reference/metrics
Para despliegues de JumpStart modelos que utilizan contenedores de inferencia de modelos grandes (LMI):
-
Puerto: 8080 (puerto de contenedor del modelo)
-
Ruta: /server/metrics
-
Documentación: djl- .md https://github.com/deepjavalibrary/ serving/blob/master/prometheus/README
Para puntos de conexión de inferencia personalizados (BYOD):
-
Puerto: configurado por el cliente (predeterminado): el 8080 es el. WorkerConfig ModelInvocationPort. ContainerPort dentro de las InferenceEndpointConfig especificaciones.)
-
Ruta: configurada por el cliente (/metrics predeterminada)
Implementación de una integración de observabilidad personalizada
Con una integración de observabilidad personalizada, usted es responsable de:
-
Extracción de métricas: implemente la extracción compatible con Prometheus desde los puntos de conexión anteriores.
-
Exportación de datos: configure la exportación en la plataforma de observabilidad de su elección.
-
Alertas: configure reglas de alerta en función de los requisitos operativos.
-
Paneles: cree paneles de visualización para sus necesidades de supervisión.
Solución de problemas de observabilidad de inferencias
El panel no muestra datos
Si el panel de Grafana está vacío y todos los paneles muestran “Sin datos”, lleve a cabo los siguientes pasos para investigar:
-
Compruebe que el administrador tenga instalada la observabilidad de inferencias:
-
Vaya a la HyperPod consola > Seleccione el clúster > Compruebe si el estado de «Observabilidad» muestra «Activado»
-
Verifique que se pueda acceder al enlace del espacio de trabajo de Grafana desde la descripción general del clúster.
-
Confirme que el espacio de trabajo de Prometheus administrado por Amazon esté configurado y reciba datos.
-
-
Verifica que la HyperPod observabilidad esté habilitada:
hyp observability view -
Verifique que las métricas del modelo estén 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 -
Compruebe el punto de conexión de las 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 -
Consulte los 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
Otros problemas comunes
| Problema | Solución | Action |
|---|---|---|
|
La observabilidad de inferencias no está instalada |
Instale la observabilidad de inferencias desde la consola |
«Habilitar la observabilidad» en la consola HyperPod |
|
Métricas desactivadas en el modelo |
Actualizar la configuración del modelo |
Añadir |
|
El espacio de trabajo AMP no está configurado |
Corregir la conexión del origen de datos |
Verificar el ID del espacio de trabajo de AMP en los orígenes de datos de Grafana |
|
Conectividad de red |
Compruebe los grupos de seguridad/ NACLs |
Asegúrese de que los pods puedan llegar a los puntos de conexión de AMP |