Configuración y monitorización de la reversión automática - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración y monitorización de la reversión automática

Las alarmas de Amazon CloudWatch son un requisito previo para utilizar los períodos de cocción en las barreras de protección de implementación. Solo puede utilizar la función de reversión automática en las barreras de protección de implementación si configura alarmas de CloudWatch que puedan monitorizar un punto de conexión. Si alguna de sus alarmas se activa durante el período de monitorización especificado, SageMaker AI inicia una reversión completa al punto de conexión anterior para proteger su aplicación. Si no tiene ninguna alarma de CloudWatch configurada para monitorizar su punto de conexión, la función de reversión automática no funcionará durante la implementación.

Para obtener más información acerca de CloudWatch, consulte ¿Qué es Amazon CloudWatch? en la Guía del usuario de Amazon CloudWatch.

nota

Asegúrese de que su rol de ejecución de IAM tenga permiso para realizar la acción cloudwatch:DescribeAlarms en las alarmas de reversión automática que especifique.

Ejemplos de alarmas

Para empezar, le ofrecemos los siguientes ejemplos para demostrar las capacidades de las alarmas de CloudWatch. Además de usar o modificar los siguientes ejemplos, puede crear sus propias alarmas y configurarlas para monitorizar diversas métricas en las flotas especificadas durante un período de tiempo determinado. Para ver más métricas y dimensiones de SageMaker AI que puede añadir a sus alarmas, consulte Métricas de Amazon SageMaker AI en Amazon CloudWatch.

Monitorice los errores de invocación tanto en las flotas antiguas como en las nuevas

La siguiente alarma de CloudWatch monitoriza la tasa de error media de un punto de conexión. Puede utilizar esta alarma con cualquier tipo de barreras de protección de implementación que cambien el tráfico para proporcionar una monitorización general tanto de las flotas antiguas como de las nuevas. Si la alarma se activa, SageMaker AI inicia una reversión a la flota anterior.

Los errores de invocación procedentes tanto de la flota antigua como de la nueva contribuyen a la tasa de error media. Si la tasa de error media supera el umbral especificado, se activa la alarma. En este ejemplo concreto, se monitorizan los errores 4xx (errores del cliente) tanto en la flota antigua como en la nueva durante la implementación. También puede monitorizar los errores 5xx (errores de servidor) utilizando la métrica Invocation5XXErrors.

nota

Para este tipo de alarma, si su flota anterior activa la alarma durante la implementación, SageMaker AI finaliza la implementación. Por lo tanto, si su flota de producción actual ya causa errores, considere la posibilidad de utilizar o modificar uno de los siguientes ejemplos, que solo supervisa la nueva flota para detectar errores.

#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" }

En el ejemplo anterior, anote los valores de los siguientes campos:

  • En AlarmName y AlarmDescription, introduzca el nombre y la descripción que elija para la alarma.

  • En MetricName, utilice el valor Invocation4XXErrors para monitorizar errores 4xx en el punto de conexión

  • En Namespace, utilice el valor AWS/SageMaker. También puede especificar su propia métrica personalizada, si corresponde.

  • En Statistic, utilice Average. Esto significa que la alarma toma la tasa de error promedio durante los períodos de evaluación al calcular si la tasa de error ha superado el umbral.

  • En la dimensión EndpointName, utilice como valor el nombre del punto de conexión que está actualizando.

  • En la dimensión VariantName, utilice el valor AllTraffic para especificar todo el tráfico de puntos de conexión.

  • En Period, utilice 600. Esto establece los períodos de evaluación de la alarma en 10 minutos.

  • En EvaluationPeriods, utilice 2. Este valor indica a la alarma que tenga en cuenta los dos períodos de evaluación más recientes al determinar el estado de la alarma.

Monitoriza la latencia del modelo en la nueva flota

El siguiente ejemplo de alarma de CloudWatch monitoriza la latencia del modelo de la nueva flota durante la implementación. Puede usar esta alarma para monitorizar solo la flota nueva y excluir la antigua. La alarma dura todo la implementación. Este ejemplo proporciona una implementación completa e integral de la nueva flota e inicia una reversión a la flota anterior si la nueva flota tiene algún problema de tiempo de respuesta.

CloudWatch publica las métricas con la dimensión EndpointConfigName:{New-Ep-Config} una vez que la nueva flota comienza a recibir tráfico, y estas métricas duran incluso después de que se complete la implementación.

Puede utilizar el siguiente ejemplo de alarma con cualquier tipo de implementación.

#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" }

En el ejemplo anterior, anote los valores de los siguientes campos:

  • En MetricName, utilice el valor ModelLatency para monitorizar el tiempo de respuesta del modelo.

  • En Namespace, utilice el valor AWS/SageMaker. También puede especificar su propia métrica personalizada, si corresponde.

  • En la dimensión EndpointName, utilice como valor el nombre del punto de conexión que está actualizando.

  • En la dimensión VariantName, utilice el valor AllTraffic para especificar todo el tráfico de puntos de conexión.

  • En la dimensión EndpointConfigName, el valor debe hacer referencia al nombre de configuración del punto de conexión para su punto de conexión nuevo o actualizado.

nota

Si desea monitorizar su flota anterior en lugar de la nueva, puede cambiar la dimensión EndpointConfigName para especificar el nombre de la configuración de la flota anterior.