Saltar al contenido

¿Cómo puedo solucionar los problemas que se producen al invocar o crear un punto de enlace asincrónico de SageMaker AI?

3 minutos de lectura
0

Quiero solucionar los problemas que se producen al invocar o crear un punto de enlace asincrónico de Amazon SageMaker AI.

Descripción corta

Para detectar los errores que se producen al invocar un punto de enlace asincrónico, consulte los registros de Amazon CloudWatch del punto de enlace. Revise los registros de CloudWatch en el nombre del grupo de registros /aws/sagemaker/Endpoints/example-endpoint-name y el nombre de la secuencia de registro example-production-variant-name/example-instance-id/data-log. Para obtener más información, consulte la secciones Métricas de puntos de enlace comunes y **Métricas de puntos de enlace de inferencia asincrónica de **Supervisión con CloudWatch.

Resolución

Solucione los problemas que se producen al invocar o crear un punto de enlace asincrónico de SageMaker AI en función de los siguientes errores:

«ModelError: An error occurred (ModelError) when calling the InvokeEndpoint operation: Received client error (413) from primary and could not load the entire response body»

Si este error se produce cuando el tamaño de la carga útil es inferior a 1 GB, revise los registros de CloudWatch del punto de enlace asincrónico. Además, pruebe localmente el modelo con imágenes de diferentes tamaños y confirme si el error se produce con tamaños de carga útil inferiores a 1 GB.

Para depurar localmente el modelo, realice más registros (instrucciones de impresión) y, a continuación, compruebe la parte del código que provoca el error. Si el modelo se ejecuta sin errores de forma local, aloje el modelo en SageMaker AI. Para obtener más información, consulte amazon-sagemaker-local-mode en el sitio web de GitHub.

Código de ejemplo:

import logging
import syslogger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler(sys.stdout))
logger.info("Loading file.")print("Loading file. --> from print statement")

Tiempo de espera del trabajador

Este error se produce cuando no hay suficientes trabajadores dentro del contenedor modelo para procesar las solicitudes de ping y de invocación. Para resolver este error, aumente la cantidad de trabajadores y el valor de tiempo de espera de model_server_timeout.

ApproximateAgeOfOldestRequest aumenta con frecuencia hasta que se borra la cola

Este problema se produce cuando las solicitudes en cola no se borran de forma eficiente. Los puntos de enlace asincrónicos de SageMaker AI utilizan un enfoque FIFO (el primero en entrar es el primero en salir). Sin embargo, el tiempo de inferencia del modelo, la contención de recursos o las latencias de la red pueden interferir con el enfoque FIFO.

Si se agota el tiempo de espera de las solicitudes, aumente el valor del parámetro InvocationTimeoutSeconds. Este parámetro especifica la cantidad de tiempo que SageMaker AI espera a que se realice la inferencia antes de que se devuelva un error. El valor máximo que puede establecer es de 3600 segundos (1 hora).

Además, se recomienda agregar una política de escalamiento automático que supervise ApproximateBacklogSizePerInstance. Esto permite que su punto de enlace se escale verticalmente en función del tamaño de las tareas pendientes y que las solicitudes se procesen más rápido.

El tamaño de las tareas pendientes es alto y la cantidad de instancias no aumenta

Para solucionar este problema, utilice los comandos de la de AWS CLI describe-scalable-target, describe-scaling-policies y describe-scaling-activities. Compruebe también si el punto de enlace está en estado InService.

Información relacionada

Solución de problemas

¿Cómo obtener registros o imprimir declaraciones desde el punto de enlace desplegado de SageMaker PyTorch?

Configuración de puntos de enlace de inferencia con escalamiento automático en Amazon SageMaker

Definición de una política de escalamiento

amazon-sagemaker-examples en el sitio de GitHub

OFICIAL DE AWSActualizada hace un año