Obtener recomendaciones de políticas de escalado automático - 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.

Obtener recomendaciones de políticas de escalado automático

Con Amazon SageMaker Inference Recommender, puede obtener recomendaciones para políticas de escalado automático para su punto final de SageMaker IA en función del patrón de tráfico previsto. Si ya ha realizado un trabajo de recomendación de inferencias, puede proporcionar los detalles del trabajo para obtener una recomendación sobre una política de escalado automático que pueda aplicar a su punto de conexión.

El Recomendador de inferencias compara diferentes valores para cada métrica a fin de determinar la configuración de escalado automático ideal para su punto de conexión. La recomendación de escalado automático devuelve una política de escalado automático recomendada para cada métrica definida en el trabajo de recomendación de inferencias. Puede guardar las políticas y aplicarlas a su punto final con la API. PutScalingPolicy

Para empezar, revise los requisitos previos siguientes.

Requisitos previos

Antes de comenzar, debe haber completado correctamente un trabajo de recomendación de inferencia. En la siguiente sección, puede proporcionar un ID de recomendación de inferencia o el nombre de un punto final de SageMaker IA que se comparó durante un trabajo de recomendación de inferencia.

Para recuperar el identificador de tu trabajo de recomendación o el nombre del punto de conexión, puedes ver los detalles de tu trabajo de recomendación de inferencia en la consola de SageMaker IA o utilizar EndpointName los campos RecommendationId o campos devueltos por la API. DescribeInferenceRecommendationsJob

Crear una recomendación de configuración de escalado automático

Para crear una política de recomendaciones de escalado automático, puede utilizar la AWS SDK for Python (Boto3).

En el siguiente ejemplo, se muestran los campos de la GetScalingConfigurationRecommendationAPI. Utilice los siguientes campos cuando llame a la API:

  • InferenceRecommendationsJobName: introduzca el nombre de su trabajo de recomendación de inferencias.

  • RecommendationId: introduzca el ID de una recomendación de inferencia de un trabajo de recomendación. Esto es opcional si ha especificado el campo EndpointName.

  • EndpointName: introduzca el nombre de un punto de conexión que se haya comparado durante un trabajo de recomendación de inferencia. Esto es opcional si ha especificado el campo RecommendationId.

  • TargetCpuUtilizationPerCore: (Opcional) Introduce un valor porcentual del uso que quiere que utilice una instancia de su punto de conexión antes de realizar el ajuste de escala automático. Si no especifica este campo, el valor predeterminado es 50 %.

  • ScalingPolicyObjective: (Opcional) un objeto en el que se especifica el patrón de tráfico previsto.

    • MinInvocationsPerMinute: (Opcional) el número mínimo de solicitudes esperadas a su punto de conexión por minuto.

    • MaxInvocationsPerMinute: (Opcional) el número máximo de solicitudes esperadas para su punto de conexión por minuto.

{ "InferenceRecommendationsJobName": "string", // Required "RecommendationId": "string", // Optional, provide one of RecommendationId or EndpointName "EndpointName": "string", // Optional, provide one of RecommendationId or EndpointName "TargetCpuUtilizationPerCore": number, // Optional "ScalingPolicyObjective": { // Optional "MinInvocationsPerMinute": number, "MaxInvocationsPerMinute": number } }

Tras enviar la solicitud, recibirá una respuesta con las políticas de escalado automático definidas para cada métrica. Para obtener información sobre cada integración, consulte las secciones siguientes.

Revise los resultados de tus recomendaciones de configuración de escalado automático

El siguiente ejemplo muestra la respuesta de la GetScalingConfigurationRecommendationAPI:

{ "InferenceRecommendationsJobName": "string", "RecommendationId": "string", // One of RecommendationId or EndpointName is shown "EndpointName": "string", "TargetUtilizationPercentage": Integer, "ScalingPolicyObjective": { "MinInvocationsPerMinute": Integer, "MaxInvocationsPerMinute": Integer }, "Metric": { "ModelLatency": Integer, "InvocationsPerInstance": Integer }, "DynamicScalingConfiguration": { "MinCapacity": number, "MaxCapacity": number, "ScaleInCooldown": number, "ScaleOutCooldown": number, "ScalingPolicies": [ { "TargetTracking": { "MetricSpecification": { "Predefined" { "PredefinedMetricType": "string" }, "Customized": { "MetricName": "string", "Namespace": "string", "Statistic": "string" } }, "TargetValue": Double } } ] } }

Los campos de objeto InferenceRecommendationsJobName, RecommendationID o EndpointName, TargetCpuUtilizationPerCore y ScalingPolicyObjective se copian de la solicitud inicial.

El objeto Metric muestra las métricas que se compararon en su trabajo de recomendación de inferencias, junto con un cálculo de los valores de cada métrica cuando la utilización de la instancia sería igual al valor TargetCpuUtilizationPerCore. Esto resulta útil para anticipar las métricas de rendimiento de su punto de conexión cuando se amplía y reduce con la política de escalado automático recomendada. Por ejemplo, considere si su uso de instancias fue del 50 % en su trabajo de recomendación de inferencias y su valor InvocationsPerInstance original era originalmente 4. Si especifica que el valor TargetCpuUtilizationPerCore sea del 100 % en su solicitud de recomendación de escalado automático, el valor métrico InvocationsPerInstance que se muestra en la respuesta es 2 porque preveía asignar el doble de utilización de instancias.

El DynamicScalingConfiguration objeto devuelve los valores que debes especificar TargetTrackingScalingPolicyConfigurationcuando llames a la PutScalingPolicyAPI. Esto incluye los valores de capacidad mínima y máxima recomendados, los tiempos de enfriamiento para reducir horizontalmente y escalar horizontalmente recomendados y el objeto ScalingPolicies, que contiene el TargetValue recomendado que debe especificar para cada métrica.