Crear una recomendación de inferencia - Amazon SageMaker AI

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.

Crear una recomendación de inferencia

Cree una recomendación de inferencia mediante programación utilizando el AWS SDK para Python (Boto3) o la AWS CLI, o de manera interactiva mediante Studio Classic o la consola de SageMaker AI. Especifique un nombre de trabajo para su recomendación de inferencia, un ARN de rol de IAM de AWS, una configuración de entrada y un ARN del paquete de modelos cuando registró el modelo en el registro del modelo, o el nombre del modelo y un diccionario ContainerConfig de cuando creó el modelo en la sección Requisitos previos.

AWS SDK para Python (Boto3)

Utilice la API CreateInferenceRecommendationsJob para iniciar un trabajo de recomendación de inferencias. Defina el campo JobType como 'Default' para los trabajos de recomendación de inferencias. Además, facilite lo siguiente:

  • Nombre de recurso de Amazon (ARN) de un rol de IAM que habilita el Recomendador de inferencias para realizar tareas en su nombre. Defina esto para el campo RoleArn.

  • Un RN de paquete de modelos o nombre de modelo. El Recomendador de inferencias admite un ARN de paquetes de modelos o un nombre de modelo como entrada. Especifique uno de los siguientes valores:

    • El ARN del paquete de modelos con control de versiones que creó al registrar el modelo en el registro de modelos de SageMaker AI. Defina esto para ModelPackageVersionArn en el campo InputConfig.

    • El nombre del modelo que creó. Defina esto para ModelName en el campo InputConfig. Además, proporcione el diccionario ContainerConfig, que incluye los campos obligatorios que deben proporcionarse con el nombre del modelo. Defina esto para ContainerConfig en el campo InputConfig. En ContainerConfig, también puede especificar opcionalmente el campo SupportedEndpointType como RealTime oServerless. Si especifica este campo, el Recomendador de inferencias devolverá recomendaciones únicamente para ese tipo de punto de conexión. Si no especifica este campo, el Recomendador de inferencias devuelve recomendaciones para ambos tipos de puntos de conexión.

  • Un nombre para su trabajo de recomendación del Recomendador de inferencias para el campo JobName. El nombre del trabajo de Recomendador de Inferencias debe ser único en la región de AWS y en su cuenta de AWS.

Importe el paquete de AWS SDK para Python (Boto3) y cree un objeto de cliente de SageMaker AI utilizando la clase de cliente. Si ha seguido los pasos de la sección Requisitos previos, especifique solo uno de los siguientes:

  • Opción 1: si desea crear un trabajo de recomendaciones de inferencia con un ARN de paquete de modelos, almacene el ARN del grupo de paquetes de modelos en una variable denominada model_package_arn.

  • Opción 2: si desea crear un trabajo de recomendaciones de inferencia con un nombre de modelo y ContainerConfig, almacene el nombre del modelo en una variable denominada model_name y el ContainerConfig diccionario en una variable denominada container_config.

# Create a low-level SageMaker service client. import boto3 aws_region = '<INSERT>' sagemaker_client = boto3.client('sagemaker', region_name=aws_region) # Provide only one of model package ARN or model name, not both. # Provide your model package ARN that was created when you registered your # model with Model Registry model_package_arn = '<INSERT>' ## Uncomment if you would like to create an inference recommendations job with a ## model name instead of a model package ARN, and comment out model_package_arn above ## Provide your model name # model_name = '<INSERT>' ## Provide your container config # container_config = '<INSERT>' # Provide a unique job name for SageMaker Inference Recommender job job_name = '<INSERT>' # Inference Recommender job type. Set to Default to get an initial recommendation job_type = 'Default' # Provide an IAM Role that gives SageMaker Inference Recommender permission to # access AWS services role_arn = 'arn:aws:iam::<account>:role/*' sagemaker_client.create_inference_recommendations_job( JobName = job_name, JobType = job_type, RoleArn = role_arn, # Provide only one of model package ARN or model name, not both. # If you would like to create an inference recommendations job with a model name, # uncomment ModelName and ContainerConfig, and comment out ModelPackageVersionArn. InputConfig = { 'ModelPackageVersionArn': model_package_arn # 'ModelName': model_name, # 'ContainerConfig': container_config } )

Consulte la Guía de referencia de la API de Amazon Sagemaker para obtener una lista completa de los argumentos opcionales y obligatorios que puede pasar a CreateInferenceRecommendationsJob.

AWS CLI

