Définition d'une stratégie de mise à l'échelle - Amazon SageMaker

Définition d'une stratégie de mise à l'échelle

Pour spécifier les métriques et les valeurs cibles d'une stratégie de mise à l'échelle, vous devez configurer une stratégie de mise à l'échelle avec suivi de cible. Vous pouvez utiliser une métrique prédéfinie ou une métrique personnalisée.

La configuration d'une stratégie de dimensionnement est représentée par un bloc JSON. Vous enregistrez votre configuration de stratégie de dimensionnement sous forme de bloc JSON dans un fichier texte. Utilisez ce fichier texte pour appeler la AWS CLI ou l'API Application Auto Scaling. Pour plus d'informations sur la syntaxe de la configuration d'une stratégie, consultez TargetTrackingScalingPolicyConfiguration dans le manuel Référence d'API Application Auto Scaling.

Les options suivantes sont disponibles pour définir une configuration de stratégie de dimensionnement Suivi de la cible.

Utilisation d'une métrique prédéfinie

Pour définir rapidement une stratégie de mise à l'échelle avec suivi de la cible pour une variante, utilisez la métrique prédéfinie SageMakerVariantInvocationsPerInstance. SageMakerVariantInvocationsPerInstance est le nombre moyen de fois par minute que chaque instance d'une variante est appelée. Nous vous recommandons vivement d'utiliser cette métrique.

Pour utiliser une métrique prédéfinie dans une stratégie de dimensionnement, créez une configuration de suivi de cible pour votre stratégie. Dans la configuration de suivi de cible, incluez une PredefinedMetricSpecification pour la métrique prédéfinie et une TargetValue pour la valeur cible de la métrique.

L'exemple suivant décrit une configuration de stratégie classique pour le dimensionnement avec suivi de cible d'une variante. Dans cette configuration, nous utilisons la métrique prédéfinie SageMakerVariantInvocationsPerInstance pour ajuster le nombre d'instances de variantes afin que chaque instance ait une métrique InvocationsPerInstance égale à 70.

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

Utilisation d'une métrique personnalisée

Si vous devez définir une stratégie de dimensionnement avec suivi de cible qui répond à vos exigences personnelles, définissez une métrique personnalisée. Vous pouvez définir une métrique personnalisée basée sur une métrique de variante de production qui évolue en fonction de la mise à l'échelle.

Toutes les métriques SageMaker ne fonctionnent pas pour le suivi de cible. La métrique doit être une métrique d'utilisation valide et décrire le degré d'occupation d'une instance. La valeur de la métrique doit augmenter ou diminuer en proportion inverse du nombre d'instances de variantes. En d'autres termes, la valeur de la métrique doit diminuer lorsque le nombre d'instances augmente.

Important

Avant de déployer le dimensionnement automatique dans un environnement de production, vous devez tester le dimensionnement automatique avec vos métriques personnalisées.

L'exemple suivant décrit une configuration de suivi de cible pour une stratégie de dimensionnement. Dans cette configuration, pour une variante nommée my-variant, une métrique personnalisée ajuste la variante en fonction d'une utilisation moyenne de l'UC de 50 % sur tous les instances.

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

Ajout d'un temps de stabilisation

Pour ajouter un temps de stabilisation pour la montée en charge de votre modèle, spécifiez une valeur, en secondes, pour ScaleOutCooldown. De même, pour ajouter un temps de stabilisation pour la diminution de charge de votre modèle, ajoutez une valeur, en secondes, pour ScaleInCooldown. Pour plus d'informations sur ScaleInCooldown et ScaleOutCooldown, consultez TargetTrackingScalingPolicyConfiguration dans le manuel Référence d'API Application Auto Scaling.

L'exemple suivant illustre une configuration avec suivi de cible d'une stratégie de mise à l'échelle. Dans cette configuration, la métrique prédéfinie SageMakerVariantInvocationsPerInstance sert à ajuster la mise à l'échelle en fonction d'une moyenne de 70 sur toutes les instances de cette variante. La configuration indique un temps de stabilisation de diminution en charge de 10 minutes et un temps de stabilisation de montée en charge de 5 minutes.

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