Descripción general del escalado automático - 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.

Descripción general del escalado automático

La siguiente descripción general proporciona detalles sobre los requisitos previos y los componentes que se utilizan para el escalado automático.

Requisitos previos

Antes de poder utilizar el escalado automático, debe haber creado ya un punto final de SageMaker modelo de Amazon. Puede tener varias versiones de modelos para el mismo punto final. Cada modelo se denomina variante de producción (modelo). Para obtener más información sobre la implementación de un punto de enlace del modelo, consulte Implemente el modelo en los servicios de SageMaker alojamiento.

Para activar el autoescalado de un modelo, puede usar la SageMaker consola, el AWS Command Line Interface (AWS CLI) o un AWS SDK a través de la API Application Auto Scaling.

  • Si es la primera vez que configura el escalado de un modelo, le recomendamos que lo hagaConfiguración del escalado automático de modelos con la consola.

  • Cuando se utiliza la AWS CLI API Application Auto Scaling, el flujo consiste en registrar el modelo como un objetivo escalable, definir la política de escalado y, a continuación, aplicarla. En la SageMaker consola, en Inferencia del panel de navegación, elija Endpoints. Busque el nombre del punto final del modelo y, a continuación, elíjalo para buscar el nombre de la variante. Debe especificar tanto el nombre del punto final como el nombre de la variante para activar el escalado automático de un modelo.

Resumen de la política de escalado

Para usar el escalado automático, debes definir una política de escalado que añada y elimine el número de instancias de tu variante de producción en respuesta a las cargas de trabajo reales.

Para escalar automáticamente a medida que se producen cambios en la carga de trabajo, tienes dos opciones: políticas de seguimiento de objetivos y de escalado escalonado.

Recomendamos utilizar políticas de escalado y seguimiento de objetivos. Con el seguimiento objetivo, eliges una CloudWatch métrica y un valor objetivo de Amazon. El escalado automático crea y gestiona las CloudWatch alarmas de la política de escalado y calcula el ajuste de escalado en función de la métrica y el valor objetivo. La política agrega y elimina el número de instancias necesario para mantener la métrica en el valor objetivo especificado o cerca de él. Por ejemplo, una política de escalado que utiliza la métrica predefinida InvocationsPerInstance con un valor de destino de 70 puede mantener InvocationsPerInstance en 70 o cerca de ese valor. Para obtener más información, consulte Políticas de escalado de seguimiento de Target en la Guía del usuario de Application Auto Scaling.

Puede utilizar el escalado por pasos cuando necesite una configuración avanzada, como especificar cuántas instancias se implementarán y en qué condiciones. De lo contrario, es preferible utilizar el escalado de seguimiento de Target, ya que estará completamente automatizado. Tenga en cuenta que el escalado por pasos solo se puede administrar desde la API Application Auto Scaling AWS CLI o desde la API. Para obtener una descripción general de las políticas de escalado escalonado y cómo funcionan, consulte las políticas de escalado escalonado en la Guía del usuario de Application Auto Scaling.

Para crear una política de escalado de seguimiento de destino, debe especificar lo siguiente:

  • Métrica: la CloudWatch métrica que se debe rastrear, como el número promedio de invocaciones por instancia.

  • Valor objetivo: el valor objetivo de la métrica, como 70 invocaciones por instancia por minuto.

Puede crear políticas de escalado de seguimiento de destino con métricas predefinidas o personalizadas. Una métrica predefinida se define en una enumeración para que puedas especificarla por su nombre en el código o utilizarla en la SageMaker consola. Como alternativa, puede usar la API Application Auto Scaling AWS CLI o la API para aplicar una política de escalado de seguimiento de objetivos basada en una métrica predefinida o personalizada.

Tenga en cuenta que las actividades de escalado se realizan con períodos de enfriamiento entre ellas para evitar fluctuaciones rápidas de la capacidad. Si lo desea, puede configurar los periodos de recuperación para su política de escalado.

Escalado según una programación

