A lo largo de la última década, términos como "ciencia de datos", "big data", "lago de datos", "aprendizaje automático", "IA", etc. han pasado a primer plano (y a veces de nuevo). Sin embargo, a pesar de su amplio uso (¡o quizá debido a ello!), parece haber poco acuerdo sobre lo que significan muchos de estos términos. No quiero entrar en una larga discusión sobre la nomenclatura unificada, pero hay dos términos de uso común que me interesan especialmente: "Científico de datos" e "Ingeniero de aprendizaje automático".
En su sentido más amplio, estos dos términos podrían definirse como "personas técnicamente cualificadas que aportan soluciones en el ámbito de la Aprendizaje automático desarrollar " debe entenderse. "Científico de datos"es un término que a lo largo de los años se ha asociado a una especie de matemático o estadístico generalista que también sabe programar un poco y sabe interpretar y visualizar datos. Más recientemente, el término "ingeniero de aprendizaje automático" se ha asociado a desarrolladores de software que han aprendido algo de matemáticas en el proceso.
Sugerencia de enlace: En esta serie de artículos presentamos las Métodos de aprendizaje automáticocomo la agrupación y la clasificación.
Aunque ciertamente hay algo de verdad en estas interpretaciones, ninguna me parece especialmente útil. Por lo tanto, a riesgo de aumentar la confusión, me gustaría ilustrar mi interpretación de lo que significan estos roles a través de una pequeña parábola de dos intrépidos aventureros -un científico (Data Scientist) y un ingeniero (Machine Learning Engineer)- que parten en busca de petróleo en un desierto desconocido y posiblemente interminable....
Inhaltsverzeichnis
En función de sus tareas, el ingeniero y el científico están equipados de forma diferente
El científico es ligero de equipaje. Lleva una mochila, una brújula, una pala y algunos instrumentos de medición sencillos pero precisos. Se adentra un par de veces en el desierto, nunca a mucha profundidad, pero sí lo suficiente para evaluar qué dirección es la más prometedora. A los pocos días de tomar medidas y cavar algunos agujeros con la pala, tiene una idea de dónde puede haber petróleo.
El ingeniero, por su parte, aporta maquinaria pesada y sofisticada. De momento, no le preocupa dónde se puede encontrar petróleo. Pero una vez encontrado, hay que transportarlo, así que pasa los primeros días diseñando un oleoducto.
La colaboración permite a los dos investigadores combinar sus puntos fuertes y ser más eficaces.
Al cabo de unos días, los exploradores conversan y el científico declara que hará incursiones más extensas en los próximos días, ya que ahora está mucho más seguro de dónde encontrará el petróleo. Mientras el científico se marcha, el ingeniero pone en marcha su máquina y, siguiendo los pasos del científico, construye el primer tramo del oleoducto. Finalmente, alcanza al científico, que había descubierto un pequeño pozo.
Juntos instalan un taladro en el lugar y lo conectan a la tubería. Esta tubería hace que el trabajo del científico sea mucho más eficaz y, aunque todavía no han encontrado un pozo realmente grande, este pozo más pequeño ya está dando algunos beneficios y el ingeniero puede utilizarlo para probar su tubería.
Tras unos meses de cooperación fluida, ambos descubridores están listos para el primer gran avance
Para preparar la siguiente fase de su aventura, el ingeniero construye un taladro petrolífero ligero y enseña al científico a utilizarlo. Con este taladro especializado, el científico puede abrir pozos sin la presencia del ingeniero. Durante un tiempo, el científico sigue trabajando en la búsqueda de nuevos pozos mientras el ingeniero continúa conectándolos al oleoducto.
A continuación, el ingeniero diseña también tuberías ligeras que el científico puede conectar a la tubería sin ayuda del ingeniero. Esto permite al científico acelerar considerablemente sus exploraciones y, al mismo tiempo, libera al ingeniero de rediseñar grandes partes de la tubería, haciéndolas más estables y eficientes.
Del mismo modo, el científico está desarrollando un nuevo conjunto normalizado de mediciones que el ingeniero puede incorporar a los registros de medición del eje principal, de modo que el científico ya no tenga que desplazarse a los lugares de perforación para supervisar su rendimiento.
Tras meses de duro trabajo, llegan al gran pozo petrolífero que buscaban. Juntos conectan el pozo al oleoducto e instalan sofisticados equipos de medición. A estas alturas, la rutina está bien regulada. Medir, perforar, arreglar, bombear, medir. Y ya está. En un abrir y cerrar de ojos, el gran pozo de petróleo sale a borbotones.
Al cabo de un tiempo, se separan: el ingeniero se queda en la obra y el científico contribuye fuera del proyecto.
Poco después, el científico hace las maletas y se va a casa. Ya no se le necesita in situ, pero sigue disponible para analizar las mediciones del pozo.
El ingeniero se queda un poco más. Todavía no está contento de que todo el sistema funcione perfectamente. Llega un equipo de operarios y juntos corrigen los problemas que quedan. Entonces el ingeniero entrega el sistema a los operarios y se va a casa, prometiendo volver si hay algún problema.
Reunión del científico y el ingeniero
Nuestros dos exploradores vuelven a encontrarse pronto. Reflexionan sobre su pequeña aventura en el desierto y empiezan a hacer planes juntos para su próxima exploración: al parecer, podría haber petróleo en el Ártico y están dispuestos a descubrirlo.
Los científicos de datos y los ingenieros de aprendizaje automático tienen funciones diferentes
Tal vez pueda ver en la historia anterior algunos de los elementos que intervienen en el éxito de un proyecto de aprendizaje automático.
Elegí esta pequeña parábola de dos exploradores porque creo que el aprendizaje automático -aunque ha avanzado mucho en los últimos cinco a diez años- sigue siendo un ámbito que requiere en gran medida incursiones en territorio inexplorado. Creo que el espíritu de exploración (prototipado rápido) sigue siendo tan pertinente como hace cinco años, pero también es cada vez más importante empezar a preparar sistemas de producción (escalado rápido) desde el principio del proyecto.
Para mis dos exploradores, elegí a un científico (de datos) y a un ingeniero (de aprendizaje automático) para ilustrar la importancia de su colaboración para una creación de valor rápida y eficaz.
Sin duda hay muchas definiciones diferentes para estos dos roles, pero para mí la característica definitoria es que el Científico de Datos es alguien que se pregunta: "¿Cuál es el mejor algoritmo para resolver este problema?" e intenta responder a esta pregunta probando rápidamente diferentes hipótesis (buscando pozos de petróleo). El ingeniero de aprendizaje automático, por su parte, se pregunta: "¿Cuál es el mejor sistema para resolver este problema?" e intenta responder a esta pregunta estableciendo un proceso automatizado (construcción de un oleoducto) que pueda acelerar la comprobación de hipótesis.
A pesar de las diferentes funciones entre el científico de datos y el ingeniero de aprendizaje automático, su colaboración es crucial para los proyectos de aprendizaje automático.
Tanto si estas dos definiciones de 100% son correctas como si no, es importante que la colaboración se produzca cuando dos profesionales de talento con estas mentalidades se encuentran. En mi ejemplo, el científico de datos busca nuevas arquitecturas de modelos que probar, nuevos métodos para medir el rendimiento, nuevas fuentes de datos que ingerir, etc., mientras que el ingeniero de aprendizaje automático busca formas de integrar el trabajo del científico de datos en un sistema escalable. A medida que el sistema se amplía, el científico de datos se vuelve más eficaz porque dispone de mejores herramientas. El ingeniero de aprendizaje automático es más eficaz porque las herramientas que desarrolla se utilizan para obtener resultados cada vez más valiosos.
Sin embargo, para el científico de datos, la atención se centrará más en los resultados rápidos que en el desarrollo de software sostenible. Como tal, la herramienta elegida por los científicos de datos -ya que todo suele desarrollarse en el mundo de Python- será el uso extensivo de Jupyter Notebooks, que apoyan activamente una forma exploratoria de trabajar; el producto final de este trabajo suelen ser prototipos de scripts.
Sin embargo, el ingeniero de aprendizaje automático escribe software. No puedo enfatizar esto lo suficiente. (Si eres muy bueno en aprendizaje automático y creas scripts claramente estructurados, bien documentados y fáciles de mantener, entonces eres el mejor Científico de Datos que podemos pedirle a Alexander Thamm en un proyecto - ¡no un Ingeniero de Aprendizaje Automático!) El Ingeniero de Aprendizaje Automático se centra en desarrollar software que escale rápidamente. Gran parte de esto también se escalará en el mundo Python, lo que significa IDEs (entornos de desarrollo integrados) como PyCharm se utilizan normalmente como la herramienta de elección. (Sin embargo, va más allá de Python, ya que escalar también significa dominar herramientas que orquestan recursos para el entrenamiento de modelos y sirven modelos entrenados a sistemas de usuario final, pero esa es una discusión para otro momento).
Las distintas fases del proyecto requieren una participación diferente de los ingenieros de aprendizaje automático y los científicos de datos.
Por último, hay que hablar de las fases del proyecto y de quién interviene y cuándo. Si nos fijamos en la progresión de un proyecto que pasa por las fases de "hipótesis", "prueba de concepto", "prototipo" y "producción", es tentador decir que las dos primeras son competencia de los científicos de datos, mientras que las dos últimas son competencia de los ingenieros de aprendizaje automático. Sólo estoy de acuerdo en parte.
El científico de datos y el ingeniero de aprendizaje automático de pie al borde del desierto, mirando a lo lejos y preguntándose si podría haber petróleo ahí fuera: Esta es la fase de "hipótesis". El científico que camina por el desierto cavando montones de pequeños agujeros con una pala para ver los primeros indicios de petróleo, mientras el ingeniero dibuja los diseños de su oleoducto, es lo que yo llamaría "prueba de concepto". La construcción de un oleoducto a gran escala y la perforación del primer pequeño pozo es lo que yo llamaría un "prototipo". Y el sistema a gran escala, totalmente refinado y altamente eficiente, mantenido por un equipo de operadores, es lo que yo consideraría "producción".
El ingeniero de aprendizaje automático y el científico de datos son cruciales en todo el proyecto.
Tal vez la forma correcta de verlo sea reconocer que cada una de las fases requerirá aportaciones de ambas funciones, pero que el aspecto de esas aportaciones cambiará. En concreto, al principio, el ingeniero de aprendizaje automático dependerá en gran medida de la exploración del científico de datos, y más adelante el científico de datos dependerá en gran medida de las herramientas que desarrolle el ingeniero de aprendizaje automático. Pero cada uno de ellos seguirá siendo relevante -incluso indispensable- en todo momento.
Y al final, ambos pasan a la siguiente etapa, que probablemente será otro viaje de descubrimiento, esta vez al Ártico...
Blog original en Medium por nuestro Director de IA e Ingeniero Jefe de Aprendizaje Automático Karl Schriek.
0 comentarios