Obtener recomendaciones compiladas con Neo - 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.

Obtener recomendaciones compiladas con Neo

En el Recomendador de inferencias, puede compilar su modelo con Neo y obtener recomendaciones de puntos de conexión para su modelo compilado. SageMaker Neo es un servicio que puede optimizar su modelo para una plataforma de hardware de destino (es decir, un tipo de instancia o un entorno específicos). La optimización de un modelo con Neo podría mejorar el rendimiento del modelo alojado.

En el caso de los marcos y contenedores compatibles con Neo, el Recomendador de inferencias sugiere automáticamente recomendaciones optimizadas para Neo. Para poder participar en la compilación de Neo, su entrada debe cumplir los siguientes requisitos previos:

  • Está utilizando un contenedor DLC o XGBoost de su SageMaker propiedad.

  • Está utilizando una versión de marco compatible con Neo. Para ver las versiones de framework compatibles con Neo, consulte la SageMaker documentación Instancias en la nube de Neo.

  • Neo requiere que proporcione una forma de datos de entrada correcta para su modelo. Puede especificar esta forma de datos como DataInputConfig en InferenceSpecification al crear un paquete de modelos. Para obtener información sobre las formas de datos correctas para cada marco, consulte Preparar el modelo para su compilación en la documentación de SageMaker Neo.

    En el siguiente ejemplo se muestra cómo especificar el campo DataInputConfig en InferenceSpecification, donde data_input_configuration es una variable que contiene la forma de datos en formato de diccionario (por ejemplo,{'input':[1,1024,1024,3]}).

    "InferenceSpecification": { "Containers": [ { "Image": dlc_uri, "Framework": framework.upper(), "FrameworkVersion": framework_version, "NearestModelName": model_name, "ModelInput": {"DataInputConfig": data_input_configuration}, } ], "SupportedContentTypes": input_mime_types, # required, must be non-null "SupportedResponseMIMETypes": [], "SupportedRealtimeInferenceInstanceTypes": supported_realtime_inference_types, # optional }

Si se cumplen estas condiciones en su solicitud, el Recomendador de inferencias ejecutará escenarios para las versiones compiladas y no compiladas del modelo, lo que le proporcionará varias combinaciones de recomendaciones entre las que elegir. Puede comparar las configuraciones de las versiones compiladas y no compiladas de la misma recomendación de inferencia y determinar cuál se adapta mejor a su caso de uso. Las recomendaciones se clasifican según el coste por inferencia.

Para obtener las recomendaciones de compilación de Neo, no tiene que realizar ninguna configuración adicional además de asegurarse de que la entrada cumpla con los requisitos anteriores. Inference Recommender ejecuta automáticamente la compilación de Neo en tu modelo si la entrada cumple los requisitos, y recibes una respuesta que incluye las recomendaciones de Neo.

Si se producen errores durante la compilación de Neo, consulte Solución de errores de compilación de Neo.

La siguiente tabla es un ejemplo de una respuesta que puede obtener de un trabajo de recomendación de inferencias que incluya recomendaciones para modelos compilados. Si el campo InferenceSpecificationName es None, la recomendación es un modelo sin compilar. La última fila, en la que se encuentra el valor del InferenceSpecificationNamecamponeo-00011122-2333-4445-5566-677788899900, corresponde a un modelo compilado con Neo. El valor del campo es el nombre del trabajo de Neo utilizado para compilar y optimizar el modelo.

EndpointName InstanceType InitialInstanceCount EnvironmentParameters CostPerHour CostPerInference MaxInvocations ModelLatency InferenceSpecificationName

sm-epc-example-000111222

ml.c5.9xlarge

1

[]

1,836

9,15E-07

33456

7

Ninguna

sm-epc-example-111222333

ml.c5.2xlarge

1

[]

0,408

2,11E-07

32211

21

Ninguna

sm-epc-example-222333444

ml.c5.xlarge

1

[]

0,204

1,86E-07

18276

92

Ninguna

sm-epc-example-333444555

ml.c5.xlarge

1

[]

0,204

1,60E-07

21286

42

neo-00011122-2333-4445-5566-677788899900

Introducción

Los pasos generales para crear un trabajo de recomendación de inferencias que incluya recomendaciones optimizadas para NEO son los siguientes:

  • Prepare su modelo de ML para la compilación. Para obtener más información, consulte Preparar modelo para la compilación en la documentación de Neo.

  • Empaquete su modelo en un archivo de modelos (archivo .tar.gz).

  • Cree un archivo de carga útil de ejemplo.

  • Registre su modelo en el Registro de SageMaker Modelos.

  • Cree un trabajo de recomendación de inferencias.

  • Vea los resultados del trabajo de recomendación de inferencias y elija una configuración.

  • Depure los errores de compilación, si los hubiera. Para obtener más información, consulte Solución de errores de compilación de Neo.

Para ver un ejemplo que muestre el flujo de trabajo anterior y cómo obtener recomendaciones optimizadas para Neo mediante XGBoost, consulte el siguiente cuaderno de ejemplo. Para ver un ejemplo que muestra cómo obtener recomendaciones optimizadas para Neo TensorFlow, consulte el siguiente cuaderno de ejemplo.