Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Servicios web de Amazon

Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Servicios web de Amazon

Amazon SageMaker facilita la implementación de modelos de aprendizaje automático (ML) para inferencia en tiempo real y ofrece una amplia selección de instancias de ML que abarcan CPU y aceleradores como Inferencia de AWS. Como servicio totalmente administrado, puede escalar las implementaciones de sus modelos, minimizar los costos de inferencia y administrar sus modelos de manera más efectiva en producción con una carga operativa reducida. Un punto final de inferencia en tiempo real de SageMaker consta de un punto final HTTP e instancias de aprendizaje automático que se implementan en múltiples zonas de disponibilidad para lograr alta disponibilidad. fabricante de salvia escalado automático de aplicaciones puede ajustar dinámicamente la cantidad de instancias de ML aprovisionadas para un modelo en respuesta a cambios en la carga de trabajo. El punto final distribuye uniformemente las solicitudes entrantes a instancias de ML mediante un algoritmo de operación por turnos.

Cuando los modelos de aprendizaje automático implementados en instancias reciben llamadas API de una gran cantidad de clientes, una distribución aleatoria de solicitudes puede funcionar muy bien cuando no hay mucha variabilidad en sus solicitudes y respuestas. Pero en sistemas con cargas de trabajo de IA generativa, las solicitudes y respuestas pueden ser extremadamente variables. En estos casos, a menudo es deseable equilibrar la carga considerando la capacidad y la utilización de la instancia en lugar de un equilibrio de carga aleatorio.

En esta publicación, analizamos la estrategia de enrutamiento de solicitudes menos pendientes (LOR) de SageMaker y cómo puede minimizar la latencia para ciertos tipos de cargas de trabajo de inferencia en tiempo real teniendo en cuenta la capacidad y la utilización de las instancias de ML. Hablamos de sus beneficios sobre el mecanismo de enrutamiento predeterminado y de cómo puede habilitar LOR para las implementaciones de su modelo. Finalmente, presentamos un análisis comparativo de las mejoras de latencia con LOR respecto a la estrategia de enrutamiento predeterminada de enrutamiento aleatorio.

Estrategia LOR de SageMaker

De forma predeterminada, los puntos finales de SageMaker tienen una estrategia de enrutamiento aleatorio. SageMaker ahora admite una estrategia LOR, que le permite enrutar de manera óptima las solicitudes a la instancia que mejor se adapte a esa solicitud. SageMaker hace esto posible al monitorear la carga de las instancias detrás de su punto final y los modelos o componentes de inferencia que se implementan en cada instancia.

El siguiente diagrama interactivo muestra la política de enrutamiento predeterminada donde las solicitudes que llegan a los puntos finales del modelo se reenvían de forma aleatoria a las instancias de ML.

Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

El siguiente diagrama interactivo muestra la estrategia de enrutamiento donde SageMaker enrutará la solicitud a la instancia que tenga la menor cantidad de solicitudes pendientes.

Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

En general, el enrutamiento LOR funciona bien para modelos fundamentales o modelos de IA generativos cuando su modelo responde en cientos de milisegundos a minutos. Si la respuesta de su modelo tiene una latencia más baja (hasta cientos de milisegundos), puede beneficiarse más del enrutamiento aleatorio. De todos modos, le recomendamos que pruebe e identifique el mejor algoritmo de enrutamiento para sus cargas de trabajo.

Cómo configurar estrategias de enrutamiento de SageMaker

SageMaker ahora le permite configurar el RoutingStrategy parámetro al crear el EndpointConfiguration para puntos finales. Lo diferente RoutingStrategy Los valores admitidos por SageMaker son:

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

El siguiente es un ejemplo de implementación de un modelo en un punto final de inferencia que tiene LOR habilitado:

  1. Cree la configuración del punto final configurando RoutingStrategy as LEAST_OUTSTANDING_REQUESTS:
    endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, ProductionVariants=[ { "VariantName": "variant1", "ModelName": model_name, "InstanceType": "instance_type", "InitialInstanceCount": initial_instance_count, ….. "RoutingConfig": { 'RoutingStrategy': 'LEAST_OUTSTANDING_REQUESTS'} }, ],
    )

  2. Cree el punto final usando la configuración del punto final (sin cambios):
    create_endpoint_response = sm_client.create_endpoint( EndpointName="endpoint_name", EndpointConfigName="endpoint_config_name"
    )

