Científico de datos vs ingeniero de aprendizaje automático


66

¿Cuáles son las diferencias, si las hay, entre un "científico de datos" y un "ingeniero de aprendizaje automático"?

Durante el año pasado, el "ingeniero de aprendizaje automático" comenzó a aparecer mucho en las ofertas de trabajo. Esto es particularmente notable en San Francisco, que es posiblemente el origen del término "científico de datos". En un momento dado, el "científico de datos" superó al "estadístico", y me pregunto si lo mismo está comenzando a sucederle lentamente al "científico de datos".

El asesoramiento profesional aparece como fuera de tema en este sitio, pero considero que mi pregunta es muy relevante ya que estoy preguntando sobre las definiciones; No estoy preguntando acerca de las recomendaciones dada mi propia trayectoria profesional o circunstancias personales como otras preguntas fuera del tema.

Esta pregunta es sobre el tema porque algún día podría tener implicaciones significativas para muchos usuarios de este sitio. De hecho, este sitio de intercambio de pila podría no existir si la evolución "estadístico" versus "científico de datos" no hubiera ocurrido. En ese sentido, esta es una pregunta bastante pertinente, potencialmente existencial.


2
Data scientistSuena como una designación con poca claridad sobre cuál será el trabajo real, mientras que machine learning engineeres más específico. En el primer caso, su empresa le dará un objetivo y usted necesita averiguar qué enfoque (aprendizaje automático, procesamiento de imágenes, red neuronal, lógica difusa, etc.) utilizaría. En el segundo caso, su compañía ya se ha reducido a qué enfoque debe usarse.
gurvinder372

Relacionado: ciencia de datos vs investigación de operaciones . Además, un científico es algo diferente que un ingeniero . Desafortunadamente, a la industria no parece importarle esto.
Lagarto discreto

1
Como alguien más señaló, un ingeniero de ML es simplemente alguien que pone en producción los modelos de ML. No se espera que comprenda en profundidad los modelos predictivos reales y sus matemáticas subyacentes, sin embargo, son necesarios para dominar las herramientas de software que hacen que estos modelos sean utilizables. Se espera que un Data Scientist tenga un conocimiento profundo de las estadísticas / matemáticas y ML / AI, y a menudo es la persona que crea las herramientas utilizadas por los ingenieros de ML. Entonces, un ingeniero de ML está básicamente más cerca de un ingeniero de software especializado y un DS está más cerca de un estadístico computacional.
Digio

Respuestas:


55

Buena pregunta. En realidad, hay mucha confusión sobre este tema, principalmente porque ambos son trabajos bastante nuevos. Pero si nos centramos en la semántica, el verdadero significado de los trabajos se vuelve claro.

De antemano es mejor comparar manzanas con manzanas, hablando de un solo tema, los datos. El aprendizaje automático y su subgénero (aprendizaje profundo, etc.) son solo un aspecto del mundo de datos, junto con las teorías estadísticas, la adquisición de datos (DAQ), el procesamiento (que puede ser impulsado por el aprendizaje no automático), el interpretación de los resultados, etc.

Entonces, para mi explicación, ampliaré el rol de Ingeniero de Aprendizaje Automático al de Ingeniero de Datos.

La ciencia se trata de experimentos, ensayos y fracasos, construcción de teorías, comprensión fenomenológica. La ingeniería se trata de trabajar en lo que la ciencia ya sabe, perfeccionarlo y llevarlo al "mundo real".

Piensa en un proxy: ¿cuál es la diferencia entre un científico nuclear y un ingeniero nuclear?

El científico nuclear es el que conoce la ciencia detrás del átomo, la interacción entre ellos, el que escribió la receta que permite obtener energía de los átomos.

El ingeniero nuclear es el tipo encargado de tomar la receta del científico y llevarla al mundo real. Por lo tanto, su conocimiento sobre la física atómica es bastante limitado, pero también sabe sobre materiales, edificios, economía y cualquier otra cosa útil para construir una planta nuclear adecuada.

Volviendo al mundo de los datos, aquí hay otro ejemplo: los chicos que desarrollaron las redes neuronales convolucionales (Yann LeCun) son científicos de datos, el tipo que implementa el modelo para reconocer caras en imágenes es un ingeniero de aprendizaje automático. El responsable de todo el proceso, desde la adquisición de datos hasta el registro de la imagen .JPG, es un ingeniero de datos.

Entonces, básicamente, el 90% de los Data Scientist de hoy son en realidad Ingenieros de Datos o Ingenieros de Aprendizaje Automático, y el 90% de las posiciones abiertas como Data Scientist realmente necesitan Ingenieros. Una verificación fácil: en la entrevista, se le preguntará sobre cuántos modelos de ML desplegó en producción, no sobre cuántos documentos sobre los nuevos métodos que publicó.

