Sprinklr mejora el rendimiento en un 20 % y reduce el costo en un 25 % para la inferencia de aprendizaje automático en AWS Graviton3

Esta es una publicación invitada coescrita con Ratnesh Jamidar y Vinayak Trivedi de Sprinklr.

aspersores La misión es unificar silos, tecnología y equipos en empresas grandes y complejas. Para lograrlo, ofrecemos cuatro conjuntos de productos: Sprinklr Service, Sprinklr Insights, Sprinklr Marketing y Sprinklr Social, así como varias ofertas de autoservicio.

Cada uno de estos productos está dotado de capacidades de inteligencia artificial (IA) para ofrecer una experiencia excepcional al cliente. Los modelos de IA especializados de Sprinklr agilizan el procesamiento de datos, recopilan información valiosa y permiten flujos de trabajo y análisis a escala para impulsar una mejor toma de decisiones y productividad.

En esta publicación, describimos la escala de nuestras ofertas de IA, los desafíos con diversas cargas de trabajo de IA y cómo optimizamos el rendimiento de inferencia de cargas de trabajo de IA mixtas con AWS Gravitón3 Basé instancias c7g y logré una mejora del 20 % en el rendimiento, una reducción de la latencia del 30 % y redujimos nuestro costo entre un 25 % y un 30 %.

La escala de la IA de Sprinklr y los desafíos con diversas cargas de trabajo de IA

Nuestra IA diseñada específicamente procesa datos no estructurados sobre la experiencia del cliente de millones de fuentes, proporcionando información útil y mejorando la productividad de los equipos de atención al cliente para ofrecer experiencias excepcionales a escala. Para comprender nuestros desafíos de escala y costos, veamos algunos números representativos. La plataforma de Sprinklr utiliza miles de servidores que ajustan y sirven más de 750 modelos de IA prediseñados en más de 60 sectores verticales y ejecutan más de 10 mil millones de predicciones por día.

Para ofrecer una experiencia de usuario personalizada en estas verticales, implementamos modelos de IA patentados y optimizados para aplicaciones comerciales específicas y utilizamos nueve capas de aprendizaje automático (ML) para extraer significado de los datos en todos los formatos: reconocimiento automático de voz, procesamiento del lenguaje natural, visión por computadora. , análisis de gráficos de red, detección de anomalías, tendencias, análisis predictivo, generación de lenguaje natural y motor de similitud.

La diversa y rica base de datos de modelos presenta desafíos únicos para elegir la infraestructura de implementación más eficiente que brinde la mejor latencia y rendimiento.

Por ejemplo, para cargas de trabajo mixtas de IA, la inferencia de IA es parte del servicio del motor de búsqueda con requisitos de latencia en tiempo real. En estos casos, los tamaños de los modelos son más pequeños, lo que significa que la sobrecarga de comunicación con las GPU o las instancias del acelerador de ML supera sus beneficios de rendimiento informático. Además, las solicitudes de inferencia son poco frecuentes, lo que significa que los aceleradores suelen estar inactivos y no son rentables. Por lo tanto, las instancias de producción no eran rentables para estas cargas de trabajo mixtas de IA, lo que nos obligó a buscar nuevas instancias que ofrecieran el equilibrio adecuado entre escala y rentabilidad.

Inferencia de aprendizaje automático rentable mediante AWS Graviton3

Los procesadores Graviton3 están optimizados para cargas de trabajo de aprendizaje automático, incluida la compatibilidad con bfloat16, Scalable Vector Extension (SVE), el doble de ancho de banda de datos múltiples de instrucción única (SIMD) y un 50 % más de ancho de banda de memoria en comparación con los procesadores AWS Graviton2, lo que los convierte en una opción ideal para nuestras cargas de trabajo mixtas. Nuestro objetivo es utilizar las últimas tecnologías para lograr eficiencia y ahorrar costos, por eso, cuando AWS lanzó el software basado en Graviton3 Nube informática elástica de Amazon (Amazon EC2), estábamos entusiasmados de probarlas en nuestras cargas de trabajo mixtas, especialmente dada nuestra experiencia previa con Graviton. Durante más de 3 años, hemos ejecutado nuestra infraestructura de búsqueda en instancias EC2 basadas en Graviton2 y nuestras cargas de trabajo de inferencia por lotes y en tiempo real en AWS Inferencia Instancias aceleradas por aprendizaje automático, y en ambos casos mejoramos la latencia en un 30 % y logramos beneficios de precio-rendimiento de hasta un 40 % en comparación con instancias x86 comparables.

Para migrar nuestras cargas de trabajo mixtas de IA de instancias basadas en x86 a instancias c7g basadas en Graviton3, adoptamos un enfoque de dos pasos. Primero, tuvimos que experimentar y comparar para determinar que Graviton3 era efectivamente la solución adecuada para nosotros. Una vez confirmado esto, tuvimos que realizar la migración real.

