Obtener recomendaciones de políticas de 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.

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 SageMaker punto final 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 el. PutScalingPolicyAPI

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 SageMaker punto final que se comparó durante un trabajo de recomendación de inferencia.

Para recuperar el identificador del trabajo de recomendación o el nombre del punto final, puede ver los detalles del trabajo de recomendación de inferencia en la SageMaker consola o puede utilizar los EndpointName campos RecommendationId o devueltos por el. DescribeInferenceRecommendationsJobAPI

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 GetScalingConfigurationRecommendationAPI. Utilice los siguientes campos cuando llame aAPI:

  • 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 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 debe especificar TargetTrackingScalingPolicyConfigurationcuando llame al 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.