También puede crear acciones programadas para realizar actividades de escalado en momentos específicos. Puede crear acciones programadas que realizan el escalado de forma puntual o periódica. Una vez ejecutada una acción programada, su política de escalado puede seguir tomando decisiones sobre si debe escalarse dinámicamente a medida que se produzcan cambios en la carga de trabajo. El escalado programado solo se puede gestionar desde la API Application Auto Scaling AWS CLI o desde ella. Para obtener más información, consulte Escalado programado en la Guía del usuario de Auto Scaling de aplicaciones.

Límites de escalado mínimo y máximo

Al configurar el escalado automático, debe especificar sus límites de escalado antes de crear una política de escalado. Los límites se establecen por separado para los valores mínimo y máximo.

El valor mínimo debe ser al menos 1 e igual o menor que el valor especificado para el valor máximo.

El valor máximo debe ser igual o superior al valor especificado para el valor mínimo. SageMaker el escalado automático no impone un límite para este valor.

Para determinar los límites de escalado que necesita para el tráfico típico, pruebe la configuración de escalado automático con la velocidad de tráfico esperada para su modelo.

Si el tráfico de una variante pasa a cero, se escala SageMaker automáticamente hasta el número mínimo de instancias especificado. En este caso, SageMaker emite métricas con un valor de cero.

Existen tres opciones para especificar la capacidad mínima y máxima:

  1. Utilice la consola para actualizar la configuración del número mínimo de instancias y el número máximo de instancias.

  2. Utilice las opciones AWS CLI e incluya las --max-capacity opciones --min-capacity y cuando ejecute el register-scalable-targetcomando.

  3. Llame a la RegisterScalableTargetAPI y especifique los MaxCapacity parámetros MinCapacity y.

sugerencia

Puede escalar manualmente de forma horizontal aumentando el valor mínimo o de forma manual reduciendo el valor máximo.

Periodo de recuperación

Se utiliza un período de enfriamiento para evitar que el modelo se escale en exceso cuando el modelo se amplía hacia dentro (reduce la capacidad) o se escala hacia fuera (aumenta la capacidad). Para ello, ralentiza las actividades de escalado posteriores hasta que venza el período. En concreto, bloquea la eliminación de instancias para las solicitudes de escalamiento horizontal y limita la creación de instancias para las solicitudes de escalamiento horizontal. Para obtener más información, consulte Definir períodos de enfriamiento en la Guía del usuario de Application Auto Scaling.

El período de enfriamiento se configura en la política de escalado.

Si no especificas un período de enfriamiento de escalado horizontal o vertical, tu política de escalado usa el predeterminado, que es de 300 segundos para cada uno.

Si las instancias se agregan o eliminan demasiado rápido al probar la configuración de escalado, considere la posibilidad de aumentar este valor. Es posible que observe este comportamiento si el tráfico hacia su modelo tiene muchos picos o si tiene varias políticas de escalado definidas para una variante.

Si las instancias no se agregan lo suficientemente rápido como para tratar el aumento del tráfico, considere reducir este valor.

Permisos

El escalado automático es posible gracias a una combinación de las API Amazon SageMaker CloudWatch, Amazon y Application Auto Scaling. Para obtener información sobre los permisos mínimos requeridos, consulte los ejemplos de políticas basadas en la identidad de Application Auto Scaling en la Guía del usuario de Application Auto Scaling.

La política de SagemakerFullAccessPolicy IAM tiene todos los permisos de IAM necesarios para realizar el escalado automático. Para obtener más información sobre los permisos de SageMaker IAM, consulte. SageMaker Funciones

Si administra su propia política de permisos, debe incluir los siguientes permisos:

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

Rol vinculado a servicio

El escalado automático utiliza la función AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint vinculada al servicio. Esta función vinculada al servicio otorga a Application Auto Scaling el permiso para describir las alarmas de sus políticas, monitorear los niveles de capacidad actuales y escalar el recurso objetivo. Este rol se crea automáticamente para usted. Para que la creación automática de roles se realice correctamente, debe tener permiso para realizar la iam:CreateServiceLinkedRole acción. Para obtener más información, consulte Roles vinculados a servicios en la Guía del usuario de Auto Scaling de aplicaciones.

Para obtener más información sobre la configuración del escalado automático, consulte los siguientes recursos: