Configuration et surveillance de la restauration 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.

Configuration et surveillance de la restauration automatique

Les CloudWatch alarmes Amazon sont indispensables pour utiliser les périodes de pause dans les garde-corps de déploiement. Vous ne pouvez utiliser la fonctionnalité de restauration automatique dans les garde-fous de déploiement que si vous configurez des CloudWatch alarmes capables de surveiller un terminal. Si l'une de vos alarmes se déclenche pendant la période de surveillance spécifiée, SageMaker initie une restauration complète vers l'ancien terminal afin de protéger votre application. Si aucune CloudWatch alarme n'est configurée pour surveiller votre terminal, la fonctionnalité de restauration automatique ne fonctionne pas pendant votre déploiement.

Pour en savoir plus sur Amazon CloudWatch, consultez Qu'est-ce qu'Amazon CloudWatch ? dans le guide de CloudWatch l'utilisateur Amazon.

Note

Assurez-vous que votre rôle d'exécution IAM est autorisé à effectuer l'action cloudwatch:DescribeAlarms sur les alarmes de restauration automatique que vous spécifiez.

Exemples d'alarme

Pour vous aider à démarrer, nous fournissons les exemples suivants pour démontrer les capacités des CloudWatch alarmes. En plus d'utiliser ou de modifier les exemples suivants, vous pouvez créer vos propres alarmes et configurer les alarmes pour contrôler diverses métriques sur les flottes spécifiées pendant une certaine période. Pour voir d'autres SageMaker mesures et dimensions que vous pouvez ajouter à vos alarmes, consultezSurveillez Amazon SageMaker avec Amazon CloudWatch.

contrôler les erreurs d'appel sur les anciennes et nouvelles flottes

L' CloudWatch alarme suivante surveille le taux d'erreur moyen d'un terminal. Vous pouvez utiliser cette alarme avec n'importe quel type de changement de trafic de barrière de protection de déploiement pour fournir une surveillance globale à la fois sur l'ancienne et la nouvelle flotte. Si l'alarme se déclenche, cela SageMaker déclenche un retour à l'ancienne flotte.

Les erreurs d'appel provenant à la fois de l'ancienne flotte et de la nouvelle flotte contribuent au taux d'erreur moyen. Si le taux d'erreur moyen dépasse le seuil spécifié, l'alarme se déclenche. Cet exemple particulier surveille les erreurs 4xx (erreurs client) sur les anciennes et nouvelles flottes pendant la durée d'un déploiement. Vous pouvez également contrôler les erreurs 5xx (erreurs de serveur) à l'aide de la métrique Invocation5XXErrors.

Note

Pour ce type d'alarme, si votre ancienne flotte déclenche l'alarme pendant le déploiement, cela SageMaker met fin à votre déploiement. Par conséquent, si votre flotte de production actuelle provoque déjà des erreurs, envisagez d'utiliser ou de modifier l'un des exemples suivants qui surveille uniquement les erreurs de la nouvelle flotte.

#Applied deployment type: all types { "AlarmName": "EndToEndDeploymentHighErrorRateAlarm", "AlarmDescription": "Monitors the error rate of 4xx errors", "MetricName": "Invocation4XXErrors", "Namespace": "AWS/SageMaker", "Statistic": "Average", "Dimensions": [ { "Name": "EndpointName", "Value": <your-endpoint-name> }, { "Name": "VariantName", "Value": "AllTraffic" } ], "Period": 600, "EvaluationPeriods": 2, "Threshold": 1, "ComparisonOperator": "GreaterThanThreshold", "TreatMissingData": "notBreaching" }

Dans l'exemple précédent, notez les valeurs dans les champs suivants :

  • Pour AlarmName et AlarmDescription, saisissez un nom et une description de votre choix pour l'alarme.

  • Pour MetricName, utilisez la valeur Invocation4XXErrors afin de contrôler les erreurs 4xx sur le point de terminaison

  • Pour Namespace, utilisez la valeur AWS/SageMaker. Vous pouvez également spécifier votre propre métrique personnalisée, le cas échéant.

  • Pour Statistic, utilisez Average. Cela signifie que l'alarme prend le taux d'erreur moyen sur les périodes d'évaluation pour calculer si ce taux a dépassé le seuil.

  • Pour la dimension EndpointName, utilisez le nom du point de terminaison que vous mettez à jour comme valeur.

  • Pour la dimension VariantName, utilisez la valeur AllTraffic pour spécifier tout le trafic des points de terminaison.

  • Pour Period, utilisez 600. Cela définit les périodes d'évaluation de l'alarme à 10 minutes.

  • Pour EvaluationPeriods, utilisez 2. Cette valeur indique à l'alarme de prendre en compte les deux périodes d'évaluation les plus récentes lors de la détermination de l'état de l'alarme.

Contrôler la latence des modèles sur la nouvelle flotte

L'exemple CloudWatch d'alarme suivant surveille la latence du nouveau modèle de flotte pendant votre déploiement. Vous pouvez utiliser cette alarme pour contrôler uniquement la nouvelle flotte et exclure l'ancienne flotte. L'alarme dure pendant tout le déploiement. Cet exemple vous fournit une end-to-end surveillance complète de la nouvelle flotte et initie un retour à l'ancienne flotte si la nouvelle flotte rencontre des problèmes de temps de réponse.

CloudWatch publie les métriques avec la dimension une EndpointConfigName:{New-Ep-Config} fois que le nouveau parc commence à recevoir du trafic, et ces métriques sont valables même une fois le déploiement terminé.

Vous pouvez utiliser l'exemple d'alarme suivant avec n'importe quel type de déploiement.

#Applied deployment type: all types { "AlarmName": "NewEndpointConfigVersionHighModelLatencyAlarm", "AlarmDescription": "Monitors the model latency on new fleet", "MetricName": "ModelLatency", "Namespace": "AWS/SageMaker", "Statistic": "Average", "Dimensions": [ { "Name": "EndpointName", "Value": <your-endpoint-name> }, { "Name": "VariantName", "Value": "AllTraffic" }, { "Name": "EndpointConfigName", "Value": <your-config-name> ], "Period": 300, "EvaluationPeriods": 2, "Threshold": 100000, # 100ms "ComparisonOperator": "GreaterThanThreshold", "TreatMissingData": "notBreaching" }

Dans l'exemple précédent, notez les valeurs dans les champs suivants :

  • Pour MetricName, utilisez la valeur ModelLatency afin de contrôler le temps de réponse du modèle.

  • Pour Namespace, utilisez la valeur AWS/SageMaker. Vous pouvez également spécifier votre propre métrique personnalisée, le cas échéant.

  • Pour la dimension EndpointName, utilisez le nom du point de terminaison que vous mettez à jour comme valeur.

  • Pour la dimension VariantName, utilisez la valeur AllTraffic afin despécifier tout le trafic des points de terminaison.

  • Pour la dimension EndpointConfigName, la valeur doit faire référence au nom de configuration de votre point de terminaison nouveau ou mis à jour.

Note

Si vous souhaitez contrôler votre ancienne flotte au lieu de la nouvelle flotte, vous pouvez modifier la dimension EndpointConfigName afin de spécifier le nom de la configuration de votre ancienne flotte.