Solucionar los errores del Recomendador de inferencias - Amazon SageMaker

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.

Solucionar los errores del Recomendador de inferencias

Esta sección contiene información sobre cómo comprender y evitar errores habituales, los mensajes de error que generan y orientación sobre cómo solucionar estos errores.

Cómo solucionar problemas

Puede intentar resolver el error siguiendo los siguientes pasos:

  • Compruebe si has cumplido todos los requisitos previos para utilizar el Recomendador de inferencias. Consulte Rrequisitos previos del Recomendador de inferencias.

  • Compruebe que puede implementar su modelo desde el registro de modelos en un punto de conexión y que este puede procesar sus cargas útiles sin errores. Consulte Implementar un modelo desde el registro.

  • Al iniciar un trabajo de recomendación de inferencias, debería ver cómo se están creando los puntos finales en la consola y puede revisar los registros. CloudWatch

Errores comunes

Consulte la siguiente tabla para ver los errores más comunes del Recomendador de inferencias y sus soluciones.

Error Solución

Especifique Domain en el paquete de modelo versión 1. Domain es un parámetro obligatorio para el trabajo.

Asegúrese de proporcionar el dominio ML oOTHER, si es desconocido.

No se ARN puede asumir el rol proporcionado y se ha producido un AWSSecurityTokenServiceException error.

Asegúrese de que el rol de ejecución proporcionado tenga los permisos necesarios especificados en los requisitos previos.

Especifique Framework en el paquete del modelo versión 1. Framework es un parámetro obligatorio para el trabajo.

Asegúrese de proporcionar el marco de ML o OTHER si no se conoce.

Los usuarios al final de la fase anterior son 0, mientras que los usuarios iniciales de la fase actual son 1.

Los usuarios aquí se refieren a los usuarios o hilos virtuales que se utilizan para enviar solicitudes. Cada fase comienza con los usuarios A y termina con los usuarios B, de modo que B > A. Entre las fases secuenciales, x_1 y x_2, necesitamos que abs (x_2.a - x_1.b) <= 3 y >= 0.

La duración total del tráfico (transversal) no debe ser superior a la duración del trabajo.

La duración total de todas sus fases no puede superar la duración del trabajo.

No se permite el tipo de instancia con ráfagas ml.t2.medium.

El Recomendador de inferencias no admite las pruebas de carga en la familia de instancias t2 porque las instancias con ráfagas no ofrecen un rendimiento uniforme.

ResourceLimitExceeded al llamar a CreateEndpoint la operación

Ha superado un límite SageMaker de recursos. Por ejemplo, es posible que el Recomendador de inferencias no pueda aprovisionar puntos de enlace para realizar evaluaciones comparativas si la cuenta ha alcanzado la cuota de puntos de conexión. Para obtener más información sobre SageMaker los límites y las cuotas, consulta los SageMakerpuntos de conexión y las cuotas de Amazon.

ModelError al llamar a InvokeEndpoint la operación

Se puede producir un error de modelo por una de las siguientes razones:

  • Se agotó el tiempo de espera de la invocación mientras se esperaba una respuesta del contenedor del modelo.

  • El modelo no ha podido procesar la carga de entrada.

PayloadError al llamar a InvokeEndpoint la operación

Se puede producir un error de carga útil por una de las siguientes razones:

  • La fuente de carga no se encuentra en el bucket de Amazon S3.

  • La carga útil está en un formato de objeto que no es de archivo.

  • La carga útil tiene un tipo de archivo no válido. Por ejemplo, un modelo espera una carga útil de tipo imagen, pero se le pasa un archivo de texto.

  • La carga útil está vacía.

Compruebe CloudWatch

