True ML Talks #5: plataforma de aprendizaje automático en Simpl

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 Simple ML Platform, y estamos hablando con Sheekha.
Sheekha es la directora de ciencia de datos de Simpl. Simpl está creando la principal red de cajas con un solo toque en la India, donde ofrece a los comerciantes un conjunto completo de productos, desde BNPL hasta ayudarlos a pagar en cuotas muchos otros servicios de valor agregado. Trabajan con más de 26 000 comercios de toda la India, incluidas JIO Platforms, que es la mayor red de telecomunicaciones; Zomato, que es uno de los mayores servicios de entrega de comida del país, y muchos más.
📌
Nuestras conversaciones con Sheekha abordarán los siguientes aspectos:
- Casos de uso de ML en Simpl
- Descripción general de la infraestructura Simpl ML
- Gestión de los costes de la formación en aprendizaje automático
- Gestionar las canalizaciones de formación e inferencia por separado
- Automatización en el reentrenamiento de modelos de aprendizaje automático
- La incursión de Simpl en la construcción interna
- Consideraciones para los sistemas en tiempo real y los modelos de ciencia de datos
- Hacer que la implementación del aprendizaje automático sea tan simple como el software
- Inculcar los principios de ingeniería en la ciencia de datos
Mira el episodio completo a continuación:
Casos de uso de ML @Simpl
- Prevención del fraude y evaluación de riesgos: El sistema ML de Simpl analiza cada transacción y utiliza reglas simples, filtros, modelos de aprendizaje automático y sistemas de redes neuronales para identificar transacciones de alto riesgo, como casos de apropiación de cuentas, robo de identidad u otras actividades sospechosas. El sistema puede prevenir las transacciones fraudulentas, que pueden provocar la pérdida de dinero y la incapacidad de atender a los buenos clientes.
- Suscripción: El sistema ML de Simpl ayuda a la empresa a tomar decisiones de suscripción mediante el análisis de los datos de incorporación proporcionados por los usuarios. El sistema determina la cantidad de crédito para la que puede optar un usuario y cuál debe ser su límite de gasto. Los equipos de Simpl participan en el proceso de suscripción y están avanzando hacia líneas y sistemas más basados en el tiempo real.
- Atención al cliente: El sistema ML de Simpl ayuda a la empresa a trabajar con los clientes que tienen problemas para pagar a tiempo. El sistema puede recordar a los clientes los próximos pagos u ofrecer planes de pago alternativos que funcionen para ambas partes. Los equipos de Simpl trabajan con los clientes para encontrar la mejor manera de avanzar y garantizar una experiencia positiva para los clientes.
Hemos encontrado esta interesante portada de noticias sobre cómo Simpl aprovecha el aprendizaje automático para la detección de fraudes:
Equipo de ciencia de datos de Simpl
El equipo de ciencia de datos de Simpl está formado por 28 científicos de datos y 16 ingenieros de datos. El equipo es una parte fundamental de Simpl, junto con otros equipos de ingeniería, y tienen un equipo de DevOps independiente. El equipo está trabajando en el aprendizaje automático, los sistemas de redes neuronales, las reglas, las bases de datos gráficas y los modelos de aprendizaje automático para analizar las comunidades de usuarios fraudulentos.
El conjunto tecnológico y el flujo de trabajo del equipo de ciencia de datos de Simpl
Desde la perspectiva actual del paquete tecnológico, la empresa tiene todo en la nube, sin sistemas locales.
El equipo de ciencia de datos de Simpl utiliza una máquina remota con un cuaderno Python y bibliotecas creadas por el equipo de ingeniería de datos para conectarse a las bases de datos y realizar análisis exploratorios de datos (EDA). Una vez realizado el análisis de los datos, el equipo establece un proceso con la ayuda del equipo de ingeniería de datos para implementar el modelo. En el caso de los modelos por lotes, el equipo utiliza Airflow para la programación.
La supervisión del modelo se realiza mediante los paneles de Simpl para realizar un seguimiento de los cambios en los resultados. En cuanto a los MLOP, Simpl está invirtiendo actualmente en la zona. Para los sistemas antifraude, la empresa tiene un modelo que utiliza sistemas por lotes para analizar identificaciones de correo electrónico y números de teléfono similares. El equipo también cuenta con algunas herramientas que se ejecutan en tiempo real para monitorear las transacciones en función de la velocidad de la transacción y del monto que se está transaccionando.
Simpl también implementó un modelo de red neuronal para el monitoreo de transacciones. El modelo combina la carga útil actual con los datos históricos del último año y la incorpora al modelo de red neuronal para decidir si se permite o no la transacción. El equipo de ingeniería de datos creó un canal de Flink para gestionar los picos de tráfico y garantizar un SLA bajo, de 70 a 80 milisegundos.
📌
Tienda de funciones:
Un almacén de funciones es un repositorio centralizado para almacenar y administrar funciones, que son propiedades o características individuales medibles de los datos que se utilizan para entrenar modelos de aprendizaje automático.
Simpl usa actualmente DynamoDB como tienda de funciones para disponibilidad en tiempo real. Sin embargo, esto es caro y se están realizando esfuerzos para crear una tienda de funciones interna a fin de reducir los costos a largo plazo.
Encontramos este interesante blog sobre cómo evolucionó la ciencia de datos en Simpl:
Gestión de los costos de los modelos de aprendizaje automático: desafíos y soluciones
Administrar los costos asociados con la implementación y el escalado de los modelos de aprendizaje automático (ML) es un desafío fundamental. Es especialmente importante para los modelos que requieren cantidades significativas de datos y utilizan recursos costosos, como las canalizaciones de Flink y las máquinas virtuales.
El equipo de aprendizaje automático se ocupa de terabytes de datos, lo que requiere el uso de máquinas virtuales para los trabajos de formación. Es crucial equilibrar los costos con los beneficios de los modelos.
Para mitigar los costos, el equipo colabora con los equipos de DevOps e ingeniería de datos para explorar opciones rentables. También han estado trabajando en la creación de un almacén de funciones interno para reducir los costos de uso de DynamoDB. Otra medida de ahorro de costes que emplean es el uso de instancias in situ para tareas no críticas.
Sin embargo, la administración de los costos es un proceso continuo que requiere una evaluación continua de la rentabilidad del modelo. A la hora de decidir cuál es la mejor medida de ahorro de costes, también entran en juego factores como el equilibrio entre la precisión y la recuperación y el coste de los buenos usuarios
📌
Interacción entre el equipo de ML y DevOps:
La colaboración entre los equipos de DevOps y de ciencia de datos es necesaria para aprovisionar máquinas virtuales para proyectos de aprendizaje automático y, por lo general, hay un plazo mínimo de tres días. El equipo de DevOps recibe varias solicitudes, incluidas las del equipo de ciencia de datos, para las que es necesario tener en cuenta los costos y colaborar con el equipo de ingeniería de datos para satisfacerlas. En caso de una solicitud urgente, el equipo de DevOps puede acelerar el proceso de aprovisionamiento sin tener en cuenta las implicaciones financieras. El equipo de ciencia de datos explica el retraso de tres días en el plan de implementación del proyecto.
Gestionar las canalizaciones de formación e inferencia por separado: ventajas y desventajas
Administrar las canalizaciones de entrenamiento e inferencia por separado puede generar una serie de problemas que pueden afectar la eficiencia general del sistema. La razón principal de esto es que puede dificultar el seguimiento de los orígenes de los modelos, retener los códigos y replicar los resultados. También puede provocar errores humanos y la proliferación de problemas, especialmente en las empresas emergentes.
Por otro lado, la administración de estas canalizaciones por separado puede proporcionar una mayor flexibilidad y control sobre el sistema, lo que le permite optimizar cada proceso de forma independiente. También puede permitirle escalar el sistema con mayor facilidad al agregar nuevos recursos a las canalizaciones de capacitación o inferencia, según sea necesario.
Sin embargo, lo ideal sería fusionar estas canalizaciones e incorporar el reciclaje en el mismo proceso. De este modo, puedes evitar los problemas asociados con la administración de estas canalizaciones por separado. Aún podrá mantener la flexibilidad y el control que conlleva administrarlos de forma independiente. En general, la decisión de administrar estas canalizaciones por separado o en conjunto depende de las necesidades específicas de su organización y de los recursos disponibles.
La importancia de la automatización en el reentrenamiento de los modelos de aprendizaje automático
Reentrenar los modelos de aprendizaje automático es una parte crucial para mantener su precisión y relevancia. Sin embargo, el reentrenamiento manual puede llevar mucho tiempo y ser propenso a errores. Por eso, la automatización desempeña un papel vital a la hora de garantizar que el proceso sea eficiente, fiable y escalable.
La automatización del reentrenamiento puede ayudar a las organizaciones a establecer intervalos específicos para iniciar el reentrenamiento, garantizando que los modelos se actualicen con regularidad. Esto también puede ayudar a ahorrar tiempo y recursos, ya que la automatización elimina la necesidad de intervención manual.
Sin embargo, puede haber desafíos a la hora de automatizar el reentrenamiento para modelos complejos que requieren hardware o software especializados. En tales casos, puede ser necesario volver a capacitarse manualmente hasta que se pueda implementar una solución automatizada.
La incursión de Simpl en la construcción interna
Desafíos del uso de SageMaker para proyectos de aprendizaje automático
El uso de SageMaker ha supuesto un punto de inflexión para los equipos de ciencia de datos a la hora de gestionar grandes conjuntos de datos para proyectos de aprendizaje automático. Sin embargo, la plataforma aún presenta algunos desafíos que pueden afectar a la productividad del equipo.
- Asignación de recursos: Cuando varias personas inician sesión en SageMaker al mismo tiempo, cargar un archivo o modelo grande puede bloquear el sistema para todos. Esto afecta no solo a la persona que inició la solicitud, sino a todos los demás. Esto pone de relieve la necesidad de un sistema que pueda gestionar estos problemas por parte del equipo.
- Coste de funcionamiento de la GPU: El costo de ejecutar instancias de GPU para modelos de redes neuronales, que son esenciales para procesar grandes cantidades de datos, puede ser muy elevado, y el equipo debe tener cuidado al usarlas. Para ahorrar costes, han establecido un sistema que apaga el portátil si permanece inactivo durante un período determinado. Sin embargo, esperan pasar a un sistema más automatizado que escale hacia arriba y hacia abajo según el uso.
Aunque SageMaker ha sido una plataforma útil para el equipo, todavía hay otras opciones como Kubernetes que aún no han probado. Sin embargo, la decisión de utilizar SageMaker se debió principalmente a la necesidad de un sistema más rápido que pudiera gestionar grandes cantidades de datos.
Planes para crear una mejor versión de SageMaker
La compañía planea crear una versión mejorada de SageMaker, su propia plataforma de aprendizaje automático. El proyecto, que inicialmente fue un experimento de I+D, ahora cuenta con un equipo más grande capaz de realizar el desarrollo interno. Si bien su sistema virtual poseía algunas funciones de SageMaker, carecía de computación distribuida. La incorporación de la computación distribuida a su máquina virtual actual mediante la integración de la consola Py proporcionará la solución necesaria.
Para la gestión del control de acceso de los usuarios y la accesibilidad de los datos, la empresa ha creado varias funciones de IAM y ha asignado una cuenta secundaria a su equipo de datos para la gestión de costes. Sin embargo, aún necesitan más trabajo, sobre todo teniendo en cuenta los datos confidenciales que manejan como empresa de tecnología financiera, y las auditorías periódicas por parte del RBI.
Si bien podrían utilizar una plataforma externa, la empresa ha optado por desarrollar su versión de SageMaker internamente. Su decisión es estratégica y no se basa en restricciones relacionadas con la accesibilidad o el costo de los datos. Al tener un mayor control sobre la plataforma, pueden escalar y crecer de manera más eficiente. La empresa ya ha utilizado la computación distribuida en algunos sistemas mediante DAS.
A medida que crecemos y el equipo crece, si puedes hacerlo internamente, ¿por qué no?
- Sheekha
Consideraciones para los sistemas en tiempo real y los modelos de ciencia de datos
- Para los sistemas en tiempo real, se deben cumplir estrictos SLA y la distribución de la carga puede no ser uniforme, con horas pico específicas en las que la carga de trabajo puede ser alta.
- Al implementar un sistema en tiempo real, es fundamental tener en cuenta la latencia y el equilibrio de carga.
- Los modelos de ciencia de datos deben crearse teniendo en cuenta el impacto empresarial real, no por ser «sofisticados».
- Las métricas se utilizan para medir el impacto de un modelo, como la cantidad de fraude que puede detener y la cantidad de buenos usuarios a los que puede afectar.
- El equipo de riesgos y el director financiero toman una decisión sobre el punto con el que se sienten cómodos en términos de costo e impacto empresarial.
- Los costos de backend, como la cantidad de escrituras y lecturas de DynamoDB, deben tenerse en cuenta y vincularse a las métricas empresariales del modelo para garantizar que se alinean con el impacto deseado.
Hacer que la implementación del aprendizaje automático sea tan simple como el software: mejora de la productividad de los desarrolladores
El desarrollo de modelos de aprendizaje automático se ha vuelto más fácil con bibliotecas como Scikit-learn, pero el tiempo necesario para iniciar un proyecto y ponerlo en marcha sigue siendo elevado, especialmente para las empresas más pequeñas sin sistemas MLOps ni pipelines. La configuración de las canalizaciones, la limpieza de los datos, la validación de las pruebas y la implementación de los modelos pueden llevar de dos a tres meses. Además, encontrar errores en un modelo es un desafío, ya que el proceso no está estandarizado. Por lo tanto, las empresas necesitan sistemas que hagan que el desarrollo de modelos sea tan fluido como el desarrollo de software para mejorar la productividad de los desarrolladores. El sistema debe ofrecer flexibilidad, facilitar la integración y basarse en el sistema existente. También debería estar estandarizado para detectar errores, monitorear la entrada y salida de datos y los circuitos de retroalimentación.
La importancia de arraigar los principios de ingeniería en la ciencia de datos
En el ámbito de la ciencia de datos, se ha hecho cada vez más hincapié en la necesidad de que los científicos de datos posean habilidades de ingeniería para garantizar el despliegue exitoso y eficiente de los modelos de aprendizaje automático.
- Los científicos de datos deben poseer habilidades de ingeniería para garantizar una implementación eficiente de los modelos de aprendizaje automático. Los científicos de datos deben inculcar buenas prácticas de codificación para identificar los errores que puedan afectar al SLA del modelo.
- El amor de los científicos de datos por ciertas herramientas, como Pandas, puede provocar un rendimiento más lento cuando se implementan en tiempo real. Los científicos de datos deben conocer las herramientas más eficientes y su uso para garantizar la implementación eficiente de los modelos de aprendizaje automático.
Querría que nuestros científicos de datos implementaran todo, incluso filtros.
- Sheekha
Pensamientos adicionales de Sheekha
MLOps: Construir frente a comprar
- Personalización: la personalización exhaustiva puede requerir crear desde cero en lugar de adoptar una plataforma de aprendizaje automático de terceros.
- Sensibilidad de los datos: la gestión estricta del control de acceso de los usuarios es crucial para las empresas que manejan datos confidenciales y pueden requerir un sistema interno que pueda personalizarse para cumplir con requisitos de seguridad específicos.
- Conciencia de los costos: crear un sistema MLOps interno puede ser más rentable para las empresas más pequeñas, pero es posible que eventualmente inviertan en plataformas de terceros para obtener un mejor ROI a medida que el mercado madure.
LLMS
Sheekha expresó su interés por los grandes modelos lingüísticos (LLM) y los nuevos desarrollos que los rodean, pero en la actualidad no los utilizan en su trabajo. Sin embargo, reconoció que están explorando casos de uso interesantes para los LLM, en particular en lo que respecta a la integración de los chatbots.
Definitivamente preveo muchos casos de uso interesantes para los LLM
- Sheekha
Lea nuestros blogs anteriores de la serie TrueML
Sigue viendo el TrueML serie youtube y leyendo todo 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)







