Data Scientist vs Ingénieur en apprentissage machine


66

Quelles sont les différences, le cas échéant, entre un "informaticien" et un "ingénieur en apprentissage automatique"?

Au cours des dernières années, les "ingénieurs en apprentissage machine" ont commencé à apparaître fréquemment dans les offres d'emploi. Cela est particulièrement visible à San Francisco, d'où le terme "informaticien". À un moment donné, le "scientifique des données" a dépassé le "statisticien", et je me demande si le même phénomène commence maintenant à arriver lentement au "scientifique des données".

Les conseils de carrière sont répertoriés comme hors sujet sur ce site, mais je considère que ma question est très pertinente puisque je pose des questions sur les définitions; Je ne pose pas de question sur les recommandations compte tenu de mon parcours professionnel ou de ma situation personnelle, contrairement à d'autres questions hors sujet.

Cette question concerne le sujet, car elle pourrait un jour avoir des conséquences importantes pour de nombreux utilisateurs de ce site. En fait, ce site d'échange de piles pourrait ne pas exister si l'évolution "statisticien" ou "scientifique des données" n'avait pas eu lieu. En ce sens, il s’agit d’une question plutôt pertinente, potentiellement existentielle.


2
Data scientistCela ressemble à une désignation avec peu de clarté sur ce que sera le travail réel, tout en machine learning engineerétant plus spécifique. Dans le premier cas, votre entreprise vous donnera une cible et vous devrez déterminer quelle approche (apprentissage par la machine, traitement d'images, réseau de neurones, logique floue, etc.) vous utiliseriez. Dans le second cas, votre entreprise a déjà défini l’approche à utiliser.
gurvinder372

Connexe: la science des données vs la recherche opérationnelle . En outre, un scientifique est quelque chose de différent d'un ingénieur . Malheureusement, l'industrie ne semble pas se préoccuper de cela.
lézard discret

1
Comme quelqu'un l'a souligné, un ingénieur ML est simplement quelqu'un qui met en production des modèles ML. Il n'est pas censé comprendre en profondeur les modèles prédictifs réels et leurs mathématiques sous-jacentes. Ils doivent toutefois maîtriser les outils logiciels qui rendent ces modèles utilisables. Un scientifique de données devrait avoir une connaissance approfondie des statistiques / mathématiques et du ML / AI, et est souvent la personne qui crée les outils utilisés par les ingénieurs du ML. Ainsi, un ingénieur ML est fondamentalement plus proche d’un ingénieur en logiciel spécialisé et un DS est plus proche d’un statisticien en calcul.
Digio

Réponses:


55

Bonne question. En fait, il y a beaucoup de confusion à ce sujet, principalement parce que les deux sont des emplois assez nouveaux. Mais si nous nous concentrons sur la sémantique, le sens réel des emplois devient clair.

Au préalable, il est préférable de comparer des pommes avec des pommes, en parlant d’un seul sujet, les données. L'apprentissage machine et son sous-genre (apprentissage en profondeur, etc.) ne sont qu'un aspect du monde des données, aux côtés des théories statistiques, de l'acquisition de données (DAQ), du traitement (qui peut ne pas être axé sur l'apprentissage automatique), interprétation des résultats, etc.

Donc, pour mon explication, j'élargirai le rôle d'ingénieur en apprentissage machine à celui d'ingénieur en données.

La science concerne les expériences, les essais et les échecs, la construction de théories, la compréhension phénoménologique. L'ingénierie consiste à travailler sur ce que la science sait déjà, à la perfectionner et à la porter dans le "monde réel".

Pensez à un proxy: quelle est la différence entre un scientifique nucléaire et un ingénieur nucléaire?

Le scientifique nucléaire est celui qui connaît la science derrière l'atome, l'interaction entre eux, celui qui a écrit la recette qui permet de tirer de l'énergie des atomes.

L'ingénieur nucléaire est le type chargé de prendre la recette du scientifique et de la transmettre au monde réel. Donc, sa connaissance de la physique atomique est assez limitée, mais il connaît également les matériaux, les bâtiments, l'économie et tout ce qui est utile pour construire une centrale nucléaire adéquate.

Pour en revenir au monde des données, voici un autre exemple: les gars qui ont développé les réseaux de neurones convolutionnels (Yann LeCun) est un scientifique des données, le gars qui déploie le modèle pour reconnaître les visages dans les images est un ingénieur en apprentissage automatique. Le responsable de l’ensemble du processus, de l’acquisition des données à l’enregistrement de l’image .JPG, est un ingénieur en données.

Ainsi, 90% des scientifiques de données actuels sont en fait des ingénieurs de données ou des ingénieurs en apprentissage automatique, et 90% des postes ouverts en tant que Data Scientist ont réellement besoin d'ingénieurs. Un contrôle simple: dans l'interview, vous serez interrogé sur le nombre de modèles ML que vous avez déployés en production, et non sur le nombre d'articles sur les nouvelles méthodes que vous avez publiées.

