Panoramica della scalabilità automatica - 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à.

Panoramica della scalabilità automatica

La seguente panoramica fornisce dettagli sui prerequisiti e sui componenti utilizzati per la scalabilità automatica.

Prerequisiti

Prima di poter utilizzare l'auto scaling, devi aver già creato un endpoint SageMaker modello Amazon. Puoi avere più versioni del modello per lo stesso endpoint. Ogni modello viene definito variante di produzione (modello). Per maggiori informazioni sulla distribuzione di un endpoint di un modello, consulta Implementa il modello nei servizi di hosting SageMaker .

Per attivare la scalabilità automatica per un modello, puoi utilizzare la SageMaker console, AWS Command Line Interface (AWS CLI) o un AWS SDK tramite l'API Application Auto Scaling.

  • Se è la prima volta che configuri il ridimensionamento per un modello, ti consigliamo. Configurazione del modello di scalabilità automatica con la console

  • Quando si utilizza AWS CLI o l'API Application Auto Scaling, il flusso consiste nel registrare il modello come destinazione scalabile, definire la politica di scalabilità e quindi applicarla. Sulla SageMaker console, in Inferenza nel riquadro di navigazione, scegli Endpoints. Trova il nome dell'endpoint del modello, quindi sceglilo per trovare il nome della variante. È necessario specificare sia il nome dell'endpoint che il nome della variante per attivare la scalabilità automatica per un modello.

Panoramica delle politiche di scalabilità

Per utilizzare la scalabilità automatica, è necessario definire una politica di scalabilità che aggiunge e rimuove il numero di istanze per la variante di produzione in risposta ai carichi di lavoro effettivi.

Per scalare automaticamente in base alle modifiche del carico di lavoro, sono disponibili due opzioni: il monitoraggio degli obiettivi e le politiche di scalabilità dei passaggi.

Ti consigliamo di utilizzare le politiche di scalabilità di Target Tracking. Con il monitoraggio del target, scegli una CloudWatch metrica Amazon e un valore obiettivo. Auto Scaling crea e gestisce gli CloudWatch allarmi relativi alla politica di scalabilità e calcola l'aggiustamento della scalabilità in base alla metrica e al valore target. La policy aggiunge e rimuove il numero di istanze necessario per mantenere la metrica pari o vicina al valore target specificato. Ad esempio, una policy di dimensionamento che utilizza il parametro predefinito InvocationsPerInstance con un valore target di 70 può mantenere InvocationsPerInstance a o vicino a 70. Per ulteriori informazioni, consulta Policy di dimensionamento del monitoraggio di target nella Guida per l'utente di Application Auto Scaling.

Puoi utilizzare il dimensionamento per fasi quando richiedi una configurazione avanzata, ad esempio specificando quante istanze distribuire in quali condizioni. In caso contrario, è preferibile utilizzare il ridimensionamento del tracciamento del target in quanto sarà completamente automatizzato. Tieni presente che la scalabilità dei passaggi può essere gestita solo dall' AWS CLI API Application Auto Scaling. Per una panoramica delle politiche di scalabilità in fasi e del loro funzionamento, consulta le politiche di scalabilità Step nella Application Auto Scaling User Guide

Per creare una policy di dimensionamento con monitoraggio degli obiettivi, è necessario specificare quanto segue:

  • Metrica: la CloudWatch metrica da monitorare, ad esempio il numero medio di chiamate per istanza.

  • Valore obiettivo: il valore target per la metrica, ad esempio 70 chiamate per istanza al minuto.

Puoi creare policy di dimensionamento con monitoraggio degli obiettivi sia con parametri predefiniti che personalizzati. Una metrica predefinita viene definita in un'enumerazione in modo che sia possibile specificarla per nome nel codice o utilizzarla nella console. SageMaker In alternativa, puoi utilizzare l'API Application Auto Scaling AWS CLI o l'API Application Auto Scaling per applicare una politica di scalabilità di tracciamento del target basata su una metrica predefinita o personalizzata.

Tieni presente che le attività di scalabilità vengono eseguite con periodi di raffreddamento intermedi per evitare rapide fluttuazioni della capacità. Facoltativamente, puoi configurare i tempi di raffreddamento per la tua policy di dimensionamento.

Dimensionamento in base a una pianificazione

È inoltre possibile creare azioni pianificate per eseguire attività di ridimensionamento in momenti specifici. È possibile creare operazioni pianificate sia una tantum che ricorrenti. Dopo l'esecuzione di un'azione pianificata, la politica di scalabilità può continuare a decidere se scalare dinamicamente in base alle modifiche del carico di lavoro. Il ridimensionamento pianificato può essere gestito solo dall'API Application Auto Scaling AWS CLI o dall'API Application Auto Scaling. Per ulteriori informazioni, consulta Dimensionamento pianificato nella Guida per l'utente di Dimensionamento automatico delle applicazioni.

Limiti di scalabilità minimi e massimi

Quando si configura la scalabilità automatica, è necessario specificare i limiti di scalabilità prima di creare una politica di scalabilità. I limiti vengono impostati separatamente per i valori minimo e massimo.

