Definizione di una policy di dimensionamento - 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à.

Definizione di una policy di dimensionamento

Prima di aggiungere una politica di scalabilità al tuo modello, salva la configurazione della policy come JSON blocco in un file di testo. Si utilizza quel file di testo quando si richiama il AWS Command Line Interface (AWS CLI) o l'Application Auto API Scaling. È possibile ottimizzare la scalabilità scegliendo una metrica appropriata. CloudWatch Tuttavia, prima di utilizzare una metrica personalizzata in produzione, è necessario testare la scalabilità automatica con la metrica personalizzata.

Questa sezione mostra esempi di configurazioni di policy per Target Tracking, policy di scalabilità.

Specificate una metrica predefinita (metrica:) CloudWatch InvocationsPerInstance

Di seguito è riportato un esempio di configurazione della politica di tracciamento degli obiettivi per una variante che mantiene la media delle chiamate per istanza a 70. Salva questa configurazione in un file denominato config.json.

{ "TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" } }

Per ulteriori informazioni, vedere TargetTrackingScalingPolicyConfigurationApplication Auto Scaling API Reference.

Specificate una metrica predefinita ad alta risoluzione (CloudWatch metrics: and) ConcurrentRequestsPerModel ConcurrentRequestsPerCopy

Con le seguenti CloudWatch metriche ad alta risoluzione, puoi impostare politiche di scalabilità per il volume di richieste simultanee ricevute dai tuoi modelli:

ConcurrentRequestsPerModel

Il numero di richieste simultanee ricevute da un contenitore modello.

ConcurrentRequestsPerCopy

Il numero di richieste simultanee ricevute da un componente di inferenza.

Queste metriche tengono traccia del numero di richieste simultanee gestite dai contenitori del modello, incluse le richieste in coda all'interno dei contenitori. Per i modelli che inviano la risposta di inferenza come flusso di token, queste metriche tengono traccia di ogni richiesta fino a quando il modello non invia l'ultimo token per la richiesta.

Essendo metriche ad alta risoluzione, emettono dati più frequentemente rispetto alle metriche standard. CloudWatch Le metriche standard, come la InvocationsPerInstance metrica, emettono dati una volta al minuto. Tuttavia, queste metriche ad alta risoluzione emettono dati ogni 10 secondi. Pertanto, con l'aumento del traffico simultaneo verso i modelli, la politica reagisce ridimensionandosi molto più rapidamente rispetto alle metriche standard. Tuttavia, man mano che il traffico verso i tuoi modelli diminuisce, la tua policy si adatta alla stessa velocità delle metriche standard.

Di seguito è riportato un esempio di configurazione della policy di tracciamento degli obiettivi che aggiunge istanze se il numero di richieste simultanee per modello supera 5. Salva questa configurazione in un file denominato config.json.

{ "TargetValue": 5.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantConcurrentRequestsPerModelHighResolution" } }

Se si utilizzano componenti di inferenza per distribuire più modelli sullo stesso endpoint, è possibile creare una policy equivalente. In tal caso, imposta su. PredefinedMetricType SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution

Per ulteriori informazioni, vedere TargetTrackingScalingPolicyConfigurationApplication Auto Scaling API Reference.

Definisci una metrica personalizzata (CloudWatchmetrica:) CPUUtilization

Per creare una politica di ridimensionamento del tracciamento degli obiettivi con una metrica personalizzata, specifica il nome, lo spazio dei nomi, l'unità, la statistica e zero o più dimensioni della metrica. Una dimensione è composta da un nome di dimensione e un valore di dimensione. Puoi utilizzare qualsiasi metrica della variante di produzione che cambia in proporzione alla capacità.

La configurazione di esempio seguente mostra una politica di scalabilità di tracciamento degli obiettivi con una metrica personalizzata. La policy ridimensiona la variante in base a un CPU utilizzo medio del 50% in tutte le istanze. Salva questa configurazione in un file denominato config.json.

{ "TargetValue": 50.0, "CustomizedMetricSpecification": { "MetricName": "CPUUtilization", "Namespace": "/aws/sagemaker/Endpoints", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "VariantName","Value": "my-variant"} ], "Statistic": "Average", "Unit": "Percent" } }

Per ulteriori informazioni, vedere CustomizedMetricSpecificationApplication Auto Scaling API Reference.

Definisci una metrica personalizzata (CloudWatch metrica:) ExplanationsPerInstance

Quando l'endpoint ha la spiegabilità online attivata, emette una ExplanationsPerInstance metrica che restituisce il numero medio di record spiegati al minuto, per esempio, per una variante. L'utilizzo delle risorse per spiegare i record può essere più diverso da quello dei record di previsione. Consigliamo vivamente di utilizzare questa metrica per il monitoraggio mirato del ridimensionamento degli endpoint con la spiegabilità online attivata.

Puoi creare più politiche di tracciamento degli obiettivi per un obiettivo scalabile. Valuta la possibilità di aggiungere la InvocationsPerInstance politica dalla Specificate una metrica predefinita (metrica:) CloudWatch InvocationsPerInstance sezione (oltre alla ExplanationsPerInstance politica). Se la maggior parte delle chiamate non restituisce una spiegazione a causa del valore di soglia impostato nel EnableExplanations parametro, l'endpoint può scegliere la policy. InvocationsPerInstance Se il numero di spiegazioni è elevato, l'endpoint può utilizzare la policy ExplanationsPerInstance.

La configurazione di esempio seguente mostra una politica di ridimensionamento del tracciamento degli obiettivi con una metrica personalizzata. La scala delle policy regola il numero di istanze delle varianti in modo che ogni istanza abbia una ExplanationsPerInstance metrica pari a 20. Salva questa configurazione in un file denominato config.json.

{ "TargetValue": 20.0, "CustomizedMetricSpecification": { "MetricName": "ExplanationsPerInstance", "Namespace": "AWS/SageMaker", "Dimensions": [ {"Name": "EndpointName", "Value": "my-endpoint" }, {"Name": "VariantName","Value": "my-variant"} ], "Statistic": "Sum" } }

Per ulteriori informazioni, vedere CustomizedMetricSpecificationApplication Auto Scaling API Reference.

Specificare i periodi di recupero

Facoltativamente, puoi definire i periodi di recupero nella tua politica di ridimensionamento del tracciamento di Target specificando i parametri and. ScaleOutCooldown ScaleInCooldown

Di seguito è riportato un esempio di configurazione della policy di tracciamento degli obiettivi per una variante che mantiene la media delle chiamate per istanza a 70. La configurazione delle policy prevede un periodo di cooldown scalabile di 10 minuti (600 secondi) e un periodo di cooldown con scalabilità orizzontale di 5 minuti (300 secondi). Salva questa configurazione in un file denominato config.json.

{ "TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }

Per ulteriori informazioni, vedere TargetTrackingScalingPolicyConfigurationApplication Auto Scaling API Reference.