Conversación con Enrique Mora
Siempre comienzo estas conversaciones con un pequeño viaje en el tiempo. Vayamos al año 1994, cuando empiezas a estudiar Matemáticas. ¿Lo tenías claro? ¿Qué te llevó a tomar esa decisión?
La verdad es que sí. En aquella época yo era un enamorado de los primeros ordenadores como el amstrad CPC, el maravilloso Spectrum ZX y mi primer PC, el Amstrad PC1512 con 512 KB de memoria y sin disco duro (creo que me siento mayor ahora mismo…). Como no podía ser de otra manera, me encantaba jugar con el ordenador y, tal y como ponía en la revista de moda, Micromanía, la mayoría de los desarrolladores de videojuegos de la época eran matemáticos. Así que ahí me lancé y la verdad es que creo que fue una gran decisión.
Y siguiendo con este regreso al pasado, me ha llamado la atención que tus primeras experiencias profesionales fueron en áreas de Project Management y también IT. ¿En qué momento diste el paso al mundo de Data y Analytics y cuáles fueron los motivos?
Si lo miramos en perspectiva, en aquella época no había nacido aún el Big Data y los proyectos de analítica eran básicamente ser capaces de montar los famosos datawarehouses con SQL server u Oracle para hacer informes. Los “dashboards” eran prácticamente ciencia ficción. En cualquier caso, para un matemático que le gustan los ordenadores, IT era una gran salida profesional. Mi formación me permitía trabajar en proyectos de bases de datos, de criptografía y firma digital y, por supuesto, en los proyectos de cuadros de mando muy demandados hace 15 años.
Y desde aquel momento en el que te adentras en Analytics hasta la fecha, ¿cuáles han sido los cambios más importantes que has observado en esta disciplina?
En cierto momento apareció el Big Data. Hasta esa fecha, los proyectos relacionados con datos siempre eran de consolidación y visualización. Se usaba SQL Server y Oracle, y si no tenías dinero MySQL. Había poca cantidad de datos, así que era manejable con la tecnología de la época. En aquellos días los pocos modelos predictivos que hacíamos (clasificadores con SVM o árboles de regresión, todo con JAVA) los escondíamos ya que nadie creía en ellos. Llegado un momento aparecieron las primeras bases de datos NoSQL y los primeros cloud providers grandes (AWS y Azure). De golpe podíamos almacenar un montón de datos en cualquier formato. En ese momento las empresas empezaron a montar los equipos de “Transformación Digital” que trabajaban en esa tecnología. Mi perfil de IT y mates se ajustaba perfectamente a esos requerimientos, así que empecé a trabajar en proyectos de Big Data y analítica avanzada con los primeros hadoop’s de la época. ¡Todo un reto!
Luego llegó python y pyspark y los primeros frameworks para deep learning. Todo era mucho más fácil y los modelos, mucho más expresivos, podían hacer predicciones sobre datos como imágenes y texto. Con ese boom ya fuimos muchos los que nos dedicamos 100% a desarrollar soluciones basadas en Machine Learning, dejando el aspecto más tecnológico y de bajo nivel al proveedor Cloud.
Y llegamos ya al presente. Me gustaría que me contaras en qué consiste tu trabajo actual en Nestlé, especialmente qué tipo de datos utilizáis en tu equipo y con qué finalidad
Nestlé es una empresa enorme. Con 300.000 empleados, el equipo de IT es muy grande y el de Analítica Avanzada también. No obstante, hay una serie de iniciativas o proyectos que son extremadamente inciertas debido a que están muy fuera del estándar. Es en esos momentos cuando nuestro equipo de IT Innovation entra a ver cómo se puede resolver cierto problema con Machine Learning (ML). Trabajamos con modelos de ML para resolver problemas de computer vision, últimamente enfocándonos mucho a la inferencia en el “edge”, debido a la necesidad de reaccionar en muy poco tiempo en una fábrica, por ejemplo. O lenguaje natural en muchísimos idiomas, desde chatbots a semantic search. Nuestra labor es demostrar que algo es factible e implementable y, después, ayudar a los equipos de producto a poner esa tecnología en producción a escala.
¿Y cuál es la mayor dificultad que os encontráis en la gestión de estos datos?
En empresas tan enormes los datos están muy distribuidos. Los programas de consolidación de datos van mejorando mucho el panorama pero aún queda un largo camino por recorrer. La accesibilidad de los datos es el mayor de los problemas, pero es totalmente comprensible cuando el tamaño de la empresa es como en ésta.
¿Qué herramientas forman parte de tu día a día y el de tu equipo?
Nosotros somos bastante agnósticos, debido a que no sabemos a qué nos tendremos que enfrentar. Solemos usar Azure ML y AWS Sagemaker, ya que nos dan flexibilidad y potencia, y casi siempre desarrollamos en python (pytorch para deep learning). No obstante, en varios proyectos hemos tenido que cambiar completamente el stack debido al objetivo que hemos querido alcanzar.
Pasemos ahora a hablar de Machine Learning e Inteligencia Artificial. Me gustaría que me dieras tu definición de los dos conceptos
¡Es una pregunta interesante! Cuando le dijeron a Alan Turing que definiera lo que era una máquina inteligente se vió incapaz de hacerlo y definió el test de Turing. Si él no pudo yo creo que tampoco podría…
En cualquier caso, para mí, el Aprendizaje Automático es la disciplina de la Inteligencia Artificial que permite buscar patrones en los datos. Actualmente, gracias a Deep Learning, somos capaces de entrenar modelos muy expresivos que capturan muy bien la complejidad de los datos. Gracias a eso, podemos automatizar tareas que, debido a la complejidad de datos como las imágenes y el lenguaje natural, sólo los humanos podían hacer. Esa posibilidad de automatización de tareas típicamente humanas nos han llevado al boom del Machine Learning actual.
Desde mi punto de vista, el término Inteligencia Artificial está sobrevendido. El 99% de los proyectos de Inteligencia Artificial actuales (en la industria) están basados en Machine Learning. Dado que el Machine Learning es un campo de estudio de la inteligencia artificial, es correcto cambiar un término por otro, pero lleva a confusión y se aprovecha de nuestra percepción de la IA como algo “cool”.
¿Qué casos de uso de Inteligencia Artificial te parecen más sorprendentes?
Para mi el siguiente nivel en Machine Learning será la industrialización real de agente entrenados con Reinforcement Learning (RL). El mundo real es dinámico, y el aprendizaje supervisado y no supervisado es puramente estático. Cuando seamos capaces de aplicar RL a problemas de la industria de forma satisfactoria y asequible, podremos automatizar muchísimos más procesos. Me sorprenden mucho los avances en este campo como AlphaFold para secuenciar proteínas nuevas. Otra área que personalmente considero muy impactante es el tema de inferencia causal. Medir el efecto real de un elemento sobre otro nos daría unos valores mucho más creíbles que las medidas puramente asociativas que tenemos con la aproximación clásica del modelado con Machine Learning.
También dedicas parte de tu tiempo a dar formaciones. ¿En qué temas hay más demanda de formación?
Actualmente doy la asignatura de Machine Learning en dos másters y alguna master class en varios otros postgrados. Más allá de los programas más técnicos, hay muchos estudios de escuelas de negocios que tienen dificultades para que los estudiantes puedan comprender qué es lo que ahora llamamos IA, sus beneficios, su potencial pero también sus limitaciones.
Y al hilo de la formación ¿Qué perfiles son necesarios para tener un buen equipo de Data & Analytics?
Aquí hablamos de un equipo ideal, para afrontar un proyecto grande, con grandes volúmenes, yo incluiría un experto en ingeniería de datos, que pudiera crear y mantener el flujo de los mismos (no olvidemos que raramente en producción los modelos son estáticos y éstos deben re-entrenarse). Actualmente también es necesario un experto en ingeniería de ML (MLOps idealmente) que gestione el ciclo de vida del modelo, desde su entrenamiento hasta su puesta en marcha, así como las diferentes actualizaciones que éste necesite. Añadiría un Data Scientist que diera un rigor matemático/estadístico a los resultados y encargado de idear la mejor manera de resolver el problema. El equipo debería estar soportado por varios ML devs, expertos en la tecnología concreta en la que se desarrolle el proyecto (python, R, .net, …) y, por supuesto, un buen gestor del proyecto que sea capaz de hacer que todo funcione junto.
De todos esos roles, ¿cuáles son los más buscados hoy en día? ¿Por qué?
En estos días creo que el ingeniero de ML es un rol muy demandado. En la mayoría de los casos no estamos desarrollando un modelo desde cero, reutilizamos modelos ya entrenados y los ajustamos a nuestro problema. La dificultad está en ponerlos en producción a escala de forma robusta. Esta es la tarea principal de un ingeniero de ML que quizás no conoce los entresijos de cómo entrenar un modelo NLP a partir de BERT, pero sí que sabe cómo desplegar una infraestructura con Azure DataFactory y Databricks.
¿Cómo te mantienes al tanto de los grandes avances en tu ámbito de trabajo?
Es una tarea complicada. Estoy suscrito a un par de publicaciones muy concretas como “the batch” de deeplearning.ai. Linkedin y sobre todo tweeter me ayudan a seguir las novedades de las universidades. La comunidad Open Source es increíble. Aparte de eso, reuniones con Microsoft, IBM o Amazon donde nos explican las novedades y futuros productos. Y por supuesto, estando expuesto a muchos proyectos, esto te obliga a estar al día.
Si miramos hacia el futuro ¿qué grandes podemos esperar en los próximos 5-10 años en el mundo de Data & Analytics?
Durante los próximos años creo que pasaremos a tener el ML como una “comodity” en nuestra caja de herramientas. No obstante, saber usar esas herramientas será realmente el reto.
Reinforcement Learning y Causal Inference nos ayudarán a llegar a casos de uso actualmente lejos de nuestro alcance y la computación en el “edge” nos dará la facilidad de no depender del cloud (aunque por lo que he visto, las nuevas redes 5G locales rompen el problema del delay en la comunicación, con lo que, quien sabe?).
La explicabilidad y la ética relacionada con la IA también va a ser un punto importante en un futuro cercano.
Recientemente entrevisté a Jordi Poll (Head of Data Analytics en letgo) y le pedí que hiciera una pregunta para la siguiente persona a entrevistar. Su pregunta fue “Tú qué preferirías, ¿un equipo de Data Analytics centralizado donde los analistas tocan todos los dominios, o un equipo de Product Analytics, otro de Operations Analytics, otro de Marketing Analytics, etc.?
En mi opinión tener un “pool” de Data Scientists que puedan actuar en diferentes campos es interesante. No obstante, para según qué “streams” y tal y como ocurre en otros campos, se requiere una especialización y un conocimiento del negocio muy grande. No tiene nada que ver el análisis de datos que se realiza en un proceso de fabricación con el que se debe realizar en una campaña de marketing. Te diría que las empresas grandes tienden a incorporar equipos de analítica avanzada en sitios muy especializados/clave aunque eso conlleve un coste mayor.
Y tú ¿qué pregunta le harías a la próxima persona entrevistada?
¿Cuanto crees que tardará la IA/ML en penetrar en todos y cada uno de nuestros ámbitos del dia a dia?