Mi experiencia desarrollando 15 products Machine Learning

Durante poco más de 2 año tuve la oportunidad de trabajar en una empresa de food delivery. Los primeros 6 meses como interno, donde estuve aprendiendo sobre arquitectura, visualización e ingeniería de datos, pero también aprendiendo sobre el negocio. Después como científico de datos tuve la oportunidad de estar en distintas áreas, primero en fraude, luego ventas y al final recomendaciones y búsquedas. La rápidez con la que desarrollamos era impresionante, no solo tuvimos la suerte de poder desarrollar 15 modelos, pero la capacidad de ir mejorando nuestras propuestas para 3 paises: México, Colombia y Brasil. Sin embargo, el crédito no es solo a nuestra velocidad sino un genial trabajo en equipo entre ingenieros de datos, ingenieros MLOps, negocio y dueños del producto. 

Habilitando nuestro desarrollo

Fueron 3 puntos los que permitieron desarrollar tantos modelos, la primera el data lake, la segunda un producto para poner en producción de manera automatizada nuestros modelos y el tercero un equipo de desarrollo capaz de habilitar nuestros modelos en la aplicación. 
El data lake es muy importante para el desarrollo de nuestros productos, ya que nos permitía que exploraramos datos y que pudieramos crear los flujos necesarios para la automatización de nuestros productos, a través de herramientas para fácil creación de pipelines.
No teníamos que preocuparnos por poner nuestro modelo en la nube, nuestra herramienta ponía la aplicación predictiva en un contenedor que enviaba nuestro servicio y habilitaba el endpoint. 
Por último, el trabajar en un equipo que se encontraba en distinto paises permitía saber que habían hecho y como habían habilitado ciertas features en la aplicación en distintas regiones.

Los modelos que desarrollamos

2 modelos de detección de anomalías para usuarios y restaurantes donde también intentamos usar una aproximación semi-supervisada para una detección oportuna de fraude.
1 modelo de predicción de chargeback por restaurante.
1 modelo para pronosticar las ordenes de cada uno de los restaurantes, que también nos permitía saber cuál tenía más riesgo de churn.
1 modelo para optimizar el precio de entrega basado en simulaciones.
1 modelo de texto de clasificación de clases, por ejemplo, saber que producto era un taco o una hamburguesa.
5 modelos de recomendaciones, basadas en contenido y por filtros colaborativos, pero también utilizando redes neuronales, teoría de gráficas y aprendizaje por refuerzo.
4 modelos para retornar mejores resultados en nuestro motor de búsqueda, en ambos módulos: de consultas y de rankeo. Basicamente mejorabamos el texto de una búsqueda o proponiamos restaurantes en caso de que los resultados fueran 0.

Que faltaba

Necesitabamos desarrollar mejores aplicaciones para dar seguimiento a nuestros modelos, no a nivel resultados, puesto que teniamos una alta orientación a pruebas A/B, pero un monitoreo de nuestros endpoints y nuestros flujos de datos. 

Que hago ahora

Trabajo en una empresa de consultoría como científico de datos para los productos internos en un programa de entrenamiento.

Comentarios