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 una raccomandazione di inferenza per un endpoint esistente
I processi di raccomandazione di inferenza eseguono una serie di test di carico sui tipi di istanze raccomandati o su un endpoint esistente. I processi di raccomandazione di inferenza utilizzano parametri delle prestazioni basati su test di carico che utilizzano i dati di esempio forniti durante la registrazione della versione del modello.
È possibile effettuare benchmark e ottenere raccomandazioni di inferenza per un endpoint di inferenza SageMaker AI esistente per contribuire a migliorare le prestazioni del tuo endpoint. La procedura per ottenere raccomandazioni per un endpoint di inferenza SageMaker AI esistente è simile alla procedura per ottenere raccomandazioni di inferenza senza un endpoint. È possibile prendere in considerazione diverse esclusioni di funzionalità quando si esegue il benchmarking di un endpoint esistente:
-
È possibile utilizzare un solo endpoint esistente per processo del suggeritore di inferenza.
-
È possibile avere una sola variante sul proprio endpoint.
-
Non è possibile utilizzare un endpoint che abilita il dimensionamento automatico.
-
Questa funzionalità è supportata solo per inferenze in tempo reale
-
Questa funzionalità non supporta gli endpoint multimodello in tempo reale.
avvertimento
Sconsigliamo vivamente di non eseguire un processo del suggeritore di inferenza su un endpoint di produzione che gestisce il traffico in tempo reale. Il carico sintetico durante il benchmarking può influire sull'endpoint di produzione e causare rallentamenti o fornire risultati di benchmark imprecisi. Consigliamo di utilizzare un endpoint non di produzione o di sviluppo a scopo di confronto.
Le sezioni seguenti mostrano come usare Amazon SageMaker Inference Recommender per creare una raccomandazione di inferenza per un endpoint esistente in base al tipo di modello utilizzando l'SDK AWS per Python (Boto3) e il AWS CLI.
Nota
Prima di creare un processo di raccomandazione del suggeritore di inferenza, assicurati di aver soddisfatto Prerequisiti per l’utilizzo di Amazon SageMaker Inference Recommender.
Prerequisiti
Se non disponi già di un endpoint di inferenza SageMaker AI, puoi ottenere una raccomandazione di inferenza senza un endpoint oppure puoi creare un endpoint di inferenza in tempo reale seguendo le istruzioni in Creazione dell’endpoint e distribuzione al modello.
Crea un processo di raccomandazione di inferenza per un endpoint esistente
Crea una raccomandazione di inferenza a livello di programmazione utilizzando AWS SDK per Python (Boto3) o AWS CLI. Specifica un nome di processo per la raccomandazione di inferenza, il nome di un endpoint di inferenza SageMaker AI esistente, l’ARN di un ruolo IAM AWS, una configurazione di input e l’ARN del pacchetto di modelli da quando hai registrato il modello nel registro dei modelli.
Ottieni i risultati del processo di raccomandazione di inferenza
È possibile raccogliere i risultati del processo di raccomandazione di inferenza a livello di programmazione con la stessa procedura per i processi di raccomandazione di inferenza standard. Per ulteriori informazioni, consulta Ottieni i risultati del processo di raccomandazione di inferenza.
Quando ottieni i risultati di un processo di raccomandazione di inferenza per un endpoint esistente, dovresti ricevere una risposta JSON simile alla seguente:
{ "JobName":"job-name", "JobType": "Default", "JobArn": "arn:aws:sagemaker:region:account-id:inference-recommendations-job/resource-id", "RoleArn":"iam-role-arn", "Status": "COMPLETED", "CreationTime": 1664922919.2, "LastModifiedTime": 1664924208.291, "InputConfig": { "ModelPackageVersionArn": "arn:aws:sagemaker:region:account-id:model-package/resource-id", "Endpoints": [ { "EndpointName":"endpoint-name"} ] }, "InferenceRecommendations": [ { "Metrics": { "CostPerHour": 0.7360000014305115, "CostPerInference": 7.456940238625975e-06, "MaxInvocations": 1645, "ModelLatency": 171 }, "EndpointConfiguration": { "EndpointName":"sm-endpoint-name", "VariantName":"variant-name", "InstanceType": "ml.g4dn.xlarge", "InitialInstanceCount": 1 }, "ModelConfiguration": { "EnvironmentParameters": [ { "Key": "TS_DEFAULT_WORKERS_PER_MODEL", "ValueType": "string", "Value": "4" } ] } } ], "EndpointPerformances": [ { "Metrics": { "MaxInvocations": 184, "ModelLatency": 1312 }, "EndpointConfiguration": { "EndpointName":"endpoint-name"} } ] }
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 e delle ultime modifiche.
Il dizionario InferenceRecommendations contiene un elenco di suggerimenti sull’inferenza di Inference Recommender.
Il dizionario annidato EndpointConfiguration contiene 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.
Il dizionario annidato Metrics contiene 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 richieste InvokeEndpoint al 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.
Il dizionario annidato EndpointPerformances contiene il nome dell'endpoint esistente su cui è stato eseguito il processo di raccomandazione (EndpointName) e i parametri delle prestazioni per l'endpoint (MaxInvocations e ModelLatency).