Al iniciar un trabajo de recomendación de inferencias, debería ver cómo se crean los puntos de conexión en la consola. Seleccione uno de los puntos finales y consulte los CloudWatch registros para detectar cualquier error 4xx/5xx. Si ha realizado correctamente un trabajo de recomendación de inferencias, podrá ver los nombres de los puntos de conexión como parte de los resultados. Incluso si su trabajo de recomendación de inferencias no tiene éxito, puede comprobar los CloudWatch registros para ver los puntos finales eliminados siguiendo los pasos que se indican a continuación:

  1. Abre la CloudWatch consola de Amazon en https://console.aws.amazon.com/cloudwatch/.

  2. Seleccione la región en la que creó el trabajo del Recomendador de inferencias en la lista desplegable Región situada en la parte superior derecha.

  3. En el panel de navegación de CloudWatch, selecciona Registros y, a continuación, selecciona Grupos de registros.

  4. Busque el grupo de registro denominado /aws/sagemaker/Endpoints/sm-epc-*. Seleccione el grupo de registro en función de su trabajo de recomendación de inferencias más reciente.

También puede solucionar los problemas de su trabajo consultando los registros del Recomendador de Inferencias. CloudWatch Los registros del Recommender de inferencias, que se publican en el grupo de /aws/sagemaker/InferenceRecommendationsJobs CloudWatch registros, ofrecen una visión general del progreso del trabajo en el flujo de registros. <jobName>/execution Puede encontrar información detallada sobre cada una de las configuraciones de punto de conexión que se están probando en el flujo de registro <jobName>/Endpoint/<endpointName>.

Descripción general de los flujos de registro del Recomendador de Inferencias

  • <jobName>/execution contiene información general sobre el trabajo, como las configuraciones de los puntos de conexión programados para la evaluación comparativa, el motivo por el que se omite el trabajo de compilación y el motivo del error de validación.

  • <jobName>/Endpoint/<endpointName> contiene información como el progreso de la creación de los recursos, la configuración de las pruebas, el motivo de la interrupción de la prueba de carga y el estado de limpieza de los recursos.

  • <jobName>/CompilationJob/<compilationJobName> contiene información sobre los trabajos de compilación creados por el Recomendador de inferencias, como la configuración del trabajo de compilación y el estado del trabajo de compilación.

Crear una alarma para los mensajes de error del Recomendador de inferencias

El Recomendador de inferencias genera declaraciones de registro para detectar errores que pueden ser útiles a la hora de solucionar problemas. Con un grupo de CloudWatch registros y un filtro de métricas, puede buscar términos y patrones en estos datos de registro a medida que se envían los datos. CloudWatch A continuación, puede crear una CloudWatch alarma basada en el filtro métrico de grupos de registros. Para obtener más información, consulte Crear una CloudWatch alarma basada en un filtro métrico de grupo de registros.

Comprobar puntos de referencia

Al iniciar un trabajo de recomendación de inferencias, el Recomendador de inferencias crea varios puntos de referencia para evaluar el rendimiento del modelo en distintos tipos de instancias. Puede utilizar el ListInferenceRecommendationsJobStepsAPIpara ver los detalles de todos los puntos de referencia. Si tiene un punto de referencia erróneo, puede ver los motivos del error como parte de los resultados.

Para usar el ListInferenceRecommendationsJobStepsAPI, proporcione los siguientes valores:

  • Para JobName, indique el nombre del trabajo del Recomendador de inferencias.

  • Para StepType, utilice BENCHMARK para devolver detalles sobre los puntos de referencia del trabajo.

  • Para Status, utilice FAILED para devolver detalles solo sobre los puntos de referencia no aprobados. Para obtener una lista de los demás tipos de estado, consulte el Status campo del ListInferenceRecommendationsJobStepsAPI.

# Create a low-level SageMaker service client. import boto3 aws_region = '<region>' sagemaker_client = boto3.client('sagemaker', region_name=aws_region) # Provide the job name for the SageMaker Inference Recommender job job_name = '<job-name>' # Filter for benchmarks step_type = 'BENCHMARK' # Filter for benchmarks that have a FAILED status status = 'FAILED' response = sagemaker_client.list_inference_recommendations_job_steps( JobName = job_name, StepType = step_type, Status = status )

Puede imprimir el objeto de respuesta para ver los resultados. El ejemplo de código anterior almacenó la respuesta en una variable llamadaresponse:

print(response)