Au lieu de cela, quand vous voyez des annonces concernant "Machine Learning Engineer", cela signifie que les recruteurs sont bien conscients de la différence et qu'ils ont vraiment besoin de quelqu'un capable de mettre en modèle un modèle.


Je n'ai jamais pensé aux scientifiques du nucléaire ni à l'ingénieur. Je pense que cette réponse est complète. Cela convient à mon expérience. Lorsque je fais des analyses, c'est comme une blouse blanche (jupyter et de jolis graphiques). Lorsque je me «salis les mains» avec des travaux de production d'ingénierie (conteneurs ETL et Webapp), je trouve constamment des cas étranges, des bugs et une mauvaise odeur de code.
Tony

Yann LeCun n'est-il pas un informaticien? Et un scientifique des données serait quelqu'un qui utilise des algorithmes et des techniques informatiques prédéfinis (inventés par des scientifiques tels que Yann LeCun) pour effectuer une analyse scientifique des données? De la même manière que d'autres scientifiques utilisent des ordinateurs dans leur travail? Donc acquérir des données, les nettoyer, combiner différentes techniques d’analyse (traçage, correspondance de modèles, modèles ML, etc.) ensemble pour apprendre des vérités cachées dans les données?
Didier A.

YLC, est un informaticien, mais il est spécialisé dans les données. CS est devenu un domaine trop vaste d'où sont issues toutes ces nouvelles définitions (comme DS). Et si utiliser CS ne devient pas vraiment discriminant. Comme l'appellation "physicien" il y a quelques centaines d'années: aujourd'hui, ce mot ne définit pas le travail de quelqu'un, à moins que vous ne le précisiez mieux (ex. Particle P., Solid State P., etc.). Quoi qu'il en soit, un scientifique (CS, DS, any -S) n'est pas quelqu'un qui se limite à utiliser les découvertes des autres. Au lieu de cela, son travail consiste à comprendre et, par ce moyen, à faire des découvertes.
Vincenzo Lavorini le

Pourriez-vous bien vouloir répondre à cette question concernant l’ Data Engineerorientation professionnelle?
Stom le

Comment la science parle-t-elle de "compréhension phénoménologique"?
Ubadub

10

Les termes sont nébuleux car ils sont nouveaux

Étant au milieu d'une recherche d'emploi dans le domaine de la «science des données», je pense qu'il y a deux choses qui se passent ici. Premièrement, les emplois sont nouveaux et il n’existe pas de définition précise des différents termes. Il n’ya donc pas de consensus sur la correspondance des termes avec les descriptions de poste. Comparez cela à "développeur Web" ou "développeur back-end". Ce sont deux emplois similaires qui ont des descriptions assez bien convenues et distinctes.

Deuxièmement, beaucoup de personnes qui font les offres d’emploi et les premières entrevues ne savent pas très bien pour quoi elles embauchent. Cela est particulièrement vrai dans le cas des petites et moyennes entreprises qui recrutent des recruteurs pour leur trouver des candidats. Ce sont ces intermédiaires qui affichent les descriptions de travail sur CareerBuilder ou sur un forum quelconque. Cela ne veut pas dire que beaucoup d'entre eux ne connaissent pas leur métier, beaucoup d'entre eux connaissent très bien les sociétés qu'ils représentent et les exigences du lieu de travail. Mais, sans termes bien définis pour décrire différents emplois spécifiques, il en résulte souvent des titres d'emploi nébuleux.

Il y a trois divisions générales du domaine

D'après mon expérience, il existe trois divisions générales de la "zone de travail" de la science des données.

Le premier est le développement des techniques mathématiques et informatiques permettant la science des données. Cela couvre des domaines tels que la recherche statistique sur les nouvelles méthodes d’apprentissage automatique, la mise en œuvre de ces méthodes et la mise en place d’une infrastructure informatique permettant d’utiliser ces méthodes dans le monde réel. C'est la division la plus éloignée du client et la plus petite division. Une grande partie de ce travail est effectué par des universitaires ou des chercheurs des grandes entreprises (Google, Facebook, etc.). Cela concerne, par exemple, le développement de TensorFlow de Google, les réseaux de neurones SPSS d’IBM ou la prochaine grande base de données de graphes.