Il valore minimo deve essere almeno 1 e uguale o inferiore al valore specificato per il valore massimo.

Il valore massimo deve essere uguale o superiore al valore specificato per il valore minimo. SageMaker il ridimensionamento automatico non impone un limite per questo valore.

Per determinare i limiti di scalabilità necessari per il traffico tipico, verifica la configurazione di scalabilità automatica con la velocità di traffico prevista per il tuo modello.

Se il traffico di una variante diventa zero, ridimensiona SageMaker automaticamente fino al numero minimo di istanze specificato. In questo caso, SageMaker emette metriche con un valore pari a zero.

Esistono tre opzioni per specificare la capacità minima e massima:

  1. Utilizza la console per aggiornare le impostazioni Numero minimo di istanze e Numero massimo di istanze.

  2. Usa le --max-capacity opzioni AWS CLI e includi --min-capacity e quando esegui il register-scalable-targetcomando.

  3. Chiama l'RegisterScalableTargetAPI e specifica i MaxCapacity parametri MinCapacity and.

Suggerimento

È possibile ridimensionare manualmente aumentando il valore minimo o ridimensionarlo manualmente diminuendo il valore massimo.

Periodo di attesa

Un periodo di cooldown viene utilizzato per proteggersi dal sovradimensionamento quando il modello è in scalabilità orizzontale (riduzione della capacità) o orizzontale (aumento della capacità). Lo fa rallentando le successive attività di scalabilità fino alla scadenza del periodo. In particolare, blocca l'eliminazione delle istanze per le richieste di scalabilità orizzontale e limita la creazione di istanze per le richieste di scalabilità orizzontale. Per ulteriori informazioni, consulta Definire i periodi di cooldown nella Guida per l'utente di Application Auto Scaling.

Il periodo di recupero viene configurato nella politica di ridimensionamento.

Se non si specifica un periodo di recupero con scalabilità in entrata o in uscita, la politica di ridimensionamento utilizza l'impostazione predefinita, che è di 300 secondi per ciascuno.

Se le istanze vengono aggiunte o rimosse troppo rapidamente durante il test della configurazione di scalabilità, valuta la possibilità di aumentare questo valore. Potresti notare questo comportamento se il traffico verso il tuo modello presenta molti picchi o se hai definito più politiche di scalabilità per una variante.

Se le istanze non vengono aggiunte abbastanza rapidamente per affrontare un aumento del traffico, considera la diminuzione di questo valore.

Autorizzazioni

L'auto scaling è reso possibile da una combinazione delle API Amazon SageMaker CloudWatch, Amazon e Application Auto Scaling. Per informazioni sulle autorizzazioni minime richieste, consulta gli esempi di policy basate sull'identità di Application Auto Scaling nella Application Auto Scaling User Guide.

La policy SagemakerFullAccessPolicy IAM dispone di tutte le autorizzazioni IAM necessarie per eseguire la scalabilità automatica. Per ulteriori informazioni sulle autorizzazioni SageMaker IAM, consulta. Come utilizzare i ruoli di SageMaker esecuzione

Se gestisci la tua politica di autorizzazione, devi includere le seguenti autorizzazioni:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:DescribeEndpoint", "sagemaker:DescribeEndpointConfig", "sagemaker:UpdateEndpointWeightsAndCapacities" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "application-autoscaling:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint", "Condition": { "StringLike": { "iam:AWSServiceName": "sagemaker.application-autoscaling.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricAlarm", "cloudwatch:DescribeAlarms", "cloudwatch:DeleteAlarms" ], "Resource": "*" } ] }

Ruolo collegato al servizio

La scalabilità automatica utilizza il ruolo collegato al AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint servizio. Questo ruolo collegato al servizio concede all'Application Auto Scaling l'autorizzazione a descrivere gli allarmi per le politiche, monitorare i livelli di capacità attuali e scalare la risorsa di destinazione. Questo ruolo viene creato automaticamente per te. Affinché la creazione automatica del ruolo abbia esito positivo, è necessario disporre dell'autorizzazione per l'iam:CreateServiceLinkedRoleazione. Per ulteriori informazioni, consulta Ruoli collegati ai servizi nella Guida per l'utente di Application Auto Scaling.

Per ulteriori informazioni sulla configurazione della scalabilità automatica, consulta le seguenti risorse:

Nota

SageMaker ha recentemente introdotto nuove funzionalità di inferenza basate su endpoint di inferenza in tempo reale. Si crea un SageMaker endpoint con una configurazione dell'endpoint che definisce il tipo di istanza e il numero iniziale di istanze per l'endpoint. Quindi, crea un componente di inferenza, che è un oggetto di SageMaker hosting che puoi utilizzare per distribuire un modello su un endpoint. Per informazioni sulla scalabilità dei componenti di inferenza, consulta SageMaker Aggiunge nuove funzionalità di inferenza per aiutare a ridurre i costi e la latenza di implementazione del modello di base e Riduce i costi di implementazione del modello del 50% in media utilizzando le funzionalità più recenti di on the Blog. SageMaker AWS