En cambio, cuando vea anuncios sobre "Ingeniero de Aprendizaje Automático", eso significa que los reclutadores son conscientes de la diferencia, y realmente necesitan a alguien capaz de poner algún modelo en producción.


Nunca he pensado en los científicos nucleares vs. ingeniero, creo que esta es una respuesta completa. Es apropiado para mi experiencia, cuando estoy haciendo análisis es como esa bata blanca de laboratorio (jupyter y gráficos bonitos). Cuando estoy "ensuciándome las manos" con el trabajo de producción de ingeniería (contenedores etl y webapp), constantemente encuentro casos extraños, errores y mal olor de código.
Tony

¿No es Yann LeCun un informático? ¿Y un Data Scientist sería alguien que utiliza algoritmos y técnicas informáticos prefabricados (inventados por informáticos como Yann LeCun) para realizar análisis científicos de datos? ¿De la misma manera que otros científicos aprovechan las computadoras en su trabajo? Entonces, ¿adquirir datos, limpiarlos, combinar diferentes técnicas de análisis (trazado, coincidencia de patrones, modelos ML, etc.) para aprender verdades ocultas dentro de los datos?
Didier A.

YLC es un informático, pero está especializado en datos. CS se ha convertido en un campo demasiado amplio, del que surgieron todas esas nuevas definiciones (como DS). Y así, usar CS no se vuelve realmente discriminante. Al igual que el apelativo "Físico" hace un par de cientos de años: hoy esa palabra en realidad no define el trabajo de alguien, a menos que lo especifique mejor (por ejemplo, Partícula P., Estado sólido P., etc.). Pero de todos modos, un científico (CS, DS, cualquier -S) no es alguien que se limita a usar los descubrimientos de otros. En cambio, su trabajo es comprender y, por este medio, hacer descubrimientos.
Vincenzo Lavorini

¿Podría responder amablemente esta pregunta sobre Data Engineerorientación profesional?
Stom 01 de

¿Cómo es la ciencia sobre la "comprensión fenomenológica"?
ubadub

10

Los términos son nebulosos porque son nuevos.

Al estar en medio de una búsqueda de empleo en el campo de la 'ciencia de datos', creo que hay dos cosas que suceden aquí. Primero, los trabajos son nuevos y no hay definiciones establecidas de varios términos, por lo que no se acuerda comúnmente la coincidencia de los términos con las descripciones de los trabajos. Compare esto con 'desarrollador web' o 'desarrollador de back-end'. Estos son dos trabajos similares que han sido razonablemente bien acordados y descripciones distintas.

En segundo lugar, muchas personas que realizan el trabajo y las entrevistas iniciales no saben muy bien para qué están contratando. Esto es particularmente cierto en el caso de las pequeñas y medianas empresas que contratan reclutadores para encontrar candidatos para ellos. Son estos intermediarios los que publican las descripciones de trabajo en CareerBuilder o en cualquier foro. Esto no quiere decir que muchos de ellos no saben lo que hacen, muchos de ellos conocen bastante bien las empresas que representan y los requisitos del lugar de trabajo. Pero, sin términos bien definidos para describir diferentes trabajos específicos, los títulos de trabajo nebulosos son a menudo el resultado.

Hay tres divisiones generales del campo.

En mi experiencia, hay tres divisiones generales del "espacio de trabajo" de la ciencia de datos.

El primero es el desarrollo de las técnicas matemáticas y computacionales que hacen posible la ciencia de datos. Esto cubre cosas como la investigación estadística de nuevos métodos de aprendizaje automático, la implementación de estos métodos y la construcción de infraestructura computacional para emplear estos métodos en el mundo real. Esta es la división más alejada del cliente y la división más pequeña. Gran parte de este trabajo lo realizan académicos o investigadores de las grandes empresas (Google, Facebook, etc.). Esto es para cosas como el desarrollo de TensorFlow de Google, las redes neuronales SPSS de IBM o lo que sea la próxima gran base de datos de gráficos.

La segunda división está utilizando las herramientas subyacentes para crear paquetes específicos de la aplicación para realizar cualquier análisis de datos que deba hacerse. Las personas son contratadas para usar Python o R o lo que sea para crear capacidad de análisis en algún conjunto de datos. Gran parte de este trabajo, en mi experiencia, implica hacer la "limpieza de datos", convirtiendo los datos sin formato en cualquier forma en algo utilizable. Otra gran parte de este trabajo es la base de datos; averiguar cómo almacenar los datos de manera que se pueda acceder a ellos en cualquier línea de tiempo en la que los necesite. Este trabajo no consiste tanto en tomar herramientas, sino en usar bases de datos, estadísticas y bibliotecas de análisis gráfico existentes para producir algunos resultados.

