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.
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 SageMaker consola de IA.
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. En el ejemplo de código anterior, se almacenaba la respuesta en una variable llamada response
.
print(response['Status'])
Este ejemplo devuelve una respuesta de JSON similar a la siguiente: 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, el ARN del rol 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, consulta Métricas para monitorizar la SageMaker IA de Amazon 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 previsto de InvokeEndpoint
solicitudes por minuto enviadas al punto final (MaxInvocations
) y la latencia del modelo (ModelLatency
), que es el intervalo de tiempo (en microsegundos) que tarda su modelo en responder a la IA. 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, con MemorySizeInMB
proporcionado y cuando MaxConcurrency =
1
. Para aumentar el rendimiento posible en el punto de conexión, aumente el valor de MaxConcurrency
linealmente. Por ejemplo, si la recomendación de inferencia muestra MaxInvocations
como 1000
, aumentar MaxConcurrency
a 2
admitiría 2000 MaxInvocations
. 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étrica ModelSetupTime
, 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.
Para obtener más información acerca de la interpretación de los resultados del trabajo de recomendación, consulte Resultados de recomendaciones.