Primero, comenzamos comparando nuestras cargas de trabajo utilizando Graviton, ya disponible. Contenedores de aprendizaje profundo (DLC) en un entorno independiente. Como primeros usuarios de Graviton para cargas de trabajo de aprendizaje automático, inicialmente fue un desafío identificar las versiones de software correctas y los ajustes del tiempo de ejecución. Durante este viaje, colaboramos con nuestro gerente de cuentas técnicas de AWS y los equipos de ingeniería de software de Graviton. Colaboramos estrecha y frecuentemente para obtener paquetes de software optimizados e instrucciones detalladas sobre cómo ajustarlos para lograr un rendimiento óptimo. En nuestro entorno de prueba, observamos una mejora del rendimiento del 20 % y una reducción de la latencia del 30 % en múltiples modelos de procesamiento de lenguaje natural.

Después de validar que Graviton3 cumplía con nuestras necesidades, integramos las optimizaciones en nuestra pila de software de producción. El equipo de cuentas de AWS nos ayudó rápidamente y nos ayudó a avanzar rápidamente para cumplir con nuestros cronogramas de implementación. En general, la migración a instancias basadas en Graviton3 fue fluida y tomó menos de dos meses lograr mejoras de rendimiento en nuestras cargas de trabajo de producción.

Resultados

Al migrar nuestras cargas de trabajo mixtas de inferencia/búsqueda a instancias c7g basadas en Graviton3 desde instancias comparables basadas en x86, logramos lo siguiente:

  • Mayor rendimiento – Logramos una mejora del rendimiento del 20 % y una reducción de la latencia del 30 %.
  • Costo reducido – Logramos un ahorro de costos del 25 al 30 %.
  • Experiencia del cliente mejorada – Al reducir la latencia y aumentar el rendimiento, mejoramos significativamente el rendimiento de nuestros productos y servicios, brindando la mejor experiencia de usuario a nuestros clientes.
  • IA sostenible – Debido a que vimos un mayor rendimiento en la misma cantidad de instancias, pudimos reducir nuestra huella de carbono general e hicimos que nuestros productos fueran atractivos para los clientes preocupados por el medio ambiente.
  • Mejor calidad y mantenimiento del software – El equipo de ingeniería de AWS incorporó todas las optimizaciones de software a los repositorios de código abierto de PyTorch y TensorFlow. Como resultado, nuestro proceso actual de actualización de software en instancias basadas en Graviton3 es perfecto. Por ejemplo, PyTorch (v2.0+), TensorFlow (v2.9+), y los DLC de Graviton vienen con optimizaciones de Graviton3 y el guías de usuario proporcionar mejores prácticas para el ajuste del tiempo de ejecución.

Hasta ahora, hemos migrado los modelos Distil RoBerta-base, spaCy clustering, Prophet y xlmr basados ​​en PyTorch y TensorFlow a instancias c7g basadas en Graviton3. Estos modelos sirven para detección de intenciones, agrupación de texto, información creativa, clasificación de texto, asignación inteligente de presupuestos y servicios de descarga de imágenes. Estos servicios potencian nuestra experiencia de cliente unificada (cxm unificado) plataforma y IA conversora para permitir que las marcas creen más casos de uso de autoservicio para sus clientes. A continuación, estamos migrando ONNX y otros modelos más grandes a instancias de GPU de propósito general m7g basadas en Graviton3 y g5g basadas en Graviton2 para lograr mejoras de rendimiento y ahorros de costos similares.

Conclusión

El cambio a instancias basadas en Graviton3 fue rápido en términos de tiempo de ingeniería y resultó en una mejora del rendimiento del 20 %, una reducción de la latencia del 30 %, un ahorro de costos del 25 % al 30 %, una mejor experiencia del cliente y una menor huella de carbono para nuestras cargas de trabajo. Según nuestra experiencia, continuaremos buscando nueva computación de AWS que reduzca nuestros costos y mejore la experiencia del cliente.

Para obtener más información, consulte lo siguiente:


Sobre los autores

Sunita Nadampalli es gerente de desarrollo de software en AWS. Dirige las optimizaciones del rendimiento del software Graviton para cargas de trabajo de aprendizaje automático y HPC. Le apasiona el desarrollo de software de código abierto y la entrega de soluciones de software sostenibles y de alto rendimiento con Arm SoC.

Gaurav Garg es gerente técnico senior de cuentas en AWS con 15 años de experiencia. Tiene una sólida experiencia en operaciones. En su función, trabaja con proveedores de software independientes para crear soluciones escalables y rentables con AWS que cumplan con los requisitos comerciales. Es un apasionado de la Seguridad y las Bases de Datos.

Ratnesh Jamidar Es Ingeniería AVP en Sprinklr con 8 años de experiencia. Es un profesional experimentado en aprendizaje automático con experiencia en el diseño, implementación de productos e infraestructura de IA a gran escala, distribuidos y de alta disponibilidad.

Vinayak Trivedi es Director Asociado de Ingeniería en Sprinklr con 4 años de experiencia en Backend e IA. Es competente en aprendizaje automático aplicado y ciencia de datos, con un historial en la construcción de sistemas resilientes, escalables y a gran escala.