Quiero solucionar problemas de latencia alta con mi punto de enlace de Amazon SageMaker.
Descripción corta
Es posible que el punto de enlace de SageMaker experimente los siguientes tipos de latencia:
- Latencia del modelo: es el tiempo que tarda el modelo en responder a una solicitud de inferencia. La latencia del modelo incluye el tiempo de comunicación local para enviar una solicitud y, a continuación, obtener una respuesta. Además, la latencia del modelo incluye el tiempo de finalización de la inferencia dentro del contenedor del modelo.
- Latencia general: es el tiempo que tarda SageMaker en responder a una solicitud de invocación y excluye la latencia del modelo.
- Latencia de red: es el tiempo que tarda la solicitud en ir y volver entre el cliente y el punto de enlace de SageMaker. La latencia de la red se produce fuera de la infraestructura de AWS.
Si el punto de enlace de SageMaker sirve a un único modelo, están disponibles las siguientes métricas de Amazon CloudWatch:
- Latencia del modelo
- Latencia de sobrecarga
Si el punto de enlace de SageMaker sirve a un punto de enlace multimodelo, están disponibles las siguientes métricas de CloudWatch:
- Tiempo de espera para cargar el modelo: esta métrica muestra el tiempo de espera que tarda una solicitud de invocación del modelo de destino en descargarse o cargarse antes de que se realice la inferencia.
- Tiempo de descarga del modelo: esta métrica muestra el tiempo que tarda el modelo en descargarse desde Amazon Simple Storage Service (Amazon S3).
- Tiempo de carga del modelo: esta métrica muestra el tiempo que tarda el modelo en cargarse en el contenedor.
- Impacto de caché del modelo: esta métrica muestra el número de solicitudes de InvokeEndpoint que se envían al punto de enlace en el que se cargó el modelo.
Nota: Los puntos de enlace multimodelo cargan y descargan los modelos a lo largo de su vida útil. Para ver el número de modelos cargados de un punto de enlace, use la métrica LoadedModelCount de CloudWatch.
Resolución
Solucione los problemas de latencia alta en función de los siguientes tipos de latencia:
Latencia del modelo
Para reducir la latencia alta del modelo, complete lo siguiente:
- Para probar el rendimiento, compare el modelo fuera de un punto de enlace de SageMaker.
- Si SageMaker Neo admite su modelo, compílelo. SageMaker Neo optimiza los modelos para que se ejecuten dos veces más rápido con menos espacio de memoria y sin pérdida de precisión.
- Si AWS Inferentia admite su modelo, compile el modelo para Inferentia. Esto permite un mayor rendimiento a un menor coste por inferencia.
- Si utiliza una instancia de CPU y el modelo admite la aceleración de GPU, utilice 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.
- Para aumentar y disminuir dinámicamente la cantidad de instancias disponibles para un punto de enlace, añada el escalamiento automático a un punto de enlace. Un punto de enlace utilizado en exceso puede provocar una latencia del modelo más alta.
Latencia de sobrecarga
A continuación, se muestran los factores que contribuyen a la latencia alta de la sobrecarga:
- Tamaño de carga útil para solicitudes y respuestas
- Frecuencia o infrecuencia de solicitudes
- Autenticación o autorización de la solicitud
Además, la primera invocación para un punto de enlace puede tener un aumento de latencia debido a un arranque en frío. Para evitar una latencia alta en un arranque en frío, envíe solicitudes de prueba al punto de enlace para precalentarlo.
Latencia de red
Para reducir la latencia alta de la red, complete lo siguiente:
- Despliegue la aplicación cliente más cerca de la región de AWS en la que está alojado el punto de enlace de SageMaker.
- Optimice las configuraciones en el cliente y la conectividad a Internet.
- Para acercar las solicitudes de inferencia al cliente, utilice una red de entrega de contenido (CDN) o una solución de computación periférica.
Nota: SageMaker no puede influir directamente en la latencia de la red. Asegúrese de optimizar la latencia de inferencia general para las aplicaciones que utilizan puntos de enlace de SageMaker en función de su caso de uso.