La deuxième division utilise les outils sous-jacents pour créer des packages spécifiques à l’application et effectuer toutes les analyses de données nécessaires. Des personnes sont embauchées pour utiliser Python ou R ou autre afin de créer une capacité d'analyse sur un ensemble de données. D'après mon expérience, une grande partie de ce travail consiste à «laver les données», à transformer des données brutes sous quelque forme que ce soit en quelque chose d'utilisable. Un autre gros morceau de ce travail est la base de données; trouver le moyen de stocker les données de manière à pouvoir y accéder dans n’importe quelle chronologie. Ce travail ne prend pas tellement d’outils, mais utilise des bases de données, des statistiques et des bibliothèques d’analyses graphiques existantes pour produire des résultats.

La troisième division produit des analyses à partir des données nouvellement organisées et accessibles. Ceci est le côté le plus client, en fonction de votre organisation. Vous devez produire une analyse que les chefs d'entreprise peuvent utiliser pour prendre des décisions. Ce serait la moins technique des trois divisions; de nombreux emplois sont hybrides entre les deuxième et troisième divisions à ce stade, car la science des données en est à ses balbutiements. Mais à l'avenir, je crains fortement qu'il y ait une division plus nette entre ces deux emplois: les personnes qui obtiendront le deuxième emploi nécessitant un enseignement technique, informatique ou statistique, et ce troisième emploi ne nécessitant qu'une formation générale.

En général, ils pourraient tous les trois se décrire comme des «informaticiens», mais seuls les deux premiers pourraient raisonnablement se décrire comme des «ingénieurs en apprentissage automatique».

Conclusion

Pour le moment, vous devrez trouver vous-même ce que chaque travail implique. Mon poste actuel m'a engagé en tant qu '«analyste» pour effectuer des tâches d'apprentissage automatique. Mais au fur et à mesure que nous nous sommes mis au travail, il est devenu évident que la base de données de la société était inadéquate et maintenant, je passe probablement à 90% de mon temps à travailler sur les bases de données. Mon apprentissage en machine consiste maintenant à exécuter rapidement des tâches dans le package scikit-learn qui semble le plus approprié et à envoyer des fichiers csv aux analystes de troisième division afin de réaliser des présentations PowerPoint pour le client.

Le champ est en mutation. Un grand nombre d'organisations tentent d'intégrer la prise de décision relative à la science des données à leurs processus, mais sans savoir clairement ce que cela signifie. Ce n'est pas leur faute, il est assez difficile de prédire l'avenir et les ramifications d'une nouvelle technologie ne sont jamais très claires. Tant que le domaine n’est pas mieux établi, de nombreux emplois seront aussi nébuleux que les termes utilisés pour les décrire.


9

[Complètement une opinion personnelle]

Lorsque le terme "Data Scientist" a dépassé le terme "statisticien", il s'agit plus de paraître cool que de différence majeure. De même, le terme «apprentissage en profondeur». Ce sont juste des réseaux de neurones (qui est un autre algorithme d'apprentissage automatique) avec quelques couches supplémentaires. Personne ne peut expliquer quand un réseau neuronal particulier peut s'appeler DL, plutôt que ML, car la définition elle-même est floue. Alors, est le terme «Data Scientist».

Cependant, alors que les entreprises adoptaient la mentalité DevOps pour la science des données, le terme ingénieur ML a évolué.

Quel est l’état d’esprit DevOps pour la science des données?

C’est à cet endroit que vous construisez le modèle, le déployez et attendez-vous également à le maintenir en production. Cela aide à éviter beaucoup de friction dans les équipes de logiciels.

[PS: DevOps est une façon de faire un logiciel, plutôt une philosophie. Donc, l’utiliser comme désignation me confond encore].

Ainsi, les ingénieurs de ML sont censés connaître les nuances de l’ingénierie des systèmes, des ML et des statistiques (évidemment).

Une vague généralisation serait Data Engineer + Data Scientist = ML Engineer.

Cela dit, les désignations dans cet espace deviennent de plus en plus floues et le terme de «statisticien» devient de plus en plus pertinent (ironie!).


2
L'apprentissage machine est beaucoup plus que de simples réseaux de neurones (juste à titre d'exemple, considérons toutes sortes de classificateurs basés sur des arbres), alors ne voyez pas comment "l'apprentissage en profondeur est juste un apprentissage automatique avec quelques couches supplémentaires".
S. Kolassa - Réintégrer Monica le

@StephanKolassa Ouais. Se mettre d'accord. Je n'aurais pas dû trop généraliser :) Merci de l'avoir signalé.
Dawny33

1
(+1) mais je ne pense pas que "statisticien" devienne plus pertinent, c'est une ironie, juste ... une transition attendue? Où sont les "chercheurs opérationnels" ces jours-ci? ;)
usεr11852 dit Réintégrer Monic

7

Cela peut varier d’une entreprise à l’autre, mais Data Scientist est une désignation qui existe depuis un certain temps déjà et qui est généralement conçue pour extraire des connaissances et des idées à partir de données .

