Dimensionamento automatico del provisioning simultaneo per un endpoint serverless - 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à.

Dimensionamento automatico del provisioning simultaneo per un endpoint serverless

Amazon ridimensiona SageMaker automaticamente gli endpoint serverless on-demand. 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à.

Per informazioni dettagliate su altri prerequisiti e componenti utilizzati con la scalabilità automatica, consulta la sezione della documentazione relativa alla scalabilità automatica. Panoramica della scalabilità automatica SageMaker

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 su sagemaker.

  • --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 su sagemaker: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 su sagemaker.

  • 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 su sagemaker:variant:DesiredProvisionedConcurrency.

  • MinCapacity – Il numero minimo di Simultaneità con provisioning per il modello. Imposta MinCapacity su almeno 1. Deve essere uguale o inferiore al valore specificato per MaxCapacity.

  • MaxCapacity – Il numero massimo di Simultaneità con provisioning da abilitare con il dimensionamento automatico dell’applicazione. Imposta MaxCapacity su un minimo di 1. Deve essere maggiore o uguale al valore specificato per MinCapacity.

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 programmato.

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 del target 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 su TargetTrackingScaling.

  • --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 su sagemaker.

  • --scalable-dimension – Impostare questo valore su sagemaker: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 su TargetTrackingScaling.

  • 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 su sagemaker.

  • ScalableDimension – Impostare questo valore su sagemaker: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

  1. Accedi alla SageMakerconsole Amazon.

  2. Nel pannello di navigazione, scegli Inferenza.

  3. Scegli Endpoint per visualizzare un elenco di tutti gli endpoint.

  4. 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.

  5. 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.

    Screenshot della finestra di dialogo Configura il dimensionamento automatico della variante nella console.
  6. 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.

  7. Inserisci il valore target nel campo Valore target per il parametro target, SageMakerVariantProvisionedConcurrencyUtilization.

  8. (Facoltativo) Inserisci i valori di disattivazione del dimensionamento verticale e orizzontale (in secondi), rispettivamente, nei campi Disattivazione dimensionamento verticale e Disattivazione dimensionamento orizzontale.

  9. (Facoltativo) Seleziona Disabilita il dimensionamento verticale se non desideri che il dimensionamento automatico elimini l'istanza quando il traffico diminuisce.

  10. Seleziona Salva.

Dimensionamento programmato

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 su sagemaker.

  • --scalable-dimension – Impostare questo valore su sagemaker: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 su sagemaker.

  • ScalableDimension – Impostare questo valore su sagemaker: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" } } }

Eliminazione di una policy di dimensionamento

È possibile eliminare una politica di scalabilità con la AWS Management Console AWS CLI, o l'API Application Auto Scaling. Per ulteriori informazioni sull'eliminazione di una politica di scalabilità con AWS Management Console, consulta Eliminazione di una policy di dimensionamento la documentazione relativa alla scalabilità automatica. SageMaker

Eliminazione una policy di dimensionamento (AWS CLI)

Per applicare una policy di dimensionamento al tuo modello, utilizza il comando delete-scaling-policy AWS CLI; con i parametri seguenti:

  • --policy-name – Il nome della policy di dimensionamento.

  • --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 su sagemaker.

  • --scalable-dimension – Impostare questo valore su sagemaker:variant:DesiredProvisionedConcurrency.

L'esempio seguente elimina una policy di dimensionamento denominata MyScalingPolicy da un modello denominato MyVariant.

aws application-autoscaling delete-scaling-policy \ --policy-name MyScalingPolicy \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --resource-id endpoint/MyEndpoint/variant/MyVariant

Eliminazione di una policy di dimensionamento (API Application Auto Scaling)

Per eliminare una policy di dimensionamento al modello, utilizzare l'azione dell’API DeleteScalingPolicy Application Auto Scaling con i parametri seguenti:

  • PolicyName – Il nome della policy di dimensionamento.

  • 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 su sagemaker.

  • ScalableDimension – Impostare questo valore su sagemaker:variant:DesiredProvisionedConcurrency.

Nell'esempio seguente viene utilizzata l'API Application Auto Scaling per eliminare una policy di dimensionamento denominata MyScalingPolicy da un modello denominato MyVariant.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy 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", }

Annullamento della registrazione di un modello

È possibile annullare la registrazione di un modello con AWS Management Console l' AWS CLI API Application Auto Scaling.

Annullamento della registrazione di un modello (AWS CLI)

Per annullare la registrazione di un modello da Application Auto Scaling, utilizza il comando deregister-scalable-target AWS CLI; con i parametri seguenti:

  • --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 su sagemaker.

  • --scalable-dimension – Impostare questo valore su sagemaker:variant:DesiredProvisionedConcurrency.

Nell'esempio seguente viene annullata la registrazione di un modello denominato MyVariant da Application Auto Scaling.

aws application-autoscaling deregister-scalable-target \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredProvisionedConcurrency \ --resource-id endpoint/MyEndpoint/variant/MyVariant

Annullamento della registrazione di un modello (API di dimensionamento automatico dell’applicazione)

Per annullare la registrazione di un modello da DeregisterScalableTarget Application Auto Scaling, usa l'azione dell’API Application Auto Scaling con i seguenti parametri:

  • 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 su sagemaker.

  • ScalableDimension – Impostare questo valore su sagemaker:variant:DesiredProvisionedConcurrency.

L'esempio seguente utilizza l'API Application Auto Scaling per annullare la registrazione di un modello denominato MyVariant da Application Auto Scaling.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService.DeregisterScalableTarget 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", }

Annullamento della registrazione di un modello (AWS Management Console)

Per annullare la registrazione di un modello (variante di produzione) con: AWS Management Console

  1. Apri la SageMaker console Amazon.

  2. Nel pannello di navigazione, scegli Inferenza.

  3. Scegli Endpoint per visualizzare un elenco degli endpoint.

  4. Scegli l'endpoint serverless che ospita la variante di produzione. Apparirà una pagina con le impostazioni dell'endpoint, con le varianti di produzione elencate nella sezione Impostazioni di runtime dell'endpoint.

  5. Seleziona la variante di produzione per cui desideri annullare la registrazione e scegli Configurazione di Auto Scaling. Viene visualizzata la pagina Configura il dimensionamento automatico della variante.

  6. Selezionare Annulla registrazione del dimensionamento automatico.