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 raccomandazioni sulle policy di dimensionamento automatico
Con Amazon SageMaker Inference Recommender, puoi ottenere consigli per le politiche di scalabilità automatica per il tuo SageMaker endpoint in base al modello di traffico previsto. Se hai già completato un processo di raccomandazione di inferenza, puoi fornire i dettagli del processo per ottenere una raccomandazioni per una policy di dimensionamento automatico da poter applicare al tuo endpoint.
Il suggeritore di inferenza confronta diversi valori per ogni parametro per determinare la configurazione di dimensionamento automatico ideale per l'endpoint. La raccomandazione di dimensionamento automatico restituisce una policy di dimensionamento automatico raccomandata per ogni parametro definito nel processo di raccomandazione di inferenza. Puoi salvare le policy e applicarle al tuo endpoint con. PutScalingPolicyAPI
Per iniziare, esamina i prerequisiti seguenti.
Prerequisiti
Prima di iniziare, è necessario aver completato con successo un processo di raccomandazione di inferenza. Nella sezione seguente, puoi fornire un ID di raccomandazione di inferenza o il nome di un SageMaker endpoint che è stato sottoposto a benchmark durante un processo di raccomandazione di inferenza.
Per recuperare l'ID del processo di raccomandazione o il nome dell'endpoint, puoi visualizzare i dettagli del processo di raccomandazione inferenziale nella SageMaker console oppure utilizzare i campi o restituiti da. RecommendationId
EndpointName
DescribeInferenceRecommendationsJobAPI
Crea una raccomandazione di configurazione con dimensionamento automatico
Per creare una policy di raccomandazione di dimensionamento automatico, puoi utilizzare il AWS SDK for Python (Boto3).
L'esempio seguente mostra i campi per. GetScalingConfigurationRecommendationAPI Utilizza i seguenti campi quando chiamiAPI:
-
InferenceRecommendationsJobName
: immetti il nome del tuo processo di raccomandazione di inferenza. -
RecommendationId
: inserisci l'ID di una raccomandazione di inferenza da un processo di raccomandazione. È facoltativo se hai specificato il campoEndpointName
. -
EndpointName
: inserisci il nome di un endpoint che è stato sottoposto a benchmark durante un processo di raccomandazione di inferenza. È facoltativo se hai specificato il campoRecommendationId
. -
TargetCpuUtilizationPerCore
: (facoltativo) inserisci un valore percentuale dell'utilizzo che desideri venga utilizzato da un'istanza sull'endpoint prima del dimensionamento automatico. Se non si specifica questo campo il valore di default è 50%. -
ScalingPolicyObjective
: (facoltativo) un oggetto in cui si specifica il modello di traffico previsto.-
MinInvocationsPerMinute
: (facoltativo) il numero minimo di richieste previste all'endpoint al minuto. -
MaxInvocationsPerMinute
: (facoltativo) il numero massimo di richieste previste all'endpoint al minuto.
-
{ "InferenceRecommendationsJobName": "
string
", // Required "RecommendationId": "string
", // Optional, provide one of RecommendationId or EndpointName "EndpointName": "string
", // Optional, provide one of RecommendationId or EndpointName "TargetCpuUtilizationPerCore":number
, // Optional "ScalingPolicyObjective": { // Optional "MinInvocationsPerMinute":number
, "MaxInvocationsPerMinute":number
} }
Dopo aver inviato la richiesta, riceverai una risposta con le policy di dimensionamento automatico definite per ogni parametro. Per ulteriori informazioni sull'interpretazione della risposta, consulta la sezione seguente.
Esamina i risultati sulle raccomandazioni di configurazione con dimensionamento automatico
L'esempio seguente mostra la risposta di GetScalingConfigurationRecommendationAPI:
{ "InferenceRecommendationsJobName": "string", "RecommendationId": "string", // One of RecommendationId or EndpointName is shown "EndpointName": "string", "TargetUtilizationPercentage": Integer, "ScalingPolicyObjective": { "MinInvocationsPerMinute": Integer, "MaxInvocationsPerMinute": Integer }, "Metric": { "ModelLatency": Integer, "InvocationsPerInstance": Integer }, "DynamicScalingConfiguration": { "MinCapacity": number, "MaxCapacity": number, "ScaleInCooldown": number, "ScaleOutCooldown": number, "ScalingPolicies": [ { "TargetTracking": { "MetricSpecification": { "Predefined" { "PredefinedMetricType": "string" }, "Customized": { "MetricName": "string", "Namespace": "string", "Statistic": "string" } }, "TargetValue": Double } } ] } }
InferenceRecommendationsJobName
, RecommendationID
o EndpointName
, TargetCpuUtilizationPerCore
e i campi oggetto ScalingPolicyObjective
vengono copiati dalla richiesta iniziale.
L'oggetto Metric
elenca i parametri che sono stati confrontati nel processo di raccomandazione di inferenza, insieme a un calcolo dei valori per ogni parametro quando l'utilizzo dell'istanza sarebbe pari al valore TargetCpuUtilizationPerCore
. È utile per prevedere i parametri delle prestazioni dell'endpoint quando aumenta la capacità o le risorse, grazie alla policy di dimensionamento automatico consigliata. Ad esempio, considera se l'utilizzo dell'istanza era pari al 50% nel processo di raccomandazione di inferenza e il valore originario di InvocationsPerInstance
era pari a 4
. Se specifichi che il valore di TargetCpuUtilizationPerCore
sia pari al 100% nella richiesta di raccomandazione con dimensionamento automatico, il valore del parametro InvocationsPerInstance
restituito nella risposta è 2
in quanto hai previsto di assegnare il doppio dell'utilizzo dell'istanza.
L'DynamicScalingConfiguration
oggetto restituisce i valori che è necessario specificare per TargetTrackingScalingPolicyConfigurationquando si chiama il PutScalingPolicyAPI. Ciò include i valori raccomandati di capacità minima e massima, le tempistiche di attesa per ridimensionamento e aumento consigliati e l'oggetto ScalingPolicies
, che contiene i valori consigliati TargetValue
da specificare per ogni parametro.