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à.
Ottieni i risultati del processo di raccomandazione di inferenza
Raccogli i risultati del tuo processo di raccomandazione di inferenza a livello di programmazione con AWS SDK per Python (Boto3), l’AWS CLI, Studio Classic o la console SageMaker AI.
- AWS SDK per Python (Boto3)
-
Una volta completata la raccomandazione di inferenza, puoi utilizzare
DescribeInferenceRecommendationsJobper 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)Visualizza l’oggetto di risposta. L’esempio di codice precedente archiviava la risposta in una variabile denominata
response.print(response['Status'])Questo esempio restituisce una risposta JSON simile alla seguente: Questo esempio mostra i tipi di istanza consigliati per l’inferenza in tempo reale (per un esempio che mostra raccomandazioni di inferenza Serverless, consulta 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
InferenceRecommendationscontiene un elenco di suggerimenti sull’inferenza di Inference Recommender.Il dizionario annidato
EndpointConfigurationcontiene il suggerimento sul tipo di istanza (InstanceType) insieme al nome dell’endpoint e della variante (un modello di machine learning AWS implementato) utilizzati durante il processo di suggerimento. Puoi utilizzare l'endpoint e il nome della variante per il monitoraggio in Eventi Amazon CloudWatch. Per ulteriori informazioni, consulta Metriche di Amazon SageMaker AI in Amazon CloudWatch.Il dizionario annidato
Metricscontiene informazioni sul costo orario stimato (CostPerHour) per il tuo endpoint in tempo reale in dollari statunitensi, il costo per inferenza stimato (CostPerInference) in dollari statunitensi per il tuo endpoint in tempo reale, il numero massimo previsto di richiesteInvokeEndpointal minuto inviate all’endpoint (MaxInvocations) e la latenza del modello (ModelLatency), ovvero l’intervallo di tempo (in microsecondi) impiegato dal modello per rispondere a SageMaker AI. 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
InferenceRecommendationsdella 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 conMemorySizeInMBe quandoMaxConcurrency = 1. Per aumentare il possibile throughput sull'endpoint, aumenta il valore diMaxConcurrencyin modo lineare. Ad esempio, se la raccomandazione di inferenza mostraMaxInvocationscome1000, l'aumento diMaxConcurrencya2supporterebbe 2000MaxInvocations. 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 parametroModelSetupTime, 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. - AWS CLI
-
Una volta completata la raccomandazione di inferenza, puoi utilizzare
describe-inference-recommendations-jobper ottenere i dettagli del processo e i tipi di istanze raccomandate. Fornisci il nome del processo che hai usato quando hai creato il processo per la raccomandazione di inferenza.aws sagemaker describe-inference-recommendations-job\ --job-name<job-name>\ --region<aws-region>La risposta JSON si presenta in maniera analoga all'esempio sotto riportato. Questo esempio mostra i tipi di istanza consigliati per l’inferenza in tempo reale (per un esempio che mostra raccomandazioni di inferenza Serverless, consulta 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
InferenceRecommendationscontiene un elenco di suggerimenti sull’inferenza di Inference Recommender.Il dizionario annidato
EndpointConfigurationcontiene il consiglio sul tipo di istanza (InstanceType) insieme al nome dell'endpoint e della variante (un modello di machine learning AWS implementato) utilizzati durante il processo di raccomandazione. Puoi utilizzare l'endpoint e il nome della variante per il monitoraggio in Eventi Amazon CloudWatch. Per ulteriori informazioni, consulta Metriche di Amazon SageMaker AI in Amazon CloudWatch.Il dizionario annidato
Metricscontiene informazioni sul costo orario stimato (CostPerHour) per il tuo endpoint in tempo reale in dollari statunitensi, il costo per inferenza stimato (CostPerInference) in dollari statunitensi per il tuo endpoint in tempo reale, il numero massimo previsto di richiesteInvokeEndpointal minuto inviate all’endpoint (MaxInvocations) e la latenza del modello (ModelLatency), ovvero l’intervallo di tempo (in millisecondi) impiegato dal modello per rispondere a SageMaker AI. 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
InferenceRecommendationsdella 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 conMemorySizeInMBe quandoMaxConcurrency = 1. Per aumentare il possibile throughput sull'endpoint, aumenta il valore diMaxConcurrencyin modo lineare. Ad esempio, se la raccomandazione di inferenza mostraMaxInvocationscome1000, l'aumento diMaxConcurrencya2supporterebbe 2000MaxInvocations. 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 parametroModelSetupTime, 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. - Amazon SageMaker Studio Classic
-
Le raccomandazioni di inferenza vengono inserite in una nuova scheda Raccomandazioni di inferenza all’interno di Studio. Possono essere necessari fino a 45 minuti prima che i risultati vengano visualizzati. Questa scheda contiene le intestazioni delle collone Risultati e Dettagli.
La colonna Dettagli fornisce informazioni sul processo di raccomandazione delle inferenze, ad esempio il nome della raccomandazione delle inferenze, la data di creazione del processo (Data creazione) e altro ancora. Fornisce inoltre informazioni sulle Impostazioni, come il numero massimo di invocazioni effettuate al minuto e informazioni sugli Amazon Resource Name utilizzati.
La colonna Risultati fornisce una finestra riguardante gli obiettivi di implementazione e le raccomandazioni SageMaker AI in cui è possibile modificare l’ordine di visualizzazione dei risultati in base all’importanza dell’implementazione. Sono disponibili tre menu a discesa che è possibile utilizzare per indicare il livello di importanza del costo, della latenza e del throughput per il proprio caso d'uso. Puoi impostare il livello di importanza di ogni obiettivo (costo, latenza e throughput): importanza minima, importanza bassa, importanza moderata, importanza elevata o importanza massima.
In base alle selezioni di importanza per ogni obiettivo, il suggeritore di inferenza mostra la propria raccomandazione principale nel campo raccomandazione di SageMaker sulla destra del pannello, insieme al costo orario stimato e alla richiesta di inferenza. Fornisce inoltre informazioni sulla latenza prevista del modello, sul numero massimo di invocazioni e sul numero di istanze. Per le raccomandazioni serverless, puoi visualizzare i valori ideali per la concorrenza massima e la dimensione della memoria dell'endpoint.
Oltre ai consigli principali visualizzati, è anche possibile visualizzare le stesse informazioni riportate per tutte le istanze testate dal suggeritore di inferenza nella sezione Tutte le esecuzioni.
- SageMaker AI console
-
È possibile visualizzare i processi di raccomandazione delle istanze nella console di SageMaker AI effettuando le seguenti operazioni:
-
Vai alla console di SageMaker AI all’indirizzo https://console.aws.amazon.com/sagemaker/
. -
Nel riquadro di navigazione di sinistra, seleziona Inferenza e poi Suggeritore di inferenza.
-
Nella pagina dei processi di raccomandazione delle inferenze, scegli il nome del tuo processo di raccomandazione delle inferenze.
Nella pagina dei dettagli del processo è possibile visualizzare le raccomandazioni di inferenza, ovvero i tipi di istanza consigliati da SageMaker AI per il tuo modello, come mostrato nello screenshot seguente.
In questa sezione, è possibile confrontare i tipi di istanza in base a vari fattori, come la latenza del modello, il costo all’ora, il costo per inferenza e le invocazioni al minuto.
In questa pagina, è possibile visualizzare anche le configurazioni specificate per il processo. Nella sezione Monitoraggio, è possibile visualizzare i parametri di Amazon CloudWatch registrati per ogni tipo di istanza. Per ulteriori informazioni sull'interpretazione di questi parametri, consulta Interpretazione dei risultati.
-
Per ulteriori informazioni sull'interpretazione dei risultati del processo di raccomandazione, consulta Risultati della raccomandazione.