Utilice la API create-inference-recommendations-job para iniciar un trabajo de recomendación de inferencias. Defina el campo job-type como 'Default' para los trabajos de recomendación de inferencias. Además, facilite lo siguiente:

  • Nombre de recurso de Amazon (ARN) de un rol de IAM que habilita a Recomendador de inferencias de Amazon SageMaker para realizar tareas en su nombre. Defina esto para el campo role-arn.

  • Un RN de paquete de modelos o nombre de modelo. El Recomendador de inferencias admite un ARN de paquetes de modelos o un nombre de modelo como entrada. Especifique uno de los siguientes valores:

    • El ARN del paquete de modelos versionados que creó al registrar su modelo en el registro de modelos. Defina esto para ModelPackageVersionArn en el campo input-config.

    • El nombre del modelo que creó. Defina esto para ModelName en el campo input-config. Además, proporcione el diccionario ContainerConfig que incluye los campos obligatorios que deben proporcionarse con el nombre del modelo. Defina esto para ContainerConfig en el campo input-config. En ContainerConfig, también puede especificar opcionalmente el campo SupportedEndpointType como RealTime oServerless. Si especifica este campo, el Recomendador de inferencias devolverá recomendaciones únicamente para ese tipo de punto de conexión. Si no especifica este campo, el Recomendador de inferencias devuelve recomendaciones para ambos tipos de puntos de conexión.

  • Un nombre para su trabajo de recomendación del Recomendador de inferencias para el campo job-name. El nombre del trabajo de Recomendador de Inferencias debe ser único en la región de AWS y en su cuenta de AWS.

Para crear trabajos de recomendación de inferencia con un ARN de paquete de modelos, utilice el siguiente ejemplo:

