Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Raccogli i risultati del tuo lavoro di raccomandazione inferenziale in modo AWS SDK for Python (Boto3) programmatico con Studio Classic o la SageMaker console AI. AWS CLI
Una volta completata la raccomandazione di inferenza, puoi utilizzare DescribeInferenceRecommendationsJob
per ottenere le raccomandazioni e i dettagli del processo. Fornisci il nome del processo che hai usato quando hai creato il processo per la raccomandazione di inferenza.
job_name=
'<INSERT>'
response = sagemaker_client.describe_inference_recommendations_job( JobName=job_name)
Stampa l'oggetto risposta. L'esempio di codice precedente memorizzava la risposta in una variabile denominata. response
print(response['Status'])
Questo esempio restituisce una risposta JSON simile alla seguente: Nota che questo esempio mostra i tipi di istanza consigliati per l'inferenza in tempo reale (per un esempio che mostra i suggerimenti di inferenza serverless, vedi l'esempio successivo).
{
'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
}
}
Le prime nuove righe forniscono informazioni sullo stesso processo di raccomandazione dell'inferenza. Ciò include il nome del processo, l'ARN del ruolo e l'ora di creazione ed eliminazione.
Il dizionario InferenceRecommendations
contiene un elenco di consigli sull'inferenza del suggeritore di inferenza.
Il dizionario EndpointConfiguration
annidato contiene il consiglio relativo al tipo di istanza (InstanceType
) insieme al nome dell'endpoint e della variante (un modello di AWS machine learning distribuito) utilizzati durante il processo di raccomandazione. Puoi utilizzare l'endpoint e il nome della variante per il monitoraggio in Amazon CloudWatch Events. Per ulteriori informazioni, consulta Metriche per il monitoraggio di Amazon SageMaker AI con Amazon CloudWatch.
Il dizionario Metrics
annidato contiene informazioni sul costo orario stimato (CostPerHour
) per l'endpoint in tempo reale in dollari USA, il costo per inferenza stimato (CostPerInference
) in dollari USA per l'endpoint in tempo reale, il numero massimo previsto di InvokeEndpoint
richieste al minuto inviate all'endpoint (MaxInvocations
) e la latenza del modello (ModelLatency
), che è l'intervallo di tempo (in microsecondi) impiegato dal modello per rispondere all' SageMaker IA. La latenza del modello include il tempo per le comunicazioni locali impiegato per inviare la richiesta e recuperare la risposta dal container di un modello e il tempo richiesto per completare l'inferenza nel container.
L'esempio seguente mostra la parte InferenceRecommendations
della risposta per un processo di raccomandazioni di inferenza configurato per restituire consigli di inferenza serverless:
"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
"
}
]
È possibile interpretare i consigli per l'inferenza serverless in modo simile ai risultati per l'inferenza in tempo reale, ad eccezione di ServerlessConfig
, che indica i parametri restituiti per un endpoint serverless con MemorySizeInMB
e quando MaxConcurrency =
1
. Per aumentare il possibile throughput sull'endpoint, aumenta il valore di MaxConcurrency
in modo lineare. Ad esempio, se la raccomandazione di inferenza mostra MaxInvocations
come 1000
, l'aumento di MaxConcurrency
a 2
supporterebbe 2000 MaxInvocations
. Tieni presente che ciò è vero solo fino a un certo punto, in quanto può variare in base al modello e al codice. Le raccomandazioni serverless misurano anche il parametro ModelSetupTime
, che misura (in microsecondi) il tempo necessario per avviare le risorse informatiche su un endpoint serverless. Per ulteriori informazioni sulla configurazione di endpoint serverless, consulta la documentazione per inferenze serverless.
Per ulteriori informazioni sull'interpretazione dei risultati del processo di raccomandazione, consulta Risultati delle raccomandazioni.