Conversación con Didac Fortuny

2020-07-11 Besora.jpg

Me dedico a la ciencia de datos desde hace cinco años, en los cuales he estado desarrollando proyectos de aprendizaje automático (machine learning) para impactar positivamente a las personas desde distintas empresas, actualmente como científico de datos en un equipo de producto de InfoJobs, que forma parte de Adevinta Spain. Anteriormente desarrollé mi tesis doctoral estudiando los impactos del cambio climático. También impulso la entidad sin ánimo de lucro DataForGoodBCN y formo parte de BCN Analytics. Me gusta cocinar galletas.

Yo creo que esta pregunta te la habrá hecho mucha gente. Aunque eres Doctor en Físicas, has acabado trabajando como Data Scientist. ¿En qué momento te diste cuenta que querías desearte al mundo del Data & Analytics? ¿Descartas volver algún día al mundo de la Física? 

Soy una persona inquieta y, como tal, siempre me ha gustado experimentar distintos tipos de proyecto tanto a nivel personal como profesional. Por este motivo, después de dedicar siete años a la investigación científica decidí re-enfocar mi carrera hacia otro ámbito hacia el cual siempre había sentido atracción, la gestión de los datos y su uso para desarrollar algoritmos de inteligencia artificial. Para ser completamente sincero, tristemente el camino profesional de las personas que se dedican a la investigación en este país no es fácil, y eso también contribuyó a que me decidiera a dejar el mundo académico para pasar a desarrollar mi carrera en el ámbito corporativo. Como he dicho, soy una persona inquieta, así que no descarto que, en el futuro, mi carrera vuelva a dar un giro.


De hecho, una de las primeras veces que tú y yo trabajamos codo a codo fue con la Datathon que en Bcn Analytics co-organizamos sobre los niveles de contaminación de Barcelona. En mi caso, fue bastante interesante comprobar las limitaciones que los modelos estadísticos tienen para explicar fenómenos complejos como la contaminación o la meteorología ¿Cuáles crees que son los principales problemas y limitaciones para realizar este tipo de modelos?  

Los tres grandes problemas que en los últimos años han impedido que el uso de algoritmos de aprendizaje automático se haya extendido a cierto tipo de problemas son: la falta de datos (de calidad), la insuficiente capacidad computacional para entrenar los modelos, y el déficit de profesionales con los conocimientos necesarios para tirar adelante proyectos de este tipo. De estos tres problemas, el de la falta de datos es el que más está costando solventar, aunque la falta de profesionales, sobre todo en instituciones públicas o empresas con pocos recursos, también es un inconveniente a tener en cuenta.


¿Y crees que a 5-10 años vista seremos capaces de superar alguna de estas limitaciones?

Es cierto que cada vez la cultura del dato está más presente en la sociedad. Esto hace que cuando se desarrollan nuevos proyectos, sobre todo en grandes empresas, se ponga foco en cómo recoger datos de calidad que podrán ser explotados en el futuro en el entrenamiento de algoritmos. En los últimos años también están apareciendo iniciativas que ayudan en este sentido, tanto a la hora de generar datos “sintéticos” como en ofrecer mano de obra que se encarga de etiquetar datos e incrementar su calidad. Cuando hablo de datos sintéticos me refiero a conjuntos de datos ficticios, creados a partir de adulteraciones de datos reales, que sirven para entrenar modelos que requieren de datasets muy grandes.


En tu carrera en el mundo del dato, ¿cuál o cuáles han sido tus grandes aprendizajes? Me encantaría que me hablaras de tu aprendizaje más dulce y también que hicieras referencia a algún momento más amargo.

El aprendizaje más duro que he tenido que afrontar ocurrió, sin duda, cuando empecé mi carrera en el mundo de los datos. Después de haberme dedicado muchos años a formarme y a la investigación científica, tuve que “aprender a venderme” y a mostrar a las empresas el valor que podía aportarles. Estar de nuevo en el punto de partida de mi carrera profesional me forzó a aprender muchas “soft skills” que me permitieron llegar donde estoy ahora. Aunque esta no fue una experiencia fácil, este desarrollo personal también me llevó a algunos de los mejores aprendizajes que he tenido, ya que con los años he ganado confianza y he tenido la oportunidad de explicar mis proyectos en charlas y conferencias, cosa que me ha acabado resultando muy gratificante. 


