Présentation de Auto Scaling - 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.

Présentation de Auto Scaling

La présentation suivante fournit des informations détaillées sur les prérequis et les composants utilisés pour le dimensionnement automatique.

Prérequis

Avant de pouvoir utiliser le dimensionnement automatique, vous devez déjà avoir créé un point de terminaison SageMaker modèle Amazon. Vous pouvez avoir plusieurs versions de modèles pour le même point de terminaison. Chaque modèle est appelé variante de production (modèle). Pour plus d'informations sur le déploiement d'un point de terminaison de modèle, consultez Déployer le modèle dans les services SageMaker d'hébergement.

Pour activer le dimensionnement automatique d'un modèle, vous pouvez utiliser la SageMaker console, le AWS Command Line Interface (AWS CLI) ou un AWS SDK via l'API Application Auto Scaling.

  • Si c'est la première fois que vous configurez le dimensionnement d'un modèle, nous vous recommandons de le faireConfiguration de la mise à l'échelle automatique d'un modèle avec la console.

  • Lorsque vous utilisez l'API Application Auto Scaling AWS CLI ou l'API Application Auto Scaling, le flux consiste à enregistrer le modèle en tant que cible évolutive, à définir la politique de dimensionnement, puis à l'appliquer. Sur la SageMaker console, sous Inference dans le volet de navigation, sélectionnez Endpoints. Recherchez le nom du point de terminaison de votre modèle, puis choisissez-le pour trouver le nom de la variante. Vous devez spécifier à la fois le nom du point de terminaison et le nom de la variante pour activer le dimensionnement automatique d'un modèle.

Présentation de la politique de dimensionnement

Pour utiliser le dimensionnement automatique, vous définissez une politique de dimensionnement qui ajoute et supprime le nombre d'instances pour votre variante de production en réponse aux charges de travail réelles.

Pour effectuer une mise à l'échelle automatique en fonction de l'évolution de la charge de travail, deux options s'offrent à vous : le suivi des cibles et les politiques de dimensionnement par étapes.

Nous vous recommandons d'utiliser des politiques de dimensionnement pour le suivi des cibles. Avec le suivi des cibles, vous choisissez une CloudWatch métrique Amazon et une valeur cible. Auto Scaling crée et gère les CloudWatch alarmes relatives à la politique de dimensionnement et calcule l'ajustement de mise à l'échelle en fonction de la métrique et de la valeur cible. La politique ajoute et supprime le nombre d'instances requis pour maintenir la métrique à la valeur cible spécifiée ou proche de celle-ci. Par exemple, une stratégie de dimensionnement qui utilise la métrique InvocationsPerInstance prédéfinie avec une valeur cible égale à 70 peut maintenir InvocationsPerInstance à la valeur 70 ou à une valeur proche. Pour plus d'informations, consultez les politiques de dimensionnement du suivi de Target dans le Guide de l'utilisateur d'Application Auto Scaling.

Vous pouvez utiliser la mise à l'échelle par étapes lorsque vous avez besoin d'une configuration avancée, par exemple en spécifiant le nombre d'instances à déployer dans diverses conditions. Sinon, il est préférable d'utiliser le dimensionnement du suivi des cibles car il sera entièrement automatisé. Notez que le dimensionnement par étapes ne peut être géré qu'à partir de l'API Application Auto Scaling AWS CLI ou de l'API Application Auto Scaling. Pour une présentation des politiques de dimensionnement par étapes et de leur fonctionnement, consultez la section Politiques de dimensionnement par étapes dans le guide de l'utilisateur d'Application Auto Scaling

Pour créer une stratégie de mise à l’échelle de suivi des cibles, vous devez spécifier les éléments suivants :

  • Métrique : CloudWatch métrique à suivre, telle que le nombre moyen d'appels par instance.

  • Valeur cible : valeur cible de la métrique, telle que 70 appels par instance et par minute.

Vous pouvez créer des stratégies de suivi des objectifs de la mise à l'échelle avec des métriques prédéfinies ou des métriques personnalisées. Une métrique prédéfinie est définie dans une énumération afin que vous puissiez la spécifier par son nom dans le code ou l'utiliser dans la SageMaker console. Vous pouvez également utiliser l'API Application Auto Scaling AWS CLI ou l'API Application Auto Scaling pour appliquer une politique de dimensionnement du suivi des cibles basée sur une métrique prédéfinie ou personnalisée.

Notez que les activités de mise à l'échelle sont effectuées avec des périodes de recharge entre elles afin d'éviter des fluctuations rapides de capacité. Vous pouvez éventuellement configurer les temps de stabilisation de votre stratégie de mise à l’échelle.

Mise à l'échelle selon un calendrier

