True ML Talks #8: plataforma de aprendizaje automático @ Intuit

Diseñado para la velocidad: ~ 10 ms de latencia, incluso bajo carga
¡Una forma increíblemente rápida de crear, rastrear e implementar sus modelos!
- Gestiona más de 350 RPS en solo 1 vCPU, sin necesidad de ajustes
- Listo para la producción con soporte empresarial completo
Volvemos con otro episodio de True ML Talks. En esto, nos sumergimos profundamente De Intuit ML Platform NumaFlow, y estamos hablando con Vigith Maurice.
Vigith es el ingeniero principal de Intuit para la plataforma de operaciones de IA. Como cualquiera que haya utilizado TurboTax, Credit Karma, Mint, QuickBooks y Mailchimp, Intuit es la plataforma tecnológica global que le ayuda a lograr la confianza financiera.
📌
Nuestras conversaciones con Vigith abordarán los siguientes aspectos:
- Casos de uso de ML en Intuit
- Enfoque NUMA para la detección de anomalías en tiempo real
- Información sobre los flujos de trabajo de Argo
- Implementación de modelos de aprendizaje automático con Kubernetes y Numaflow
- Sistemas de reentrenamiento, Numaflow contra Flink
- Medidas de seguridad y cumplimiento en AIOps en Intuit
- MLOps contra AIOps
- Avance de la presentación de Vigith en la KubeCon
Mira el episodio completo a continuación:
Casos de uso de ML @ Intuit
El caso de uso del aprendizaje automático orientado a las operaciones
El equipo de AIOps de Intuit tiene un caso de uso diferente para el aprendizaje automático, que se centra en el aspecto operativo del negocio. Este caso de uso tiene como objetivo detectar y resolver los problemas de la plataforma con rapidez, reduciendo el tiempo medio de detección y resolución. Algunos de los aspectos de este caso de uso incluyen:
- Creación de un lago de datos operativo: El equipo de Vigith creó un lago de datos operativos que recopila datos en tiempo real de todas las capas del sistema de ejecución, centrándose únicamente en métricas anónimas que no son de PII.
- Análisis en tiempo real: El equipo analiza estos datos con una latencia de menos de un minuto para detectar y crear alertas o incidentes en función de la gravedad del problema.
- Alto rendimiento y baja latencia: El enfoque de aprendizaje automático utilizado por el equipo de Vigith es diferente del aprendizaje automático tradicional orientado al cliente, ya que se ocupa de una gran escala de 250 clústeres de Kubernetes y mil millones de eventos que se inyectan diariamente para su análisis y procesamiento.
- Predicción de eventos anómalos: El sistema del equipo sigue el principio de malla de datos y esquematiza todo el sistema para proporcionar un enfoque unificado para analizar los datos a escala, lo que les ayuda a predecir eventos anómalos a partir de los recursos, el CPO, la seguridad y otras áreas.
El caso de uso del aprendizaje automático orientado al cliente
En Intuit, varios casos de uso del aprendizaje automático se centran en mejorar la experiencia del cliente. Algunos de estos casos de uso incluyen:
- Detección de fraude: Uso de algoritmos de aprendizaje automático para detectar actividades fraudulentas, como el robo de identidad, las facturas falsas y las estafas de suplantación de identidad.
- Escaneo de documentos: Uso de modelos de aprendizaje automático para escanear documentos y extraer automáticamente información importante, como recibos, facturas y formularios de impuestos.
- Previsión: Uso de técnicas de aprendizaje automático para predecir tendencias futuras, como las ventas, la demanda y los ingresos.
- Búsqueda de documentos: Uso de algoritmos de aprendizaje automático para mejorar la precisión y la relevancia de las búsquedas, lo que facilita a los clientes encontrar lo que buscan.
Creación de una plataforma escalable para la detección de anomalías en tiempo real: un enfoque NUMA
Los sistemas de detección de anomalías en tiempo real necesitan procesar cantidades masivas de flujos de datos ilimitados. Los sistemas tradicionales de aprendizaje automático (ML) funcionan según un modelo de solicitud-respuesta en el que la carga útil se procesa para producir una predicción. Sin embargo, un sistema de detección de anomalías en tiempo real requiere una canalización asincrónica basada en un gráfico acíclico dirigido (DAG) que pueda gestionar diferentes formatos de datos y operaciones independientes del idioma.
Intuit creó una plataforma escalable para la detección de anomalías en tiempo real que utiliza un enfoque NUMA (arquitectura nueva, única y madura). El enfoque NUMA incluye dos partes: Numalogic, un conjunto de modelos que se han examinado y utilizado todos los días, y la plataforma NumaFlow, que ejecuta los modelos de Numalogic.
La canalización basada en DAG de la plataforma NumaFlow incluye una fuente (un flujo de datos ilimitado), vértices (operaciones independientes del lenguaje) y un sumidero (salida de puntuación de anomalías). El proceso incluye una etapa de preprocesamiento para la ingeniería de funciones, una etapa de inferencia y una etapa de posprocesamiento para normalizar las puntuaciones a un formato legible para los humanos.
La plataforma es altamente escalable y rentable, ya que utiliza cálculos de carga para determinar la cantidad de unidades de procesamiento necesarias. El sistema puede ampliarse o reducirse a cero unidades de procesamiento en función del volumen de datos entrantes. La plataforma está diseñada para gestionar las migraciones de nodos y puertos, el escalado automático y las fallas del sistema.
En general, el enfoque NUMA y la plataforma NumaFlow proporcionan una solución altamente eficiente y eficaz para los sistemas de detección de anomalías en tiempo real.
📌
Arquitectura para reducir la escala a cero en los sistemas AIOps:
Los sistemas AIOps requieren la capacidad de escalar los recursos hacia arriba y hacia abajo en función de la cantidad de datos que se procesan en tiempo real. Para lograr esto, la lógica de programación y la lógica de procesamiento de datos están separadas. Esto se logra mediante la implementación de un controlador Kubernetes personalizado que tiene un algoritmo de escalado automático incorporado. Este algoritmo es capaz de comprender la velocidad de procesamiento de un vértice y el tiempo necesario para procesar un mensaje, y utiliza esta información para ajustar automáticamente los recursos asignados al sistema.
El uso de un controlador personalizado es diferente del escalador automático (HPA) nativo de Kubernetes Horizontal Pod, que no puede reducirse a cero. Al usar un controlador personalizado, el sistema AIOps puede reducir su escala a cero cuando no procesa ningún dato, lo que ayuda a evitar el desperdicio innecesario de recursos.
Para permitir el escalado independiente de cada vértice, el sistema utiliza un búfer entre dos vértices. Este búfer ayuda a garantizar que los datos se procesen de manera eficiente y permite escalar cada vértice de forma independiente en función de sus requisitos específicos. Esto es importante porque los diferentes procesos de un sistema AIOps pueden tener diferentes requisitos de recursos, y escalarlos de forma independiente ayuda a optimizar el uso de los recursos.
Una de las características más interesantes es la posibilidad de reducir la escala y es imprescindible para nosotros. - Vigith
Ecosistema de código abierto y AIOps: información sobre los flujos de trabajo de Argo
Los flujos de trabajo de Argo se han convertido en una herramienta popular para administrar los flujos de trabajo de aprendizaje automático, e Intuit ha contribuido de manera significativa a su desarrollo. El éxito de Argo radica en su naturaleza de código abierto, que permite recibir comentarios y contribuciones de usuarios de todo el mundo. Al abrir el software, las ideas y las innovaciones provienen de la comunidad, lo que permite a Intuit mejorar sus soluciones en función de los comentarios de los usuarios.
En comparación con otros orquestadores DAG como Airflow, Argo es adecuado para tareas de entrenamiento, pero está orientado a lotes. Los usuarios solicitaron un sistema equivalente que pudiera gestionar la transmisión de datos. Intuit respondió creando Numaflow, un sistema orientado a la transmisión. Los dos sistemas, Argo y Numaflow, pueden fusionarse para crear un sistema de inferencia siempre activo para el procesamiento de datos en tiempo real. Con Numaflow, la empresa ha rediseñado el sistema Argo para incorporar más funciones y mejorar su funcionalidad. El enfoque de código abierto ha demostrado ser beneficioso para Intuit y para toda la comunidad, ya que permite un esfuerzo colaborativo para mejorar los flujos de trabajo de AIOps.
Puede obtener más información sobre Argo Workflows aquí:
Implementación de modelos de aprendizaje automático con Kubernetes y Numaflow
La implementación de modelos de aprendizaje automático (ML) con Kubernetes y Numaflow puede ser una tarea difícil, especialmente si se tienen en cuenta los patrones de tráfico y latencia, que varían significativamente. Intuit utiliza un sistema de servicio único que se utiliza en la plataforma operativa de operaciones de IA. Cuando se reciben los datos, el proceso de inferencia es similar al de cualquier otra función definida por el usuario (UDF), independientemente de si implica la conversión o inferencia del protobuf a los datos. Numaflow proporciona un SDK para diferentes lenguajes, siendo Python el más complejo de admitir debido a su comportamiento a un alto rendimiento, lo que requiere un Python multiproceso y procedimental. Para otros lenguajes, esto no es un problema.
Para crear una función de controlador, el usuario solo necesita escribir una función que especifique cómo gestionar un mensaje proporcionado por Numaflow. La función toma un mensaje y devuelve un mapa plano, que sirve como entrada y salida, respectivamente. La firma de la función se aplica a cualquier vértice, independientemente de la tarea.
Cuando se trata de modelos, se extraen y se almacenan en caché en función del planteamiento del problema. Se recibe un mensaje, se procesa y se devuelve como inferencia, que pasa al siguiente vértice. Según el caso de uso, el modelo se puede almacenar de diferentes maneras. Para una arquitectura de alto rendimiento y muy descentralizada, se utiliza una clave. En el caso de la arquitectura centralizada, en DynamoDB se hace referencia a S3. En general, el objetivo es simplificar el proceso para un ingeniero de aprendizaje automático, que solo necesita cambiar el nombre de la clase, ya que el resto se abstrae.
La plataforma usa gRPC en lugar de REST y, según el planteamiento del problema, se utiliza una combinación de técnicas para administrar el ciclo de vida del modelo. MLFlow se usa para administrar el ciclo de vida cuando es adecuado, mientras que otras técnicas se utilizan para una arquitectura más descentralizada en la que MLFlow no es una opción. La lección clave para un ingeniero de aprendizaje automático es escribir una función de gestión que tome la entrada y la salida y deje que el sistema se encargue del resto.
Puedes leer más sobre Numaflow aquí:
Sistemas de reentrenamiento, Numaflow frente a Flink
El sistema de reentrenamiento utilizado por Numaflow varía según el caso de uso. Para casos más complejos con 20 solicitudes por segundo, Numaflow implementa un flujo de trabajo Argo completo con varios pasos para obtener datos y actualizar la tienda de modelos. Para sistemas más ligeros, Numaflow utiliza una función definida por el usuario (UDF) que ejecuta una función para lograr el resultado deseado.
Diferencia entre Numaflow y Flink
- Velocidad de procesamiento: Numaflow prioriza la disociación de la velocidad de procesamiento de mensajes de la latencia, mientras que Flink se centra en un alto rendimiento con una baja latencia, lo que lo hace más adecuado para el procesamiento de datos de alto rendimiento.
Esta diferencia en el rendimiento se debe al hecho de que Numaflow está diseñado para procesar grandes cantidades de datos y para actividades intensivas de entrada/salida (E/S), mientras que Flink es más adecuado para el procesamiento de datos de alto rendimiento. - Formato de serialización de datos: Flink usa su propio formato de serialización eficiente y bien definido, mientras que Numaflow utiliza un enfoque de caja negra que dificulta la definición de códigos hash e iguales para un almacenamiento y recuperación de mensajes eficientes.
Puedes leer más sobre Apache Flink aquí:
Medidas de seguridad y cumplimiento en AIOps en Intuit
- Intuit cuenta con estrictas medidas de seguridad, incluidos algoritmos de cifrado a nivel de aplicación.
- El sistema AIOps de Intuit sigue un enfoque de compartimentación hermético, en el que cada espacio de nombres está aislado y cifrado con TLS para los datos en reposo y en tránsito.
- El equipo de AIOps de Intuit sigue los principios de seguridad de Argo, un proyecto de código abierto de la CNCF, para cifrar los datos en todas las capas, incluidos los puntos finales de las métricas.
- El sistema AIOps para los datos de los clientes de Intuit tiene restricciones de seguridad aún más estrictas, con datos bien auditados y bien conservados a los que ni siquiera los usuarios pueden acceder. Por este motivo, los datos operativos están desvinculados de los datos de los clientes, pero las medidas de seguridad siguen vigentes.
MLOps frente a AIOps
Las operaciones de aprendizaje automático (MLOps) y las operaciones de inteligencia artificial (AI Ops) son dos términos que a menudo se usan indistintamente, pero en realidad tienen principios y procesos distintos.
MLOps se centra principalmente en gestionar el ciclo de vida del modelo, mientras que AI Ops se centra más en el dominio operativo.
En Operaciones de IA, normalmente utilizamos tecnologías como HyperLogLog y bocetos basados en la latencia, que están diseñados para funcionar con datos operativos. Estas tecnologías pueden tener porcentajes de error de alrededor del 0,89 y permiten realizar aproximaciones. También nos basamos en la significación estadística para detectar y aislar los problemas, con el objetivo de reducir el tiempo medio de resolución (MTTR).
Por el contrario, MLOP aprovecha diferentes tecnologías como ML Flow y otras heurísticas para gestionar el ciclo de vida de un modelo. En Intuit, también han desarrollado patrones, como la gestión futura, para optimizar el ciclo de vida del modelo. Su objetivo en los MLOps es gestionar todo el ciclo de vida del modelo, desde la formación hasta la implementación, la supervisión y la optimización.
Avance de la presentación de Vigith en KubeCon: Operaciones de IA centradas en el cliente con detección de anomalías
La próxima presentación de Vigith en KubeCon gira en torno a las operaciones de IA centradas en el cliente y la detección de anomalías. El objetivo es alertar en función de la experiencia del cliente y no de la del sistema, lo que implica crear gráficos de dependencias complejos basados en el seguimiento de los datos y aislar las anomalías, en lugar de simplemente detectarlas.
La plataforma utiliza una colección de dimensiones y métricas para realizar una detección de anomalías clave compuesta en datos de series temporales, lo que permite identificar las anomalías en un nivel muy específico. El objetivo de este proyecto es proporcionar una solución generalizada para la detección de anomalías, convirtiéndolo en un sistema de «hágalo usted mismo».
La presentación de Vigith mostrará las capacidades de la plataforma y demostrará cómo se ha implementado con éxito en Intuit para las operaciones de IA. No pierda esta oportunidad de conocer los últimos avances en las operaciones de inteligencia artificial centradas en el cliente y la detección de anomalías.
Lea nuestra publicación anterior de la serie TrueML
Sigue viendo el TrueML serie youtube y leyendo el TrueML serie de blogs.
True Foundry es un PaaS de implementación de aprendizaje automático sobre Kubernetes para acelerar los flujos de trabajo de los desarrolladores y, al mismo tiempo, permitirles una flexibilidad total a la hora de probar e implementar modelos, al tiempo que garantiza una seguridad y un control totales para el equipo de Infra. A través de nuestra plataforma, permitimos a los equipos de aprendizaje automático implementar y supervisar modela en 15 minutos con un 100% de confiabilidad, escalabilidad y la capacidad de revertirse en segundos, lo que les permite ahorrar costos y lanzar los modelos a la producción más rápido, lo que permite obtener un verdadero valor empresarial.
TrueFoundry AI Gateway ofrece una latencia de entre 3 y 4 ms, gestiona más de 350 RPS en una vCPU, se escala horizontalmente con facilidad y está listo para la producción, mientras que LitellM presenta una latencia alta, tiene dificultades para superar un RPS moderado, carece de escalado integrado y es ideal para cargas de trabajo ligeras o de prototipos.
La forma más rápida de crear, gobernar y escalar su IA

















.png)


.webp)




.webp)







