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 policy di dimensionamento al modello, salva la configurazione come blocco JSON in un file di testo. Utilizzate quel file di testo quando richiamate AWS Command Line Interface (AWS CLI) o l'API Application Auto Scaling. È possibile ottimizzare la scalabilità scegliendo una metrica appropriata. CloudWatch Tuttavia, prima di utilizzare una metrica personalizzata in produzione, è necessario testare il dimensionamento automatico con la metrica personalizzata.
Argomenti
Questa sezione mostra esempi di configurazioni per policy di dimensionamento con monitoraggio delle destinazioni.
Specificate una metrica predefinita (metrica:) CloudWatch InvocationsPerInstance
Di seguito è riportato un esempio di configurazione della policy con monitoraggio delle destinazioni per una variante che mantiene la media delle invocazioni per istanza a 70. Salva questa configurazione in un file denominato config.json.
{ "TargetValue":70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" } }
Per ulteriori informazioni, consulta TargetTrackingScalingPolicyConfigurationl'Application 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 container di modelli.
- ConcurrentRequestsPerCopy
-
Il numero di richieste simultanee ricevute da un componente di inferenza.
Queste metriche tengono traccia del numero di richieste simultanee gestite dai container di modelli, incluse le richieste in coda all’interno dei container. 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, ad esempio InvocationsPerInstance, 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 policy esegue l’aumento orizzontale molto più rapidamente rispetto alle metriche standard. Tuttavia, man mano che il traffico verso i modelli diminuisce, la policy si riduce orizzontalmente alla stessa velocità delle metriche standard.
Di seguito è riportato un esempio di configurazione della policy con monitoraggio delle destinazioni che aggiunge istanze se il numero di richieste simultanee per modello è maggiore di 5. Salva questa configurazione in un file denominato config.json.
{ "TargetValue": 5.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantConcurrentRequestsPerModelHighResolution" } }
In caso di utilizzo di componenti di inferenza per implementare più modelli sullo stesso endpoint, è possibile creare una policy equivalente. In tal caso, imposta PredefinedMetricType su SageMakerInferenceComponentConcurrentRequestsPerCopyHighResolution.
Per ulteriori informazioni, consulta TargetTrackingScalingPolicyConfigurationl'Application Auto Scaling API Reference.
Definisci una metrica personalizzata (CloudWatchmetrica:) CPUUtilization
Per creare una policy di dimensionamento con monitoraggio delle destinazioni con una metrica personalizzata, specifica il nome, il namespace, l’unità, la statistica e nessuna o più dimensioni della metrica. Una dimensione è composta da un nome di dimensione e un valore di dimensione. È possibile utilizzare qualsiasi metrica di variante di produzione che varia in proporzione alla capacità.
La configurazione di esempio seguente mostra una policy di dimensionamento con monitoraggio delle destinazioni con una metrica personalizzata. La policy scala la variante in base a un utilizzo medio della CPU 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, consulta CustomizedMetricSpecificationl'Application Auto Scaling API Reference.
Definisci una metrica personalizzata (CloudWatch metrica:) ExplanationsPerInstance
In caso di spiegabilità online attivata, l’endpoint emette una metrica ExplanationsPerInstance che restituisce il numero medio di record spiegati al minuto, per istanza, per una variante. L'utilizzo delle risorse per spiegare i record può essere più diverso da quello dei record di previsione. È vivamente consigliabile utilizzare questa metrica per il dimensionamento degli endpoint con monitoraggio delle destinazioni con la spiegabilità online attivata.
È possibile creare più policy con monitoraggio delle destinazioni per una destinazione scalabile. Prendi in considerazione l’aggiunta della policy InvocationsPerInstance dalla sezione Specificate una metrica predefinita (metrica:) CloudWatch InvocationsPerInstance (oltre alla policy ExplanationsPerInstance). Se la maggior parte delle invocazioni non restituisce una spiegazione a causa del valore di soglia impostato nel parametro EnableExplanations, 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 policy di dimensionamento con monitoraggio delle destinazioni con una metrica personalizzata. Il dimensionamento della policy regola il numero di istanze di variante in modo che ogni istanza abbia una metrica ExplanationsPerInstance di 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, consulta CustomizedMetricSpecificationl'Application Auto Scaling API Reference.
Specificare i tempi di raffreddamento
Facoltativamente, è possibile definire i tempi di raffreddamento nella policy di dimensionamento con monitoraggio delle destinazioni specificando i parametri ScaleOutCooldown e ScaleInCooldown.
Di seguito è riportato un esempio di configurazione della policy con monitoraggio delle destinazioni per una variante che mantiene la media delle invocazioni per istanza a 70. La configurazione della policy fornisce un tempo di raffreddamento per la riduzione orizzontale di 10 minuti (600 secondi) e un tempo di raffreddamento per l’aumento 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, consulta TargetTrackingScalingPolicyConfigurationl'Application Auto Scaling API Reference.