Resultados del rendimiento

Realizamos evaluaciones comparativas de rendimiento para medir la latencia de inferencia de un extremo a otro y el rendimiento de la codegen2-7B modelo alojado en instancias ml.g5.24xl con enrutamiento predeterminado y puntos finales de enrutamiento inteligente. El modelo CodeGen2 pertenece a la familia de modelos de lenguaje autorregresivos y genera código ejecutable cuando se le dan indicaciones en inglés.

En nuestro análisis, aumentamos la cantidad de instancias ml.g5.24xl detrás de cada punto final para cada ejecución de prueba a medida que aumentaba la cantidad de usuarios simultáneos, como se muestra en la siguiente tabla.

Probar Número de usuarios simultáneos Numero de instancias
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

Medimos la latencia P99 de un extremo a otro para ambos puntos finales y observamos una mejora del 4 al 33 % en la latencia cuando el número de instancias aumentó de 5 a 20, como se muestra en el siguiente gráfico.

Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

De manera similar, observamos una mejora del 15 al 16 % en el rendimiento por minuto por instancia cuando el número de instancias aumentó de 5 a 20.

Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Esto ilustra que el enrutamiento inteligente puede mejorar la distribución del tráfico entre los puntos finales, lo que genera mejoras en la latencia de un extremo a otro y en el rendimiento general.

Conclusión

En esta publicación, explicamos las estrategias de enrutamiento de SageMaker y la nueva opción para habilitar el enrutamiento LOR. Explicamos cómo habilitar LOR y cómo puede beneficiar las implementaciones de su modelo. Nuestras pruebas de rendimiento mostraron mejoras en la latencia y el rendimiento durante la inferencia en tiempo real. Para obtener más información sobre las funciones de enrutamiento de SageMaker, consulte documentación. Le recomendamos que evalúe sus cargas de trabajo de inferencia y determine si está configurado de manera óptima con la estrategia de enrutamiento.


Acerca de los autores

Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.James Park es arquitecto de soluciones en Amazon Web Services. Trabaja con Amazon.com para diseñar, construir e implementar soluciones tecnológicas en AWS y tiene un interés particular en la inteligencia artificial y el aprendizaje automático. En su tiempo libre le gusta buscar nuevas culturas, nuevas experiencias y mantenerse al día con las últimas tendencias tecnológicas. Puedes encontrarlo en Etiqueta LinkedIn.

Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.venugopal pai es arquitecto de soluciones en AWS. Vive en Bengaluru, India, y ayuda a los clientes nativos digitales a escalar y optimizar sus aplicaciones en AWS.

Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.david nigenda es ingeniero senior de desarrollo de software en el equipo de Amazon SageMaker y actualmente trabaja en la mejora de los flujos de trabajo de aprendizaje automático de producción, así como en el lanzamiento de nuevas funciones de inferencia. En su tiempo libre, intenta mantenerse al día con sus hijos.

Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.Deepti Ragha es ingeniero de desarrollo de software en el equipo de Amazon SageMaker. Su trabajo actual se centra en la creación de funciones para alojar modelos de aprendizaje automático de manera eficiente. En su tiempo libre, le gusta viajar, hacer caminatas y cultivar plantas.

alan bronceadoalan bronceado es gerente sénior de productos en SageMaker y lidera los esfuerzos en la inferencia de modelos grandes. Le apasiona aplicar el aprendizaje automático al área de análisis. Fuera del trabajo, disfruta del aire libre.

Minimice la latencia de inferencia en tiempo real mediante el uso de estrategias de enrutamiento de Amazon SageMaker | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.Patel Dhawal es Arquitecto Principal de Aprendizaje Automático en AWS. Ha trabajado con organizaciones que van desde grandes empresas hasta empresas emergentes medianas en problemas relacionados con la computación distribuida y la inteligencia artificial. Se enfoca en el aprendizaje profundo, incluidos los dominios de NLP y Computer Vision. Ayuda a los clientes a lograr una inferencia de modelos de alto rendimiento en SageMaker.

Sello de tiempo:

Mas de Aprendizaje automático de AWS