Ahora llevas ya unos años trabajando en proyectos de Natural Language Processing (NLP). Para ti ¿cuáles han sido los grandes progresos que has observado en este campo en los últimos 2-3 años?

Con el reciente auge de los modelos de aprendizaje profundo (deep learning) hemos sido capaces de abordar problemas que, con algoritmos más sencillos, no podíamos solventar del todo. En este sentido, han sido muchos los modelos de lenguaje que han aparecido en los últimos años (BERT, GPT2...), y estos han ido acompañados de librerías de programación que nos han hecho muy asequible su implementación (TensorFlow, PyTorch...). Estos modelos de lenguaje están entrenados para, dada una secuencia de palabras, predecir cuál va a venir a continuación. Sin embargo, es muy fácil adaptarlos para resolver problemas más complejos, como por ejemplo clasificación de textos o traducciones.


¿Cuáles son las grandes dificultades con las que te encuentras a la hora de realizar modelos de NLP? (por ej. Training data, capacidad de computación)

Como he comentado anteriormente, la principal dificultad recae en la obtención de datos de calidad. El tipo de datos necesarios para cada proyecto es distinto y esto hace que, en muchas ocasiones, se tenga que desarrollar un dataset propio para el problema que se está abordando. Además, los problemas de lenguaje acostumbran a ser dependientes del idioma utilizado, y esto también dificulta la obtención de datos etiquetados.


Me gustaría también separar el mito de la realidad ¿qué aspectos del mundo NLP son a día de hoy todavía inviables?

Los algoritmos de NLP tienen que aprender cómo se expresan las personas y desarrollar por ellos mismos patrones matemáticos que describan estos comportamientos. Sin embargo, la manera como se expresa una persona varía mucho dependiendo de varios factores relacionados con su realidad: idioma, región, nivel de estudios… Esto hace que, si los datos utilizados para entrenar los algoritmos no son suficientemente diversos, estos puedan fallar cuando son utilizados en contextos que el modelo no ha visto. El otro gran problema del lenguaje es el sesgo que puedan presentar los textos utilizados durante el entrenamiento, y que se mantendrá en las predicciones que acaben haciendo los algoritmos.


¿Qué cambios podemos esperar en el mundo de NLP en los próximos 5 años? ¿Qué barreras cruzaremos?

En los últimos tiempos los distintos nuevos algoritmos de NLP que han aparecido han ido mejorando en performance a sus predecesores. Es esperable que este aumento siga adelante durante los próximos años, ya que el uso de inteligencia artificial en textos se está extendiendo cada vez más. Además, se espera que problemas como la obtención de datos “sintéticos” o como tratar con textos en distintos idiomas también sufran grandes avances en el futuro próximo.


Un tema que alguna vez hemos hablado es que en el mundo de Data & Analytics hay mucha confusión en la definición de los roles. Teniendo en cuenta tu experiencia, para que un equipo de Analytics pueda aportar valor a una organización ¿qué roles son necesarios y cómo definirías estos roles? 

 Los roles definidos dependen mucho de la organización; y si estos roles se reparten a personas diferentes o alguien tiene que adoptar más de un rol también es muy sensible al tamaño del equipo de datos. Dicho esto, los principales roles son:

  • Data Engineer: Mantiene las bases de datos, crea ETLs y las tablas que necesitan el resto de roles.

  • Data Analyst: Analiza los datos y extrae insights de ellos, por ejemplo desarrollando visualizaciones. Cuando los datos que analiza son datos internos de la empresa que sirven para impulsar el propio negocio, se le llama BI analyst.

  • Data Scientist: Desarrolla algoritmos que generan predicciones para que los datos sirvan para mejorar un producto o el propio desarrollo de la empresa. Aunque principalmente desarrollan modelos de aprendizaje automático (machine learning), también llevan a cabo proyectos de otro tipo.

  • Machine Learning Engineer: Da soporte técnico a los data scientists para hacer que los modelos desarrollados puedan ser utilizados en producción.


¿Cuál es la parte más satisfactoria de tu trabajo? ¿Y la que menos?

