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

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

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

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

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 ayudarle a empezar, le ofrecemos los siguientes ejemplos para demostrar las capacidades de las CloudWatch alarmas. 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 SageMaker métricas y dimensiones que puede añadir a sus alarmas, consulteSupervisa Amazon SageMaker con Amazon CloudWatch.

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

La siguiente CloudWatch alarma monitorea la tasa de error promedio de un punto final. 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, se SageMaker 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

En el caso de este tipo de alarma, si su flota anterior activa la alarma durante el despliegue, el despliegue SageMaker se interrumpe. 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 CloudWatch alarma monitorea la latencia del modelo de la nueva flota durante el despliegue. Puede usar esta alarma para monitorizar solo la flota nueva y excluir la antigua. La alarma dura todo la implementación. Este ejemplo proporciona un end-to-end seguimiento exhaustivo 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 una EndpointConfigName:{New-Ep-Config} vez que la nueva flota comience a recibir tráfico, y estas métricas se mantienen incluso después de que se complete el despliegue.

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.