J'ai vu des scientifiques de données faire

  • Ecriture d'algorithmes de traitement d'images et de reconnaissance d'images,
  • Concevoir et mettre en œuvre des arbres de décision pour un cas d'utilisation métier,
  • Ou simplement concevoir et implémenter des rapports ou écrire des ETL pour des transformations de données.

La science des données , cependant, est un super-domaine de l'apprentissage automatique

Il emploie des techniques et des théories issues de nombreux domaines dans les domaines des mathématiques, des statistiques, de l'informatique et de l'informatique, en particulier des sous-domaines suivants: apprentissage automatique, classification, analyse par grappes, quantification de l'incertitude, informatique, fouille de données, bases de données, et visualisation .

Ingénieur en apprentissage machine semble être une désignation pour laquelle votre employeur s’est déjà limité au

  • Approche,
  • Outils,
  • et un modèle approximatif (de quoi livrer)

d'extraire des connaissances ou connaissances à partir de données à l' aide de l' apprentissage et votre machine de travail sera de concevoir et de mettre en œuvre des algorithmes d'apprentissage machine pour fournir le même .


5

Les ingénieurs en apprentissage machine et les chercheurs en données centrés sur l'ingénierie sont les mêmes, mais tous les chercheurs ne sont pas axés sur l'ingénierie. Il y a environ 5 ans, presque tous les Data Scientist étaient axés sur l'ingénierie, par exemple, ils devaient écrire du code de production. Cependant, de nombreux rôles de Data Scientist occupent la plupart du temps: jouer dans le cahier Jupyter, comprendre les données, créer de jolis graphiques, expliquer aux clients, aux gestionnaires, aux analystes ... Ils ne font pas d’ingénierie. Et je crois que le terme «Machine Learning Engineers» est venu souligner qu'il s'agit d'un poste d'ingénieur.


2

TL; DR: Cela dépend de qui demande.

La réponse à cette question dépend en grande partie des attentes, des connaissances et de l'expérience de quiconque pose la question. Une question analogue avec une réponse aussi floue que celle-ci est:

Quelle est la différence entre un développeur de logiciel, un ingénieur en logiciel et un informaticien?

Pour certaines personnes, en particulier celles qui étudient ou enseignent l'informatique et le génie logiciel, il existe une différence importante et définie entre ces domaines. Mais pour le travailleur RH moyen, le recruteur technique ou le responsable, ce ne sont que des "informaticiens".

J'aime cette citation de Vincent Granville , soulignons les miennes:

Plus tôt dans ma carrière (vers 1990), j'ai travaillé sur la technologie de télédétection d'images, notamment pour identifier des motifs (ou des formes ou des traits, par exemple des lacs) dans des images satellites et pour effectuer une segmentation d'images: à cette époque, mes recherches étaient qualifiées de calcul statistiques, mais les gens qui font exactement la même chose dans le département d’informatique voisin de mon université d’origine, ont appelé leur intelligence artificielle de recherche. Aujourd'hui, on parle de data science ou d'intelligence artificielle, les sous-domaines étant le traitement du signal, la vision par ordinateur ou l'IdO.


1

L'apprentissage automatique est plus spécifique et vous devrez maîtriser les domaines suivants:

  • Caractéristiques vs étiquettes
  • Données de test et données d'entraînement
  • Normalisation des fonctionnalités
  • Structures de données communes (tableaux de tableaux)
  • Sélection de fonctionnalité

0

Je ne suis en désaccord avec aucune des réponses données. Cependant, je pense qu’un rôle de Data Scientist est négligé dans pratiquement toutes les réponses. La plupart de ces réponses disent: "Un ingénieur écrit et déploie simplement le modèle ...". Attends une seconde - il y a beaucoup de travail dans ces deux étapes!

Ma définition de base de Data Scientist est une personne qui applique la méthode scientifique au travail avec des données. Je pense donc constamment aux hypothèses, à la conception de tests, à la collecte de mes données et à l’exécution de ces tests, à la vérification de mes résultats de validation croisée, à l’essai de nouvelles approches, à la transformation de mes données, etc. C'est essentiellement ce qui entre dans "écrit et déploie le modèle "dans un cadre professionnel.

Donc, pour votre réponse, je pense que "le diable est dans les détails" parce que vous ne pouvez pas simplement passer sous silence certaines de ces étapes / termes. En outre, si vous êtes à la recherche d'un emploi, vous devez faire attention, car les "informaticiens" et les "informaticiens" peuvent avoir des échelles salariales très différentes.

Je me suis toujours présenté comme informaticien, je dis aux entreprises que je travaille sur des modèles prédictifs (pas seulement analytiques) et que je ne suis pas un jockey Excel - j'écris dans des langages de programmation (R, Python, etc.). Si vous pouvez trouver un poste qui vous permette de faire les deux, alors vous êtes sur votre chemin pour devenir un informaticien.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.