Vous pouvez également créer des actions planifiées pour effectuer des activités de dimensionnement à des moments précis. Vous pouvez créer des actions planifiées pour une mise à l’échelle unique ou selon une planification récurrente. Après l'exécution d'une action planifiée, votre politique de dimensionnement peut continuer à décider s'il convient de procéder à une mise à l'échelle dynamique en fonction de l'évolution de la charge de travail. Le dimensionnement planifié ne peut être géré qu'à partir de l'API Application Auto Scaling AWS CLI ou de l'API Application Auto Scaling. Pour plus d'informations, voir Mise à l'échelle planifiée dans le Guide de l'utilisateur Application Auto Scaling..

Limites de mise à l'échelle minimale et maximale

Lorsque vous configurez le dimensionnement automatique, vous devez spécifier vos limites de dimensionnement avant de créer une politique de dimensionnement. Vous définissez des limites séparément pour les valeurs minimale et maximale.

La valeur minimale doit être au moins égale à 1 et inférieure ou égale à la valeur spécifiée pour la valeur maximale.

La valeur maximale doit être égale ou supérieure à la valeur spécifiée pour la valeur minimale. SageMaker le dimensionnement automatique n'impose pas de limite pour cette valeur.

Pour déterminer les limites de mise à l'échelle dont vous avez besoin pour le trafic type, testez votre configuration de dimensionnement automatique en fonction du taux de trafic attendu vers votre modèle.

Si le trafic d'une variante devient nul, il est SageMaker automatiquement ajusté au nombre minimum d'instances spécifié. Dans ce cas, SageMaker émet des métriques avec une valeur de zéro.

Il existe trois options pour définir la capacité minimale et maximale :

  1. Utilisez la console pour mettre à jour les paramètres Nombre minimal d'instances et Nombre maximal d'instances.

  2. Utilisez les options AWS CLI et incluez les --max-capacity options --min-capacity et lors de l'exécution de la register-scalable-targetcommande.

  3. Appelez l'RegisterScalableTargetAPI et spécifiez les MaxCapacity paramètres MinCapacity et.

Astuce

Vous pouvez redimensionner manuellement en augmentant la valeur minimale ou redimensionner manuellement en diminuant la valeur maximale.

Temps de stabilisation

Une période de recharge permet de se protéger contre le surdimensionnement lorsque votre modèle est redimensionné (réduction de la capacité) ou redimensionné (augmentation de la capacité). Pour ce faire, il ralentit les activités de dimensionnement ultérieures jusqu'à l'expiration de la période. Plus précisément, il bloque la suppression d'instances pour les demandes de scale-in et limite la création d'instances pour les demandes scale-out. Pour plus d'informations, consultez la section Définir les périodes de refroidissement dans le Guide de l'utilisateur d'Application Auto Scaling.

Vous configurez la période de recharge dans votre politique de dimensionnement.

Si vous ne spécifiez pas de délai de redimensionnement initial ou dégressif, votre politique de dimensionnement utilise la valeur par défaut, qui est de 300 secondes pour chacune d'elles.

Si des instances sont ajoutées ou supprimées trop rapidement lorsque vous testez votre configuration de dimensionnement, pensez à augmenter cette valeur. Ce comportement peut se produire si le trafic vers votre modèle connaît de nombreux pics ou si vous avez défini plusieurs politiques de dimensionnement pour une variante.

Si les instances ne sont pas ajoutées assez rapidement pour répondre à une augmentation du trafic, envisagez de diminuer la valeur.

Autorisations

Le dimensionnement automatique est rendu possible par une combinaison des API Amazon SageMaker CloudWatch, Amazon et Application Auto Scaling. Pour plus d'informations sur les autorisations minimales requises, consultez les exemples de politiques basées sur l'identité d'Application Auto Scaling dans le Guide de l'utilisateur d'Application Auto Scaling.

La politique SagemakerFullAccessPolicy IAM dispose de toutes les autorisations IAM requises pour effectuer un dimensionnement automatique. Pour plus d'informations sur les autorisations SageMaker IAM, consultezSageMaker Rôles.

Si vous gérez votre propre politique d'autorisation, vous devez inclure les autorisations suivantes :

{ "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": "*" } ] }

Rôle lié à un service

Auto Scaling utilise le rôle AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint lié au service. Ce rôle lié au service accorde à Application Auto Scaling l'autorisation de décrire les alarmes correspondant à vos politiques, de surveiller les niveaux de capacité actuels et de dimensionner la ressource cible. Ce rôle est créé automatiquement pour vous. Pour que la création automatique des rôles réussisse, vous devez être autorisé à effectuer l'iam:CreateServiceLinkedRoleaction. Pour plus d'informations, consultez Rôles liés à un service dans le Guide de l'utilisateur Application Auto Scaling.

Pour plus d'informations sur la configuration de l'autoscaling, consultez les ressources suivantes :