Saltar al contenido

¿Cómo soluciono los problemas de los puntos de enlace multimodelo de SageMaker AI?

3 minutos de lectura
0

Quiero solucionar los problemas que se producen al desplegar un punto de enlace multimodelo de Amazon SageMaker AI.

Resolución

Los problemas de arranque en frío o latencia que hacen que un punto de enlace tarde más en hacer predicciones pueden afectar al rendimiento de los puntos de enlace multimodelo. Las excepciones internas del servidor también pueden afectar al rendimiento.

Arranques en frío y problemas de latencia

Cuando un punto de enlace multimodelo invoca modelos en rápida sucesión, SageMaker AI elimina los modelos de la memoria y el disco del punto de enlace. Se produce un arranque en frío cuando el modelo se carga en el punto de enlace de memoria de la instancia la próxima vez que el punto de enlace invoca el modelo.

Para evitar problemas de arranque en frío o latencia, toma las siguientes medidas:

  • Si tu modelo es sensible al tiempo, utiliza la inferencia en tiempo real con un solo modelo.

  • Si tu modelo no es sensible al tiempo, selecciona un tipo de instancia que tenga suficiente memoria para almacenar muchos modelos en memoria, como una instancia r5. O bien, implementa un escalamiento automático que se escale en función del factor MemoryUtilization.
    Ejemplo:

    response = client.put_scaling_policy(
        PolicyName='MemoryUtilisation-ScalingPolicy',
        ServiceNamespace='sagemaker',
        ResourceId=resource_id,
        ScalableDimension='sagemaker:variant:DesiredInstanceCount',
        PolicyType='TargetTrackingScaling',
        TargetTrackingScalingPolicyConfiguration={
            'TargetValue': 80.0,
            'CustomizedMetricSpecification':
            {
                'MetricName': 'MemoryUtilization',
                'Namespace': '/aws/sagemaker/Endpoints',
                'Dimensions': [
                    {'Name': 'EndpointName', 'Value': endpoint_name },
                    {'Name': 'VariantName','Value': 'AllTraffic'}
                ],
                'Statistic': 'Average',
                'Unit': 'Percent'
            },
            'ScaleInCooldown': 600,
            'ScaleOutCooldown': 300
        }
    )
  • Antes de desplegar la configuración de punto de enlace, asegúrate de especificar un tamaño de VolumeSizeInGB que sea lo suficientemente grande como para contener todos los modelos a los que se accede con frecuencia.

  • Envía solicitudes de prueba al modelo de destino para que algunos modelos permanezcan indefinidamente en la memoria del punto de enlace.

  • Para optimizar el rendimiento de los puntos de enlace multimodelo, se recomienda seleccionar artefactos de modelo con tiempos de latencia y eficiencia comparables. Para ayudar a maximizar la eficacia y fiabilidad generales de tu sistema, distribuye el tráfico de manera uniforme entre los modelos.

  • Para obtener un rendimiento óptimo de los puntos de enlace, supervisa las métricas clave de Amazon CloudWatch, como ModelCacheHit y ModelLoadingWaitTime. Cuando la tasa de ModelCacheHit es alta y la tasa de ModelLoadingWaitTime es baja, tu punto de enlace administra las invocaciones de manera eficiente. 

Excepciones de servidores internos

Si un punto de enlace multimodelo no puede cargar modelos debido a la falta de memoria, es posible que se produzca una excepción en el servidor interno. Por ejemplo, cuando despliegas un modelo de 14 GB en una instancia ml.t3.medium con solo 4 GB de memoria de CPU, aparece un error. Para evitar errores, selecciona instancias de punto de enlace con suficiente memoria para alojar varios modelos durante el tiempo de ejecución.

OFICIAL DE AWSActualizada hace un año