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 una recomendación de inferencia
Los trabajos de recomendación de inferencias ejecutan un conjunto de pruebas de carga en los tipos de instancias recomendados o en un punto de conexión sin servidor. Los trabajos de recomendación de inferencia utilizan métricas de rendimiento que se basan en pruebas de carga que utilizan los datos de muestra que proporcionaste durante el registro de la versión del modelo.
nota
Antes de crear un trabajo de recomendación de Recomendador de inferencias, asegúrese de haber cumplido con los Requisitos previos.
A continuación, se muestra cómo utilizar Amazon SageMaker Inference Recommender para crear una recomendación de inferencia basada en el tipo de modelo mediante AWS SDK for Python (Boto3), AWS CLI y Amazon SageMaker Studio Classic y la consola SageMaker
Crear una recomendación de inferencia
Cree una recomendación de inferencia mediante programación mediante la AWS SDK for Python (Boto3) o la consola AWS CLI, o de forma interactiva con Studio Classic o la consola. SageMaker En la sección Requisitos previos, especifique un nombre de trabajo para la recomendación de inferenciaARN, un AWS IAM rol, una configuración de entrada y un paquete de modelos ARN al registrar el modelo en el registro de modelos, o bien el nombre del modelo y un ContainerConfig
diccionario del que utilizó cuando creó el modelo.
- AWS SDK for Python (Boto3)
-
Utilice el
CreateInferenceRecommendationsJob
APIpara iniciar un trabajo de recomendación de inferencias. Defina el campoJobType
como'Default'
para los trabajos de recomendación de inferencias. Además, facilite lo siguiente:-
El nombre del recurso de Amazon (ARN) de una IAM función que permite a Inference Recommender realizar tareas en su nombre. Defina esto para el campo
RoleArn
. -
Un paquete de modelo ARN o un nombre de modelo. Inference Recommender admite un paquete de modelos ARN o un nombre de modelo como entrada. Especifique uno de los siguientes valores:
-
El paquete ARN de modelos versionado que creó al registrar su modelo en el registro de modelos. SageMaker Defina esto para
ModelPackageVersionArn
en el campoInputConfig
. -
El nombre del modelo que creó. Defina esto para
ModelName
en el campoInputConfig
. Además, proporcione el diccionarioContainerConfig
, que incluye los campos obligatorios que deben proporcionarse con el nombre del modelo. Defina esto paraContainerConfig
en el campoInputConfig
. EnContainerConfig
, también puede especificar opcionalmente el campoSupportedEndpointType
comoRealTime
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 puesto de Recomendador de Inferencias debe ser único en la AWS región y en su cuenta. AWS
Importe el AWS SDK for Python (Boto3) paquete y cree un objeto de SageMaker cliente 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 paquete modeloARN, almacene el grupo de paquetes modelo ARN 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 denominadamodel_name
y elContainerConfig
diccionario en una variable denominadacontainer_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 } )Consulta la Guía de SageMaker API referencia de Amazon para obtener una lista completa de los argumentos opcionales y obligatorios a los que puedes pasárselos
CreateInferenceRecommendationsJob
. -
- AWS CLI
-
Utilice la
create-inference-recommendations-job
API para iniciar un trabajo de recomendación de inferencias. Defina el campojob-type
como'Default'
para los trabajos de recomendación de inferencias. Además, facilite lo siguiente:-
El nombre del recurso de Amazon (ARN) de una IAM función que permite a Amazon SageMaker Inference Recommender realizar tareas en su nombre. Defina esto para el campo
role-arn
. -
Un paquete modelo ARN o un nombre de modelo. Inference Recommender admite un paquete de modelos ARN o un nombre de modelo como entrada. Especifique uno de los siguientes valores:
-
El paquete ARN de modelos versionado que creó al registrar su modelo en Model Registry. Defina esto para
ModelPackageVersionArn
en el campoinput-config
. -
El nombre del modelo que creó. Defina esto para
ModelName
en el campoinput-config
. Además, proporcione el diccionarioContainerConfig
que incluye los campos obligatorios que deben proporcionarse con el nombre del modelo. Defina esto paraContainerConfig
en el campoinput-config
. EnContainerConfig
, también puede especificar opcionalmente el campoSupportedEndpointType
comoRealTime
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 puesto de Inference Recommender debe ser único en la AWS región y en su cuenta. AWS
Para crear un trabajo de recomendación de inferencias con un paquete modeloARN, 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 campoSupportedEndpointType
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 inferencia en Studio Classic.
-
En la aplicación Studio Classic, elija el icono de inicio ( ).
-
En la barra lateral izquierda de Studio Classic, selecciona Modelos.
-
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.
-
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 las versiones y la configuración.
Si tiene uno o más paquetes de modelos dentro de su grupo de modelos, verá una lista de esos paquetes de modelos en la columna Versiones.
-
Elija la columna Recomendador de inferencias.
-
Elija un IAM rol que conceda permiso al Recomendador de Inferencias para acceder AWS a los servicios. Para ello, puede crear un rol y adjuntar la política
AmazonSageMakerFullAccess
IAM gestionada. O bien, puede dejar que Studio Classic cree un rol para usted. -
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 console
-
Cree un trabajo de recomendación de instancias a través de la SageMaker consola de la siguiente manera:
-
Ve a la SageMaker consola en https://console.aws.amazon.com/sagemaker/
. -
En el panel de navegación de la izquierda, elija Inference (Interferencia) y, a continuación, elija Interference recommender (Reomendador de inferencia.
-
En la página Trabajos de recomendador de inferencias, elija Crear trabajo.
-
Para Step 1: Model configuration (Paso 1: Configuración del modelo), haga lo siguiente:
-
En Job Type (Tipo de trabajo), seleccione Default recommender job (Trabajo de recomendador predeterminado).
-
Si utiliza un modelo registrado en el registro de SageMaker modelos, active la opción Elegir un modelo del registro de modelos y haga lo siguiente:
-
En la lista desplegable Grupo de modelos, elija el grupo de modelos en el registro de SageMaker modelos donde se encuentra su modelo.
-
En la lista desplegable de Model version (versión del modelo), elija la versión que desee del modelo.
-
-
Si está utilizando un modelo que ha creado SageMaker, desactive la opción Elegir un modelo del registro de modelos y haga lo siguiente:
-
En el campo Nombre del modelo, introduce el nombre de tu SageMaker modelo.
-
-
En la lista desplegable de IAMroles, puede seleccionar un AWS IAM rol existente que tenga los permisos necesarios para crear un trabajo de recomendación de instancias. Como alternativa, si no tienes un rol existente, puedes elegir Crear un nuevo rol para abrir la ventana emergente de creación del rol y SageMaker añadir los permisos necesarios al nuevo rol que crees.
-
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.
-
En el tipo de contenido de carga útil, introduce los MIME tipos de datos de carga útil de muestra.
-
(Opcional) Si ha desactivado la opción Elegir un modelo del registro de modelos y ha especificado un SageMaker modelo, en la configuración del contenedor, haga lo siguiente:
-
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.
-
En la lista desplegable Framework, seleccione el framework de su contenedor, por ejemplo, o. TensorFlow XGBoost
-
Para Framework version (Versión de marco), introduzca la versión de marco de la image de contenedor.
-
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.
-
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.
-
-
(Opcional) Para la 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]}
. -
Elija Next (Siguiente).
-
-
Para Step 2: Instances and environment parameters (Paso 2: Instancias y parámetros del entorno), haga lo siguiente:
-
(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.
-
Elija Next (Siguiente).
-
-
En Step 3: Job parameters (Paso 3: Parámetros de trabajo), haga lo siguiente:
-
(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 añade una marca de tiempo al final de este nombre.
-
(Opcional) âra el campo Job description (Descripción de trabajo), introduzca una descripción para el trabajo.
-
(Opcional) En la lista desplegable de claves de cifrado, elija una AWS KMS clave por nombre o introdúzcala ARN para cifrar los datos.
-
(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.
-
(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 finaliza el trabajo.
-
(Opcional) Para P99 Model latency threshold (ms) (Umbral de latencia del modelo P99 (ms)), introduzca el percentil de latencia del modelo en milisegundos.
-
Elija Next (Siguiente).
-
-
Para Step 4: Review job (Paso 4: Revisar trabajo), revise las configuraciones y, a continuación, seleccione Submit (Enviar).
-
Obtener resultados de trabajo de recomendación de inferencia
Recopile los resultados de su trabajo de recomendación de inferencias mediante programación con AWS SDK for Python (Boto3) Studio Classic o la AWS CLI consola. SageMaker
- AWS SDK for Python (Boto3)
-
Una vez completada la recomendación de inferencia, puede utilizar
DescribeInferenceRecommendationsJob
para obtener los detalles y las recomendaciones del trabajo. Proporcione el nombre del trabajo que utilizó al crear el trabajo de recomendación de inferencia.job_name=
'<INSERT>'
response = sagemaker_client.describe_inference_recommendations_job( JobName=job_name)Imprima el objeto de respuesta. El ejemplo de código anterior almacenaba la respuesta en una variable denominada.
response
print(response['Status'])
Esto devuelve una JSON respuesta similar a la del siguiente ejemplo. Tenga en cuenta que este ejemplo muestra los tipos de instancias recomendados para la inferencia en tiempo real (para ver un ejemplo que muestra recomendaciones de inferencia sin servidor, consulte el ejemplo siguiente).
{ 'JobName':
'job-name'
, 'JobDescription':'job-description'
, 'JobType': 'Default', 'JobArn': 'arn:aws:sagemaker:region
:account-id
:inference-recommendations-job/resource-id
', 'Status': 'COMPLETED', 'CreationTime': datetime.datetime(2021, 10, 26, 20, 4, 57, 627000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2021, 10, 26, 20, 25, 1, 997000, tzinfo=tzlocal()), 'InputConfig': { 'ModelPackageVersionArn': 'arn:aws:sagemaker:region
:account-id
:model-package/resource-id
', 'JobDurationInSeconds': 0 }, 'InferenceRecommendations': [{ 'Metrics': { 'CostPerHour': 0.20399999618530273, 'CostPerInference': 5.246913588052848e-06, 'MaximumInvocations': 648, 'ModelLatency': 263596 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.c5.xlarge', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 2.92620870823157e-06, 'MaximumInvocations': 655, 'ModelLatency': 826019 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.c5d.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 3.3625731248321244e-06, 'MaximumInvocations': 570, 'ModelLatency': 1085446 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.m5.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }], 'ResponseMetadata': { 'RequestId':'request-id'
, 'HTTPStatusCode': 200, 'HTTPHeaders': { 'x-amzn-requestid':'x-amzn-requestid'
, 'content-type':'content-type'
, 'content-length': '1685', 'date': 'Tue, 26 Oct 2021 20:31:10 GMT' }, 'RetryAttempts': 0 } }Las primeras líneas proporcionan información sobre el trabajo de recomendación de inferencia en sí. Esto incluye el nombre del trabajo, la función ARN y los tiempos de creación y eliminación.
El diccionario
InferenceRecommendations
contiene una lista de recomendaciones de inferencias del Recomendador de Inferencias.El diccionario
EndpointConfiguration
anidado contiene la recomendación del tipo de instancia (InstanceType
) junto con el punto final y el nombre de la variante (un modelo de aprendizaje AWS automático implementado) que se utilizó durante el trabajo de recomendación. Puedes usar el punto de enlace y el nombre de la variante para monitorizar en Amazon CloudWatch Events. Para obtener más información, consulte Supervisa Amazon SageMaker con Amazon CloudWatch.El diccionario
Metrics
anidado contiene información sobre el coste estimado por hora (CostPerHour
) de su terminal en tiempo real en dólares estadounidenses, el coste estimado por inferencia (CostPerInference
) en dólares estadounidenses para su punto final en tiempo real, el número máximo esperado deInvokeEndpoint
solicitudes por minuto enviadas al punto final (MaxInvocations
) y la latencia del modelo (ModelLatency
), que es el intervalo de tiempo (en microsegundos) que el modelo tardó en responder. SageMaker La latencia del modelo incluye el tiempo de comunicación local empleado en el envío de la solicitud y la recuperación de la respuesta del contenedor de un modelo, así como el tiempo que se tarda en completar la inferencia en el contenedor.El siguiente ejemplo muestra la parte
InferenceRecommendations
de la respuesta de un trabajo de recomendaciones de inferencia configurado para devolver recomendaciones de inferencia sin servidor:"InferenceRecommendations": [ { "EndpointConfiguration": { "EndpointName": "
value
", "InitialInstanceCount":value
, "InstanceType": "value
", "VariantName": "value
", "ServerlessConfig": { "MaxConcurrency":value
, "MemorySizeInMb":value
} }, "InvocationEndTime":value
, "InvocationStartTime":value
, "Metrics": { "CostPerHour":value
, "CostPerInference":value
, "CpuUtilization":value
, "MaxInvocations":value
, "MemoryUtilization":value
, "ModelLatency":value
, "ModelSetupTime":value
}, "ModelConfiguration": { "Compiled": "False", "EnvironmentParameters": [], "InferenceSpecificationName": "value
" }, "RecommendationId": "value
" } ]Puede interpretar las recomendaciones para la inferencia sin servidor de forma similar a los resultados para la inferencia en tiempo real, con la excepción de
ServerlessConfig
, que indica las métricas devueltas para un punto de conexión sin servidor, conMemorySizeInMB
proporcionado y cuandoMaxConcurrency = 1
. Para aumentar el rendimiento posible en el punto de conexión, aumente el valor deMaxConcurrency
linealmente. Por ejemplo, si la recomendación de inferencia muestraMaxInvocations
como1000
, aumentarMaxConcurrency
a2
admitiría 2000MaxInvocations
. Tenga en cuenta que esto solo es cierto hasta cierto punto, que puede variar según el modelo y el código. Las recomendaciones sin servidor también miden la métricaModelSetupTime
, que mide (en microsegundos) el tiempo que se tarda en lanzar los recursos informáticos en un punto de conexión sin servidor. Para obtener más información sobre la configuración de los puntos de conexión sin servidor, consulte la documentación de Inferencia sin servidor. - AWS CLI
-
Una vez completada la recomendación de inferencia, puede utilizar
describe-inference-recommendations-job
para obtener los detalles del trabajo y los tipos de instancias recomendados. Proporcione el nombre del trabajo que utilizó al crear el trabajo de recomendación de inferencia.aws sagemaker describe-inference-recommendations-job\ --job-name
<job-name>
\ --region<aws-region>
La JSON respuesta similar debería parecerse a la del siguiente ejemplo. Tenga en cuenta que este ejemplo muestra los tipos de instancias recomendados para la inferencia en tiempo real (para ver un ejemplo que muestra recomendaciones de inferencia sin servidor, consulte el ejemplo siguiente).
{ 'JobName':
'job-name'
, 'JobDescription':'job-description'
, 'JobType': 'Default', 'JobArn': 'arn:aws:sagemaker:region
:account-id
:inference-recommendations-job/resource-id
', 'Status': 'COMPLETED', 'CreationTime': datetime.datetime(2021, 10, 26, 20, 4, 57, 627000, tzinfo=tzlocal()), 'LastModifiedTime': datetime.datetime(2021, 10, 26, 20, 25, 1, 997000, tzinfo=tzlocal()), 'InputConfig': { 'ModelPackageVersionArn': 'arn:aws:sagemaker:region
:account-id
:model-package/resource-id
', 'JobDurationInSeconds': 0 }, 'InferenceRecommendations': [{ 'Metrics': { 'CostPerHour': 0.20399999618530273, 'CostPerInference': 5.246913588052848e-06, 'MaximumInvocations': 648, 'ModelLatency': 263596 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.c5.xlarge', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 2.92620870823157e-06, 'MaximumInvocations': 655, 'ModelLatency': 826019 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.c5d.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }, { 'Metrics': { 'CostPerHour': 0.11500000208616257, 'CostPerInference': 3.3625731248321244e-06, 'MaximumInvocations': 570, 'ModelLatency': 1085446 }, 'EndpointConfiguration': { 'EndpointName':'endpoint-name'
, 'VariantName':'variant-name'
, 'InstanceType': 'ml.m5.large', 'InitialInstanceCount': 1 }, 'ModelConfiguration': { 'Compiled': False, 'EnvironmentParameters': [] } }], 'ResponseMetadata': { 'RequestId':'request-id'
, 'HTTPStatusCode': 200, 'HTTPHeaders': { 'x-amzn-requestid':'x-amzn-requestid'
, 'content-type':'content-type'
, 'content-length': '1685', 'date': 'Tue, 26 Oct 2021 20:31:10 GMT' }, 'RetryAttempts': 0 } }Las primeras líneas proporcionan información sobre el trabajo de recomendación de inferencia en sí. Esto incluye el nombre del trabajo, la función ARN y la hora de creación y eliminación.
El diccionario
InferenceRecommendations
contiene una lista de recomendaciones de inferencias del Recomendador de Inferencias.El diccionario
EndpointConfiguration
anidado contiene la recomendación del tipo de instancia (InstanceType
) junto con el punto final y el nombre de la variante (un modelo de aprendizaje AWS automático implementado) utilizado durante el trabajo de recomendación. Puedes usar el punto de enlace y el nombre de la variante para monitorizar en Amazon CloudWatch Events. Para obtener más información, consulte Supervisa Amazon SageMaker con Amazon CloudWatch.El diccionario
Metrics
anidado contiene información sobre el coste estimado por hora (CostPerHour
) de su terminal en tiempo real en dólares estadounidenses, el coste estimado por inferencia (CostPerInference
) en dólares estadounidenses para su punto final en tiempo real, el número máximo esperado deInvokeEndpoint
solicitudes por minuto enviadas al punto final (MaxInvocations
) y la latencia del modelo (ModelLatency
), que es el intervalo de tiempo (en milisegundos) que el modelo tardó en responder. SageMaker La latencia del modelo incluye el tiempo de comunicación local empleado en el envío de la solicitud y la recuperación de la respuesta del contenedor de un modelo, así como el tiempo que se tarda en completar la inferencia en el contenedor.El siguiente ejemplo muestra la parte
InferenceRecommendations
de la respuesta de un trabajo de recomendaciones de inferencia configurado para devolver recomendaciones de inferencia sin servidor:"InferenceRecommendations": [ { "EndpointConfiguration": { "EndpointName": "
value
", "InitialInstanceCount":value
, "InstanceType": "value
", "VariantName": "value
", "ServerlessConfig": { "MaxConcurrency":value
, "MemorySizeInMb":value
} }, "InvocationEndTime":value
, "InvocationStartTime":value
, "Metrics": { "CostPerHour":value
, "CostPerInference":value
, "CpuUtilization":value
, "MaxInvocations":value
, "MemoryUtilization":value
, "ModelLatency":value
, "ModelSetupTime":value
}, "ModelConfiguration": { "Compiled": "False", "EnvironmentParameters": [], "InferenceSpecificationName": "value
" }, "RecommendationId": "value
" } ]Puede interpretar las recomendaciones para la inferencia sin servidor de forma similar a los resultados para la inferencia en tiempo real, con la excepción de
ServerlessConfig
, que indica las métricas devueltas para un punto de conexión sin servidor, conMemorySizeInMB
proporcionado y cuandoMaxConcurrency = 1
. Para aumentar el rendimiento posible en el punto de conexión, aumente el valor deMaxConcurrency
linealmente. Por ejemplo, si la recomendación de inferencia muestraMaxInvocations
como1000
, aumentarMaxConcurrency
a2
admitiría 2000MaxInvocations
. Tenga en cuenta que esto solo es cierto hasta cierto punto, que puede variar según el modelo y el código. Las recomendaciones sin servidor también miden la métricaModelSetupTime
, que mide (en microsegundos) el tiempo que se tarda en lanzar los recursos informáticos en un punto de conexión sin servidor. Para obtener más información sobre la configuración de los puntos de conexión sin servidor, consulte la documentación de Inferencia sin servidor. - Amazon SageMaker Studio Classic
-
Las recomendaciones de inferencia se rellenan en una nueva pestaña de recomendaciones de inferencia en Studio Classic. Los resultados pueden tardar hasta 45 minutos en aparecer. Esta pestaña contiene los encabezados de las columnas Results (Resultados) y Details (Detalles).
La columna Details (Detalles) proporciona información sobre el trabajo de recomendación de inferencia, como el nombre de la recomendación de inferencia, cuándo se creó el trabajo (Creation time (Hora de creación)) y más. También proporciona información sobre Settings (Configuración), como el número máximo de invocaciones que se produjeron por minuto e información sobre los nombres de los recursos de Amazon utilizados.
La columna de resultados proporciona una ventana de objetivos y SageMakerrecomendaciones de despliegue en la que puede ajustar el orden en que se muestran los resultados en función de la importancia de la implementación. Hay tres menús desplegables que puede utilizar para indicar el nivel de importancia: Cost (Coste), Latency (Latencia) y Throughput (Rendimiento) para su caso de uso. Para cada objetivo (coste, latencia y rendimiento), puede establecer el nivel de importancia: Lowest Importance (Importancia mínima), Low Importance (Importancia baja), Moderate importance (Importancia moderada), High importance (Importancia alta) o Highest importance (Importancia máxima).
En función de las selecciones de importancia para cada objetivo, Inference Recommender muestra su recomendación principal en el campo de SageMakerrecomendaciones de la derecha del panel, junto con el coste estimado por hora y la solicitud de inferencia. También proporciona información sobre la latencia esperada del modelo, el número máximo de invocaciones y el número de instancias. Para obtener recomendaciones sin servidor, puede ver los valores ideales para la simultaneidad máxima y el tamaño de memoria de los puntos de conexión.
Además de la recomendación principal que se muestra, también puede ver la misma información para todas las instancias que el Recomendador de inferencias probó en la sección Todas las ejecuciones.
- SageMaker console
-
Puede ver sus trabajos de recomendación de instancias en la SageMaker consola de la siguiente manera:
-
Ve a la SageMaker consola en https://console.aws.amazon.com/sagemaker/
. -
En el panel de navegación de la izquierda, elija Inference (Interferencia) y, a continuación, elija Interference recommender (Reomendador de inferencia.
-
En la página Trabajos de recomendador de inferencias, elija el nombre de su trabajo de recomendación de inferencias.
En la página de detalles de su trabajo, puede ver las recomendaciones de inferencia, que son los tipos de instancias recomendados para SageMaker su modelo, como se muestra en la siguiente captura de pantalla.
En esta sección, puede comparar los tipos de instancias en función de varios factores, como la latencia del modelo, el coste por hora, el coste por inferencia y las invocaciones por minuto.
En esta página, también puede ver las configuraciones que especificó para su trabajo. En la sección Supervisar, puedes ver las CloudWatch métricas de Amazon que se registraron para cada tipo de instancia. Para obtener más información sobre la interpretación de estas métricas, consulte Interpretar los resultados.
-
Para obtener más información acerca de la interpretación de los resultados del trabajo de recomendación, consulte Interpretar los resultados de recomendaciones.
Detener la recomendación de inferencia
Es posible que desee detener un trabajo que se está ejecutando actualmente si lo inició por error o si ya no necesita ejecutarlo. Detenga los trabajos de recomendación de inferencias del Recomendador de inferencias mediante programación con o con Studio Classic. StopInferenceRecommendationsJob
API
- AWS SDK for Python (Boto3)
-
Especifique el nombre del trabajo de recomendación de inferencia para el campo
JobName
:sagemaker_client.stop_inference_recommendations_job( JobName=
'<INSERT>'
) - AWS CLI
-
Especifique el nombre del trabajo de recomendación de inferencia para el indicador
job-name
:aws sagemaker stop-inference-recommendations-job --job-name
<job-name>
- Amazon SageMaker Studio Classic
-
Cierre la pestaña en la que inició la recomendación de inferencia para detener la recomendación de inferencia del Recomendador de inferencias.
- SageMaker console
-
Para detener el trabajo de recomendación de instancias a través de la SageMaker consola, haga lo siguiente:
-
Ve a la SageMaker consola en https://console.aws.amazon.com/sagemaker/
. -
En el panel de navegación de la izquierda, elija Inference (Interferencia) y, a continuación, elija Interference recommender (Reomendador de inferencia.
-
En la página Trabajos de recomendador de inferencias, seleccione el trabajo de recomendación de la instancia.
-
Elija Stop run (Parar trabajo).
-
En el cuadro de diálogo que aparece, elija Confirm (Confirmar).
Tras detener el trabajo, Status (Estado) del trabajo debería cambiar a Stopping (Parando).
-