La tercera división está produciendo análisis a partir de los datos recientemente organizados y accesibles. Este es el lado más orientado al cliente, dependiendo de su organización. Debe generar un análisis que los líderes empresariales puedan utilizar para tomar decisiones. Esta sería la menos técnica de las tres divisiones; Muchos trabajos son híbridos entre la segunda y la tercera división en este momento, ya que la ciencia de datos está en su infancia. Pero en el futuro, sospecho firmemente que habrá una división más limpia entre estos dos trabajos, con la gente que gane el segundo trabajo que necesita una educación técnica, informática o estadística, y este tercer trabajo solo necesita una educación general.

En general, los tres podrían describirse a sí mismos como "científicos de datos", pero solo los dos primeros podrían describirse razonablemente como "ingenieros de aprendizaje automático".

Conclusión

Por el momento, tendrá que descubrir qué implica cada trabajo. Mi trabajo actual me contrató como 'analista' para hacer algunas cosas de aprendizaje automático. Pero cuando nos pusimos a trabajar, se hizo evidente que la base de datos de la empresa era inadecuada, y ahora probablemente el 90% de mi tiempo lo paso trabajando en las bases de datos. Mi exposición de aprendizaje automático ahora solo está ejecutando rápidamente todo lo que sea el paquete scikit-learn que parezca más apropiado, y filmando archivos csv a los analistas de la tercera división para hacer presentaciones de powerpoint para el cliente.

El campo está en flujo. Muchas organizaciones están tratando de agregar la toma de decisiones de ciencia de datos a sus procesos, pero sin saber claramente lo que eso significa. No es su culpa, es bastante difícil predecir el futuro, y las ramificaciones de una nueva tecnología nunca son muy claras. Hasta que el campo esté más establecido, muchos trabajos serán tan nebulosos como los términos utilizados para describirlos.


9

[Completamente una opinión personal]

Cuando el término 'Científico de datos' superó a 'Estadístico', se trata más de sonar genial, en lugar de cualquier diferencia importante. Del mismo modo, el término 'Aprendizaje profundo'. Son solo redes neuronales (que es otro algoritmo de Machine Learning) con un par de capas más. Nadie puede explicar cuándo una red neuronal particular puede llamarse DL, en lugar de ML, porque la definición en sí es confusa. Entonces, es el término 'Data Scientist'.

Sin embargo, a medida que las empresas adoptan la mentalidad de DevOps para la ciencia de datos, el término ML Engineer evolucionó.

¿Cuál es la mentalidad de DevOps para la ciencia de datos?

Aquí es donde construye el modelo, lo implementa y también espera mantenerlo en producción. Esto ayuda a evitar mucha fricción en los equipos de software.

[PD: DevOps es una forma de hacer software, más como una filosofía. Entonces, usarlo como designación, nuevamente me confunde].

Por lo tanto, se supone que los ingenieros de ML deben conocer los matices de la ingeniería de sistemas, ML y las estadísticas (obviamente).

Una generalización vaga sería Data Engineer + Data Scientist = ML Engineer.

Dicho esto, las designaciones en este espacio se están volviendo vagas día a día, y el término 'Estadístico' se está volviendo cada vez más relevante (¡la ironía!).


2
El aprendizaje automático es mucho más que redes neuronales (solo como ejemplo, considere todo tipo de clasificadores basados ​​en árboles), así que no vea cómo "el aprendizaje profundo es solo aprendizaje automático con un par de capas más".
S. Kolassa - Restablece a Mónica

@StephanKolassa Sí. De acuerdo. No debería haberlo generalizado demasiado :) Gracias por señalarlo.
Dawny33

1
(+1) pero no creo que "estadístico" se vuelva más relevante es una ironía, solo ... ¿una transición esperada? ¿Dónde están los "investigadores operativos" en estos días? ;)
usεr11852 dice Reinstate Monic

7

Puede variar de una compañía a otra, pero Data Scientist como designación ha existido desde hace algún tiempo y generalmente está destinado a extraer conocimiento e ideas de los datos .

He visto a científicos de datos haciendo

  • Escritura de algoritmos de procesamiento de imágenes y reconocimiento de imágenes,
  • Diseñar e implementar árboles de decisión para un caso de uso comercial,
  • O simplemente diseñe e implemente algunos informes o escriba ETL para transformaciones de datos.

