¿Cómo soluciono los problemas de latencia con mi punto de conexión de Amazon SageMaker?

3 minutos de lectura
0

Cuando invoco mi punto de conexión de Amazon SageMaker experimento una latencia alta.

Descripción breve

Utilice Amazon CloudWatch para supervisar las métricas de latencia ModelLatency y OverheadLatency de un punto de conexión de SageMaker que sirva a un único modelo.

  • ModelLatency es la cantidad de tiempo que tarda un modelo en responder a una solicitud de inferencia, según lo ve SageMaker. Esta duración incluye el tiempo de comunicación local para que el modelo envíe la solicitud y obtenga la respuesta. También incluye el tiempo de finalización de la inferencia dentro del contenedor del modelo.
  • OverheadLatency es el tiempo que tarda SageMaker en responder a una solicitud de invocación con sobrecargas. Esta medición dura desde que SageMaker recibe una solicitud hasta que devuelve una respuesta, menos ModelLatency.

Al utilizar un punto de conexión multimodelo de SageMaker, están disponibles las siguientes métricas adicionales en CloudWatch:

  • ModelLoadingWaitTime: La cantidad de tiempo que una solicitud de invocación espera a que el modelo de destino se descargue o cargue antes de realizar la inferencia.
  • ModelDownloadingTime: El tiempo necesario para descargar el modelo desde Amazon Simple Storage Service (Amazon S3).
  • ModelLoadingTime: La cantidad de tiempo para cargar el modelo desde el contenedor.
  • ModelCacheHit: El número de solicitudes InvokeEndpoint que se envían al punto final en el que se cargó anteriormente el modelo.

Los puntos de conexión multimodelo cargan y descargan los modelos a lo largo de su vida útil. Puede usar la métrica LoadedModelCount de CloudWatch para ver el número de modelos cargados de un punto de conexión.

Resolución

Alta ModelLatency

Para reducir esta latencia, realice una de las siguientes acciones:

  • Compare el modelo fuera de un punto de conexión de SageMaker para probar el rendimiento.
  • Si SageMaker Neo admite su modelo, puede compilarlo. SageMaker Neo optimiza los modelos para que se ejecuten hasta el doble de rápido con menos de una décima parte del espacio de memoria sin perder precisión.
  • Si AWS Inferentia admite su modelo, puede compilar el modelo para Inferentia. Esto ofrece un rendimiento hasta tres veces mayor y un coste por inferencia hasta un 45 % inferior en comparación con las instancias basadas en GPU de AWS.
  • Si utiliza una instancia de CPU y el modelo admite la aceleración de GPU, utiliza una instancia de GPU para añadir la aceleración de GPU a una instancia.
    Nota: El código de inferencia puede afectar a la latencia del modelo en función de cómo el código gestione la inferencia. Cualquier retraso en el código aumenta la latencia.
  • Un punto de conexión utilizado en exceso puede provocar una latencia del modelo más alta. Para aumentar y disminuir dinámicamente la cantidad de instancias disponibles para un punto de conexión, añada el escalamiento automático a un punto de conexión.

Alta OverheadLatency

Varios factores pueden contribuir a OverheadLatency. Estos factores incluyen el tamaño de la carga útil para la solicitud y las respuestas, la frecuencia de la solicitud y la autenticación o autorización de la solicitud.

La primera invocación para un punto de conexión puede tener un aumento de latencia debido a un arranque en frío. Esto es lo que se espera con las primeras solicitudes de invocación. Para evitar este problema, envíe solicitudes de prueba al punto de conexión para precalentarlo. Tenga en cuenta que las solicitudes poco frecuentes también pueden provocar un aumento de la OverheadLatency.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año