aws sagemaker create-inference-recommendations-job --region <region>\ --job-name <job_name>\ --job-type Default\ --role-arn arn:aws:iam::<account:role/*>\ --input-config "{ \"ModelPackageVersionArn\": \"arn:aws:sagemaker:<region:account:role/*>\", }"

Para crear un trabajo de recomendación de inferencia con un nombre de modelo y ContainerConfig, utilice el siguiente ejemplo. El ejemplo usa el campo SupportedEndpointType para especificar que solo queremos devolver recomendaciones de inferencia en tiempo real:

aws sagemaker create-inference-recommendations-job --region <region>\ --job-name <job_name>\ --job-type Default\ --role-arn arn:aws:iam::<account:role/*>\ --input-config "{ \"ModelName\": \"model-name\", \"ContainerConfig\" : { \"Domain\": \"COMPUTER_VISION\", \"Framework\": \"PYTORCH\", \"FrameworkVersion\": \"1.7.1\", \"NearestModelName\": \"resnet18\", \"PayloadConfig\": { \"SamplePayloadUrl\": \"s3://{bucket}/{payload_s3_key}\", \"SupportedContentTypes\": [\"image/jpeg\"] }, \"SupportedEndpointType\": \"RealTime\", \"DataInputConfig\": \"[[1,3,256,256]]\", \"Task\": \"IMAGE_CLASSIFICATION\", }, }"
Amazon SageMaker Studio Classic

Cree un trabajo de recomendación de inferencias en Studio Classic.

  1. En la aplicación de Studio Classic, elija el icono de inicio ( Black square icon representing a placeholder or empty image. ).

  2. En la barra lateral izquierda de Studio Classic, elija Modelos.

  3. Seleccione Model Registry (Registro de modelos) en la lista desplegable para ver los modelos que ha registrado en el registro de modelos.

    El panel izquierdo muestra una lista de grupos de modelos. La lista incluye todos los grupos de modelos registrados en el registro de modelos de su cuenta, incluidos los modelos registrados fuera de Studio Classic.

  4. Seleccione el nombre del grupo de modelos. Al seleccionar el grupo de modelos, el panel derecho de Studio Classic muestra los encabezados de las columnas, como Versiones y Configuración.

    Si tiene uno o más paquetes de modelos en su grupo de modelos, verá una lista de esos paquetes de modelos en la columna Versiones.

  5. Elija la columna Recomendador de inferencias.

  6. Elija un rol de IAM que conceda a Recomendador de inferencias permiso para acceder a los servicios de AWS. Para ello, puede crear un rol y asociar la política administrada por IAM de AmazonSageMakerFullAccess para lograrlo. O bien, puede dejar que Studio Classic cree un rol por usted.

  7. Elija Obtener recomendaciones.

    La recomendación de inferencia puede tardar hasta 45 minutos.

    aviso

    No cierre esta pestaña. Si cierra esta pestaña, se cancela el trabajo de recomendación de instancias.

SageMaker AI console

Cree un trabajo de recomendación de instancias a través de la consola de SageMaker AI de la siguiente manera:

  1. Vaya a la consola de SageMaker AI en https://console.aws.amazon.com/sagemaker/.

  2. En el panel de navegación de la izquierda, elija Inference (Interferencia) y, a continuación, elija Interference recommender (Reomendador de inferencia.

  3. En la página Trabajos de recomendador de inferencias, elija Crear trabajo.

  4. Para Step 1: Model configuration (Paso 1: Configuración del modelo), haga lo siguiente:

    1. En Job Type (Tipo de trabajo), seleccione Default recommender job (Trabajo de recomendador predeterminado).

    2. Si utiliza un modelo registrado en el registro de modelos de SageMaker AI, active la opción Elegir un modelo del registro de modelos y haga lo siguiente:

      1. En la lista desplegable Grupo de modelos, elija el grupo de modelos en el registro de modelos de SageMaker AI donde se encuentra el modelo.

      2. En la lista desplegable de Model version (versión del modelo), elija la versión que desee del modelo.

    3. Si está utilizando un modelo que ha creado en SageMaker AI, desactive la opción Elegir un modelo del registro de modelos y haga lo siguiente:

      1. En el campo Nombre del modelo, introduzca el nombre del modelo de SageMaker AI.

    4. En la lista desplegable IAM role (Rol de IAM), puede seleccionar un rol de IAM de AWS existente que tenga los permisos necesarios para crear un trabajo de recomendación de instancias. Como alternativa, si no tiene un rol existente, puede elegir Crear un nuevo rol para abrir la ventana emergente de creación del rol y SageMaker AI añadirá los permisos necesarios al nuevo rol que cree.

    5. Para Bucket S3 para la evaluación comparativa de la carga útil, introduzca la ruta de Amazon S3 al archivo de carga útil de muestra, que debe contener los archivos de carga útil de muestra que el Recomendador de inferencias utiliza para comparar su modelo en diferentes tipos de instancias.

    6. Para Payload content type (Tipo de contenido de carga útil), introduzca los tipos MIME de los datos de carga útil de muestra.

    7. (Opcional) Si ha desactivado la opción Elegir un modelo del registro de modelos y ha especificado un modelo de SageMaker AI, para Configuración del contenedor, haga lo siguiente:

      1. En la lista desplegable Domain (Dominio), seleccione el dominio de machine learning del modelo, como visión artificial, procesamiento del lenguaje natural o machine learning.

      2. En la lista desplegable Framework (Marco), seleccione el marco de tu contenedor, como TensorFlow o XGBoost.

      3. Para Framework version (Versión de marco), introduzca la versión de marco de la image de contenedor.

      4. En la lista desplegable Nearest model name (Nombre del modelo más cercano), seleccione el modelo previamente entrenado que más se parezca al suyo.

      5. En la lista desplegable Task (Tarea), seleccione la tarea de machine learning que realiza el modelo, como la clasificación de imágenes o la regresión.

    8. (Opcional) Para Model compilation using SageMaker Neo (Compilación de modelos con SageMaker Neo), puede configurar el trabajo de recomendación para un modelo que haya compilado con SageMaker Neo. Para Data input configuration (Configuración de la entrada de datos), introduzca la forma de datos de entrada correcta para el modelo en un formato similar a {'input':[1,1024,1024,3]}.

    9. Elija Siguiente.

  5. Para Step 2: Instances and environment parameters (Paso 2: Instancias y parámetros del entorno), haga lo siguiente:

    1. (Opcional) Para Select instances for benchmarking (Seleccionar instancias para la evaluación comparativa), puede seleccionar hasta 8 tipos de instancias que desee comparar. Si no selecciona ninguna instancia, el Recomendador de inferencias considerará todos los tipos de instancias.

    2. Elija Siguiente.

  6. En Step 3: Job parameters (Paso 3: Parámetros de trabajo), haga lo siguiente:

    1. (Opcional) Pâra el campo Job name (Nombre del trabajo), introduzca un nombre para su trabajo de recomendación de instancia. Al crear el trabajo, SageMaker AI añade una marca de tiempo al final de este nombre.

    2. (Opcional) âra el campo Job description (Descripción de trabajo), introduzca una descripción para el trabajo.

    3. (Opcional) Para la lista desplegable Encryption key (Clave de cifrado), elija una clave de AWS KMS por su nombre o introduzca su ARN para cifrar los datos.

    4. (Opcional) Para Max test duration (s) (Duración máxima (s) de prueba), introduzca el número máximo de segundos durante los que quiere que se realice cada prueba.

    5. (Opcional) Para Max invocations per minute (Máximo de invocaciones por minuto), introduzva el número máximo de solicitudes por minuto al que puede llegar el punto de conexión antes de detener el trabajo de recomendación. Tras alcanzar este límite, SageMaker AI finaliza el trabajo.

    6. (Opcional) Para P99 Model latency threshold (ms) (Umbral de latencia del modelo P99 (ms)), introduzca el percentil de latencia del modelo en milisegundos.

    7. Elija Siguiente.

  7. Para Step 4: Review job (Paso 4: Revisar trabajo), revise las configuraciones y, a continuación, seleccione Submit (Enviar).