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à.
Dimensionamento automatico del provisioning simultaneo per un endpoint serverless
Amazon SageMaker AI esegue automaticamente la scalabilità interna o orizzontale degli endpoint serverless su richiesta. Per gli endpoint serverless con Simultaneità con provisioning, puoi utilizzare Dimensionamento automatico dell’applicazione per ridimensionare con aumento o diminuzione Simultaneità con provisioning in base al tuo profilo di traffico, ottimizzando in tal modo i costi.
Di seguito sono riportati i prerequisiti per il dimensionamento automatico di Simultaneità con provisioning su endpoint serverless:
Prima di poter utilizzare il dimensionamento automatico, devi aver già distribuito un modello su un endpoint serverless con Simultaneità con provisioning. I modelli distribuiti sono indicati come varianti di produzione. Vedi Creare una configurazione endpoint e Creare un endpoint per ulteriori informazioni sulla distribuzione di un modello su un endpoint serverless con Simultaneità con provisioning. Per specificare i parametri e i valori di target per una policy di dimensionamento, devi configurare una policy di dimensionamento di monitoraggio. Per ulteriori informazioni su come definire una policy di dimensionamento, vedi Definizione di una policy di dimensionamento. Dopo la registrazione di un modello e la definizione di una policy di dimensionamento, applica la policy di dimensionamento al modello registrato. Per informazioni su come applicare la policy di dimensionamento, vedi Applicazione di una policy di scalabilità.
Registrazione di un modello
Per aggiungere la scalabilità automatica a un endpoint serverless con Provisioned Concurrency, devi prima registrare il tuo modello (variante di produzione) utilizzando la nostra API Application Auto Scaling. AWS CLI
Registrazione di un modello (AWS CLI)
Per registrare il modello, utilizzate il comando con i seguenti parametri: register-scalable-target
AWS CLI
-
--service-namespace
: imposta questo valore susagemaker
. -
--resource-id
– L'identificatore di risorsa per il modello (in particolare, la variante di produzione). Per questo parametro, il tipo di risorsa èendpoint
e l'identificatore univoco è il nome della variante di produzione. Ad esempio,endpoint/MyEndpoint/variant/MyVariant
. -
--scalable-dimension
: imposta questo valore susagemaker:variant:DesiredProvisionedConcurrency
. -
--min-capacity
– Il numero minimo di Simultaneità con provisioning per il modello. Imposta--min-capacity
su almeno 1. Deve essere uguale o inferiore al valore specificato per--max-capacity
. -
--max-capacity
– Il numero massimo di Simultaneità con provisioning da abilitare con il dimensionamento automatico dell’applicazione. Imposta--max-capacity
su un minimo di 1. Deve essere maggiore o uguale al valore specificato per--min-capacity
.
L'esempio seguente mostra come registrare un modello denominato MyVariant
che viene dimensionato in modo dinamico per avere un valore di Simultaneità con provisioning da 1 a 10:
aws application-autoscaling register-scalable-target \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --resource-id endpoint/MyEndpoint/variant/MyVariant \ --min-capacity 1 \ --max-capacity 10
Registrazione di un modello (API di dimensionamento automatico dell’applicazione)
Per registrare il modello, usa l’azione API RegisterScalableTarget
Application Auto Scaling con i parametri seguenti:
-
ServiceNamespace
: imposta questo valore susagemaker
. -
ResourceId
– L'identificatore di risorsa per il modello (in particolare, la variante di produzione). Per questo parametro, il tipo di risorsa èendpoint
e l'identificatore univoco è il nome della variante di produzione. Ad esempio,endpoint/MyEndpoint/variant/MyVariant
. -
ScalableDimension
: imposta questo valore susagemaker:variant:DesiredProvisionedConcurrency
. -
MinCapacity
– Il numero minimo di Simultaneità con provisioning per il modello. ImpostaMinCapacity
su almeno 1. Deve essere uguale o inferiore al valore specificato perMaxCapacity
. -
MaxCapacity
– Il numero massimo di Simultaneità con provisioning da abilitare con il dimensionamento automatico dell’applicazione. ImpostaMaxCapacity
su un minimo di 1. Deve essere maggiore o uguale al valore specificato perMinCapacity
.
L'esempio seguente mostra come registrare un modello denominato MyVariant
che viene dimensionato in modo dinamico per avere un valore di Simultaneità con provisioning da 1 a 10:
POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/MyEndPoint/variant/MyVariant", "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency", "MinCapacity": 1, "MaxCapacity": 10 }
Definizione di una policy di dimensionamento
Per specificare i parametri e i valori di target per una policy di dimensionamento, configuri una policy di dimensionamento di monitoraggio dei target. Definisci la policy di dimensionamento come un blocco JSON in un file di testo. È quindi possibile utilizzare quel file di testo quando si richiama l'API AWS CLI Application Auto Scaling. Per definire rapidamente una policy di dimensionamento di monitoraggio della destinazione per un endpoint serverless, utilizza il parametro predefinito SageMakerVariantProvisionedConcurrencyUtilization
.
{ "TargetValue": 0.5, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantProvisionedConcurrencyUtilization" }, "ScaleOutCooldown": 1, "ScaleInCooldown": 1 }
Applicazione di una policy di scalabilità
Dopo aver registrato il modello, puoi applicare una policy di dimensionamento al tuo endpoint serverless con Simultaneità con provisioning. Consulta Applicazione di una policy di dimensionamento di monitoraggio della destinazione per applicare una policy di dimensionamento di monitoraggio della destinazione da te definita. Se il flusso del traffico verso l'endpoint serverless segue una routine prevedibile, anziché applicare una policy di dimensionamento basata sul monitoraggio della destinazione, potresti voler pianificare le azioni di scalabilità in momenti specifici. Per ulteriori informazioni sulle azioni di pianificazione del dimensionamento, consulta Dimensionamento pianificato.
Applicazione di una policy di dimensionamento di monitoraggio della destinazione
Puoi utilizzare l' AWS Management Console API Application Auto Scaling AWS CLI o l'API Application Auto Scaling per applicare una policy di scalabilità di tracciamento degli obiettivi al tuo endpoint serverless con Provisioned Concurrency.
Applicazione di una policy di dimensionamento di monitoraggio della destinazione (AWS CLI)
Per applicare una policy di dimensionamento al tuo modello, utilizza il comando put-scaling-policy
AWS CLI; con i parametri seguenti:
-
--policy-name
– Il nome della policy di dimensionamento. -
--policy-type
– Impostare questo valore suTargetTrackingScaling
. -
--resource-id
– L'identificatore di risorse per la variante. Per questo parametro, il tipo di risorsa èendpoint
e l'identificatore univoco è il nome della variante. Ad esempio,endpoint/MyEndpoint/variant/MyVariant
. -
--service-namespace
– Impostare questo valore susagemaker
. -
--scalable-dimension
– Impostare questo valore susagemaker:variant:DesiredProvisionedConcurrency
. -
--target-tracking-scaling-policy-configuration
– La configurazione di una policy di dimensionamento di monitoraggio della destinazione da utilizzare per il modello.
L'esempio seguente mostra come applicare una policy di dimensionamento con monitoraggio della destinazione denominata MyScalingPolicy
a un modello denominato MyVariant
. La configurazione della policy viene salvata in un file denominato scaling-policy.json
.
aws application-autoscaling put-scaling-policy \ --policy-name MyScalingPolicy \ --policy-type TargetTrackingScaling \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --resource-id endpoint/MyEndpoint/variant/MyVariant \ --target-tracking-scaling-policy-configuration file://[file-localtion]/scaling-policy.json
Applica una policy di dimensionamento con monitoraggio della destinazione (API di Application Auto Scaling)
Per applicare una policy di dimensionamento al modello, utilizzare l'azione dell’API PutScalingPolicy
Application Auto Scaling con i parametri seguenti:
-
PolicyName
– Il nome della policy di dimensionamento. -
PolicyType
– Impostare questo valore suTargetTrackingScaling
. -
ResourceId
– L'identificatore di risorse per la variante. Per questo parametro, il tipo di risorsa èendpoint
e l'identificatore univoco è il nome della variante. Ad esempio,endpoint/MyEndpoint/variant/MyVariant
. -
ServiceNamespace
– Impostare questo valore susagemaker
. -
ScalableDimension
– Impostare questo valore susagemaker:variant:DesiredProvisionedConcurrency
. -
TargetTrackingScalingPolicyConfiguration
– La configurazione di una policy di dimensionamento di monitoraggio della destinazione da utilizzare per il modello.
L'esempio seguente mostra come applicare una policy di dimensionamento con monitoraggio della destinazione denominata MyScalingPolicy
a un modello denominato MyVariant
. La configurazione della policy viene salvata in un file denominato scaling-policy.json
.
POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "MyScalingPolicy", "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/MyEndpoint/variant/MyVariant", "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 0.5, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantProvisionedConcurrencyUtilization" } } }
Applicazione di una policy di dimensionamento di monitoraggio della destinazione (AWS Management Console)
Per applicare una politica di scalabilità di tracciamento degli obiettivi con: AWS Management Console
-
Accedi alla console Amazon SageMaker AI
. -
Nel pannello di navigazione, scegli Inferenza.
-
Scegli Endpoint per visualizzare un elenco di tutti gli endpoint.
-
Scegli l'endpoint per cui applicare la policy di dimensionamento. Apparirà una pagina con le impostazioni dell'endpoint, con i modelli (variante di produzione) elencati nella sezione Impostazioni di runtime dell'endpoint.
-
Seleziona la variante di produzione a cui desideri applicare la policy di dimensionamento e scegli Configurazione di Auto Scaling. Viene visualizzata la pagina Configura il dimensionamento automatico della variante.
-
Immetti i valori minimo e massimo della Simultaneità con provisioning nei campi Simultaneità allocata minima e Simultaneità allocata massima, rispettivamente, nella sezione Scalabilità automatica della variante. La simultaneità allocata minima deve essere minore o uguale alla simultaneità allocata massima.
-
Inserisci il valore target nel campo Valore target per il parametro target,
SageMakerVariantProvisionedConcurrencyUtilization
. -
(Facoltativo) Inserisci i valori di disattivazione del dimensionamento verticale e orizzontale (in secondi), rispettivamente, nei campi Disattivazione dimensionamento verticale e Disattivazione dimensionamento orizzontale.
-
(Facoltativo) Seleziona Disabilita il dimensionamento verticale se non desideri che il dimensionamento automatico elimini l'istanza quando il traffico diminuisce.
-
Seleziona Salva.
Dimensionamento pianificato
Se il traffico verso il tuo endpoint serverless con Simultaneità con provisioning segue uno schema di routine, potresti voler pianificare le azioni di pianificazione del dimensionamento in momenti specifici, per ridimensionare o aumentare la Simultaneità con provisioning. È possibile utilizzare AWS CLI o Application Auto Scaling per pianificare le azioni di ridimensionamento.
Dimensionamento pianificato (AWS CLI)
Per applicare una politica di ridimensionamento al modello, utilizzate il comando put-scheduled-action
AWS CLI; con i seguenti parametri:
-
--schedule-action-name
– Il nome dell’azione di dimensionamento. -
--schedule
– Un'espressione Cron che specifica l’ora di inizio e fine dell'azione di dimensionamento con una pianificazione ricorrente. -
--resource-id
– L'identificatore di risorse per la variante. Per questo parametro, il tipo di risorsa èendpoint
e l'identificatore univoco è il nome della variante. Ad esempio,endpoint/MyEndpoint/variant/MyVariant
. -
--service-namespace
– Impostare questo valore susagemaker
. -
--scalable-dimension
– Impostare questo valore susagemaker:variant:DesiredProvisionedConcurrency
. -
--scalable-target-action
– La destinazione dell'azione di dimensionamento.
Nell'esempio seguente viene mostrato come aggiungere un'azione di dimensionamento denominata MyScalingAction
a un modello denominato MyVariant
in una pianificazione ricorrente. Alla pianificazione specificata (ogni giorno alle 12:15 UTC), se l'attuale Simultaneità con provisioning è inferiore al valore indicato per MinCapacity
. Il dimensionamento automatico dell’applicazione aumenta la simultaneità con provisioning fino al valore specificato da MinCapacity
.
aws application-autoscaling put-scheduled-action \ --scheduled-action-name 'MyScalingAction' \ --schedule 'cron(15 12 * * ? *)' \ --service-namespace sagemaker \ --resource-id endpoint/MyEndpoint/variant/MyVariant \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --scalable-target-action 'MinCapacity=10'
Dimensionamento pianificato (API di dimensionamento automatico dell’applicazione)
Per applicare una policy di dimensionamento al modello, utilizzare l'azione dell’API PutScheduledAction
Application Auto Scaling con i parametri seguenti:
-
ScheduleActionName
– Il nome dell’azione di dimensionamento. -
Schedule
– Un'espressione Cron che specifica l’ora di inizio e fine dell'azione di dimensionamento con una pianificazione ricorrente. -
ResourceId
– L'identificatore di risorse per la variante. Per questo parametro, il tipo di risorsa èendpoint
e l'identificatore univoco è il nome della variante. Ad esempio,endpoint/MyEndpoint/variant/MyVariant
. -
ServiceNamespace
– Impostare questo valore susagemaker
. -
ScalableDimension
– Impostare questo valore susagemaker:variant:DesiredProvisionedConcurrency
. -
ScalableTargetAction
– La destinazione dell'azione di dimensionamento.
Nell'esempio seguente viene mostrato come aggiungere un'azione di dimensionamento denominata MyScalingAction
a un modello denominato MyVariant
in una pianificazione ricorrente. Alla pianificazione specificata (ogni giorno alle 12:15 UTC), se l'attuale Simultaneità con provisioning è inferiore al valore indicato per MinCapacity
. Il dimensionamento automatico dell’applicazione aumenta la simultaneità con provisioning fino al valore specificato da MinCapacity
.
POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService.PutScheduledAction X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "ScheduledActionName": "MyScalingAction", "Schedule": "cron(15 12 * * ? *)", "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/MyEndpoint/variant/MyVariant", "ScalableDimension": "sagemaker:variant:DesiredProvisionedConcurrency", "ScalableTargetAction": "MinCapacity=10" } } }