Ottieni raccomandazioni sulle policy di dimensionamento automatico - Amazon SageMaker

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 l'API. PutScalingPolicy

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 dall'RecommendationIdAPI. EndpointName DescribeInferenceRecommendationsJob

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 l'API. GetScalingConfigurationRecommendation Utilizza i seguenti campi quando chiami l'API:

  • 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 campo EndpointName.

  • EndpointName: inserisci il nome di un endpoint che è stato sottoposto a benchmark durante un processo di raccomandazione di inferenza. È facoltativo se hai specificato il campo RecommendationId.

  • 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 dell' 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'DynamicScalingConfigurationoggetto restituisce i valori da specificare per TargetTrackingScalingPolicyConfigurationquando si chiama l'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.