La ciencia de datos , sin embargo, es un super-dominio de aprendizaje automático

Emplea técnicas y teorías extraídas de muchos campos dentro de las áreas amplias de matemáticas, estadísticas, ciencias de la información y ciencias de la computación, en particular de los subdominios de aprendizaje automático, clasificación, análisis de conglomerados, cuantificación de incertidumbre, ciencia computacional, minería de datos, bases de datos, y visualización .

El ingeniero de aprendizaje automático parece ser una designación en la que su empleador ya se ha reducido a

  • Acercarse a, aproximarse,
  • Herramientas,
  • y un modelo aproximado (de qué entregar)

extraer conocimiento o ideas de los datos mediante el aprendizaje automático y su trabajo consistirá en diseñar e implementar algoritmos de aprendizaje automático para ofrecer lo mismo .


5

Los ingenieros de aprendizaje automático y el científico de datos enfocado en ingeniería son iguales, pero no todos los científicos de datos están enfocados en ingeniería. Hace aproximadamente 5 años, casi todos los Data Scientist estaban enfocados en la ingeniería, por ejemplo, tenían que escribir código de producción. Ahora, sin embargo, hay muchos roles de Data Scientist que son en su mayor parte: jugar en el cuaderno Jupyter, comprender los datos, hacer gráficos bonitos, explicar a los clientes, gerentes, analistas ... No hacen ninguna ingeniería. Y creo que el término Ingenieros de Aprendizaje Automático llegó a subrayar que se trata de una posición de ingeniería.


2

TL; DR: Depende de quién pregunta.

La respuesta a esta pregunta depende en gran medida de las expectativas, el conocimiento y la experiencia de quien pregunta. Una pregunta análoga con una respuesta tan confusa es:

¿Cuál es la diferencia entre un desarrollador de software, un ingeniero de software y un informático?

Para algunas personas, particularmente las personas que estudian o enseñan ciencias de la computación e ingeniería de software, existe una gran diferencia definida entre estos campos. Pero para el trabajador de recursos humanos, el reclutador técnico o el gerente promedio, estos son solo "personas informáticas".

Me encanta esta cita de Vincent Granville , énfasis mío:

Al principio de mi carrera (alrededor de 1990) trabajé en la tecnología de detección remota de imágenes, entre otras cosas para identificar patrones (o formas o características, por ejemplo, lagos) en imágenes satelitales y para realizar la segmentación de imágenes: en ese momento mi investigación fue etiquetada como computacional estadísticas, pero las personas que hacen exactamente lo mismo en el departamento de informática de al lado en mi universidad de origen, llamaron a su investigación inteligencia artificial. Hoy en día, se llamaría ciencia de datos o inteligencia artificial, siendo los subdominios procesamiento de señales, visión por computadora o IoT.


1

Machine Learning es más específico y en el campo deberá dominar lo siguiente:

  • Características vs Etiquetas
  • Datos de prueba vs datos de entrenamiento
  • Normalización de funciones
  • Estructuras de datos comunes (matrices de matrices)
  • Selección de características

0

No estoy en desacuerdo con ninguna de las respuestas dadas. Sin embargo, creo que hay un papel de Data Scientist que se pasa por alto en casi todas las respuestas aquí. La mayoría de estas respuestas dicen algo en el sentido de "Bueno, un ingeniero simplemente escribe y despliega el modelo ...". Espera un segundo: ¡hay MUCHO trabajo en esos dos pasos!

Mi definición principal de un científico de datos es alguien que aplica el método científico para trabajar con datos. Así que estoy constantemente pensando en las hipótesis, diseñando pruebas, recolectando mis datos y ejecutando esas pruebas, verificando mis resultados de validación cruzada, probando nuevos enfoques, transformando mis datos, etc. Eso es esencialmente lo que entra "solo escribe e implementa el modelo "en un entorno profesional.

Entonces, para su respuesta, creo que "el diablo está en los detalles" porque no puede pasar por alto algunos de estos pasos / términos. Además, si está buscando trabajo, debe tener cuidado porque el "ingeniero de datos" y el "científico de datos" pueden tener escalas salariales lamentablemente diferentes: ¡no desea ser un científico de datos con un salario de ingeniero de datos!

Siempre me destaqué como científico de datos, les digo a las empresas que trabajo en modelos predictivos (no solo analíticos) y que no soy un jinete de Excel: escribo en lenguajes de programación (R, Python, etc.). Si puede encontrar una posición que le permita hacer ambas cosas, entonces está en camino de convertirse en un científico de datos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.