Las mejores sensaciones que he tenido siempre han venido cuando he visto que, aplicando toda la teoría matemática que he estudiado durante muchos años, he sido capaz de generar un modelo que ha tenido una repercusión palpable en los objetivos del proyecto en el que he estado trabajando. Ser consciente de que, con los datos y el tiempo necesarios, puedo impactar la vida de alguien para bien es algo me produce mucha satisfacción. En cambio, un aspecto menos atractivo de mi día a día es el tener que lidiar con las dudas y las sospechas que aparecen cuando algo no va bien, puesto que los modelos de machine learning, como son difíciles de interpretar y aún no está suficientemente extendido el conocimiento sobre sus capacidades, siempre acaban en el punto de mira aunque su aportación sea claramente positiva.

¿Cómo te mantienes al tanto de las grandes tendencias y cambios en nuestro campo?

 Actualmente, las redes sociales (tanto online como offline) son imprescindibles para estar al día de los avances en campos como el de la inteligencia artificial. Por este motivo, es crucial estar atento a la celebración de eventos y a las noticias que se publican en, por ejemplo, Twitter o LinkedIn. Además, en mi empresa hemos creado un espacio en el que podemos debatir sobre nuevos desarrollos y compartir así los descubrimientos que hacen los distintos miembros del equipo. Mantener una buena red de contactos es muy recomendable.


También formas parte de Data For Good. Cuéntame un poco qué te llevó a ser parte de ese colectivo y qué tipo de iniciativas estáis promoviendo.

Personalmente creo que la explotación de los datos con técnicas avanzadas no debería darse solamente en grandes corporaciones con objetivos mayoritariamente económicos. Desde mi punto de vista, existe espacio para que estos desarrollos también aporten valor a proyectos con fines sociales. Este es el principal objetivo de DataForGoodBCN y por eso decidí unirme e impulsar esta iniciativa. Nuestra principal aportación es el desarrollo de proyectos de datos para organizaciones con fines sociales mediante voluntariado. Además, también hacemos de altavoz de iniciativas exitosas relacionadas con nuestro propósito para inspirar a aquellas personas que tienen inquietudes similares a las nuestras.


Ya que hablamos de Data For Good, uno de los aspectos que más preocupa es lo poco relevante que es la ética en muchos proyectos de Data. Sin ir más lejos, todos esos modelos que bajo la etiqueta AI esconden sesgos y discriminaciones. ¿Cuál es tu punto de vista?

Mi visión en este sentido es que será muy difícil eliminar sesgos y discriminaciones mientras quienes tengan el poder de decidir si estos se eliminan puedan perder beneficios al hacerlo. Por este motivo, creo que es necesaria una regulación y auditorías pertinentes para detectar estos problemas e impedir que acaben teniendo efectos negativos en ningún colectivo.


Recientemente entrevisté a Aleix Ruiz de Villa y le pedí que lanzara una pregunta para la siguiente persona a entrevistar. Su pregunta fue: ¿Cuáles son las principales dificultades que has encontrado para que la gente use herramientas de Data Analytics?

En mi caso, los obstáculos que me he encontrado en cuanto a que se adopten soluciones basadas en machine learning suelen venir principalmente de dos motivos. El primero, que son técnicas poco conocidas hasta ahora y, por lo tanto, es necesaria mucha pedagogía para hacer ver qué puede aportar una solución basada en inteligencia artificial respecto a una implementación convencional. En segundo lugar, por mucho que un modelo basado en aprendizaje automático sea muy bueno, siempre falla un determinado número de veces. Aunque se pueda reducir mucho esta proporción de fallos, el no poder prever cuándo va a fallar el modelo ni explicar por qué lo ha hecho, hace que en ocasiones se tenga miedo de implementar este tipo de soluciones.


Y tú ¿qué pregunta le harías a la próxima persona entrevistada?

¿Crees que el boom de la explotación de los datos y de la ciencia de datos ha venido para quedarse? ¿O se verá pronto reemplazado por otras disciplinas disruptivas?


Anterior
Anterior

Conversación con Cristina Bellido

Siguiente
Siguiente

Conversación con Aleix Ruiz de Vila