Obtention de recommandations en matière de politique de mise à l'échelle automatique - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Obtention de recommandations en matière de politique de mise à l'échelle automatique

Avec Amazon SageMaker Inference Recommender, vous pouvez obtenir des recommandations concernant les politiques de dimensionnement automatique de votre SageMaker terminal en fonction de votre modèle de trafic prévu. Si vous avez déjà effectué une tâche de recommandation d'inférence, vous pouvez fournir les détails de la tâche afin d'obtenir une recommandation pour une politique de mise à l'échelle automatique que vous pouvez appliquer à votre point de terminaison.

Inference Recommender compare différentes valeurs pour chaque métrique afin de déterminer la configuration de mise à l'échelle automatique idéale pour votre point de terminaison. La recommandation de mise à l'échelle automatique renvoie une politique de mise à l'échelle automatique recommandée pour chaque métrique définie dans votre tâche de recommandation d'inférence. Vous pouvez enregistrer les politiques et les appliquer à votre terminal à l'aide du PutScalingPolicyAPI.

Pour commencer, consultez les conditions préalables suivantes.

Prérequis

Avant de commencer, vous devez avoir terminé avec succès une tâche de recommandation d'inférence. Dans la section suivante, vous pouvez fournir un ID de recommandation d'inférence ou le nom d'un point de SageMaker terminaison qui a été évalué lors d'une tâche de recommandation d'inférence.

Pour récupérer l'ID de votre tâche de recommandation ou le nom de votre point de terminaison, vous pouvez soit consulter les détails de votre tâche de recommandation d'inférence dans la SageMaker console, soit utiliser les EndpointName champs RecommendationId ou renvoyés par le DescribeInferenceRecommendationsJobAPI.

Création d'une recommandation de configuration de mise à l'échelle automatique

Pour créer une politique de recommandation de mise à l'échelle automatique, vous pouvez utiliser le kit AWS SDK for Python (Boto3).

L'exemple suivant montre les champs pour le GetScalingConfigurationRecommendationAPI. Utilisez les champs suivants lorsque vous appelez le API :

  • InferenceRecommendationsJobName : entrez le nom de votre tâche de recommandation d'inférence.

  • RecommendationId : entrez l'ID d'une recommandation d'inférence issue d'une tâche de recommandation. Ceci est facultatif si vous avez spécifié le champ EndpointName.

  • EndpointName : entrez le nom d'un point de terminaison qui a été comparé lors d'une tâche de recommandation d'inférence. Ceci est facultatif si vous avez spécifié le champ RecommendationId.

  • TargetCpuUtilizationPerCore : (facultatif) entrez une valeur en pourcentage du taux d'utilisation que vous souhaitez qu'une instance de votre point de terminaison utilise avant la mise à l'échelle automatique. La valeur par défaut si vous ne spécifiez pas ce champ est de 50 %.

  • ScalingPolicyObjective : (facultatif) objet dans lequel vous spécifiez le modèle de trafic prévu.

    • MinInvocationsPerMinute : (facultatif) nombre minimum de demandes attendues vers votre point de terminaison par minute.

    • MaxInvocationsPerMinute : (facultatif) nombre maximum de demandes attendues vers votre point de terminaison par minute.

{ "InferenceRecommendationsJobName": "string", // Required "RecommendationId": "string", // Optional, provide one of RecommendationId or EndpointName "EndpointName": "string", // Optional, provide one of RecommendationId or EndpointName "TargetCpuUtilizationPerCore": number, // Optional "ScalingPolicyObjective": { // Optional "MinInvocationsPerMinute": number, "MaxInvocationsPerMinute": number } }

Après avoir soumis votre demande, vous recevrez une réponse contenant des politiques de mise à l'échelle automatique définies pour chaque métrique. Consultez la section suivante pour plus d'informations sur l'interprétation de la réponse.

Révision de vos résultats de recommandation de configuration de mise à l'échelle automatique

L'exemple suivant montre la réponse du  GetScalingConfigurationRecommendationAPI:

{ "InferenceRecommendationsJobName": "string", "RecommendationId": "string", // One of RecommendationId or EndpointName is shown "EndpointName": "string", "TargetUtilizationPercentage": Integer, "ScalingPolicyObjective": { "MinInvocationsPerMinute": Integer, "MaxInvocationsPerMinute": Integer }, "Metric": { "ModelLatency": Integer, "InvocationsPerInstance": Integer }, "DynamicScalingConfiguration": { "MinCapacity": number, "MaxCapacity": number, "ScaleInCooldown": number, "ScaleOutCooldown": number, "ScalingPolicies": [ { "TargetTracking": { "MetricSpecification": { "Predefined" { "PredefinedMetricType": "string" }, "Customized": { "MetricName": "string", "Namespace": "string", "Statistic": "string" } }, "TargetValue": Double } } ] } }

InferenceRecommendationsJobName, RecommendationID ou EndpointName, TargetCpuUtilizationPerCore et les champs d'objet ScalingPolicyObjective sont copiés à partir de votre demande initiale.

L'objet Metric répertorie les métriques qui ont été comparées dans votre tâche de recommandation d'inférence, ainsi qu'un calcul des valeurs pour chaque métrique lorsque l'utilisation de l'instance serait identique à la valeur TargetCpuUtilizationPerCore. Cela est utile pour anticiper les métriques de performance de votre point de terminaison lors de sa mise à l'échelle horizontale et de sa montée en puissance conformément à la politique de mise à l'échelle automatique recommandée. Par exemple, déterminez si le taux d'utilisation de votre instance était de 50 % dans votre tâche de recommandation d'inférence alors que votre valeur InvocationsPerInstance était à l'origine 4. Si vous spécifiez la valeur TargetCpuUtilizationPerCore sur 100 % dans votre demande de recommandation de mise à l'échelle automatique, la valeur de métrique InvocationsPerInstance renvoyée dans la réponse est 2 car vous avez prévu d'allouer deux fois plus d'utilisation des instances.

L'DynamicScalingConfigurationobjet renvoie les valeurs que vous devez spécifier pour le TargetTrackingScalingPolicyConfigurationlorsque vous appelez le PutScalingPolicyAPI. Cela inclut les valeurs de capacité minimale et maximale recommandées, les temps de stabilisation de montée et de diminution, ainsi que l'objet ScalingPolicies, qui contient la TargetValue recommandée que vous devez spécifier pour chaque métrique.