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.
la source
Data scientist
Cela ressemble à une désignation avec peu de clarté sur ce que sera le travail réel, tout enmachine 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.Réponses:
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.
la source
Data Engineer
orientation professionnelle?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.
la source
[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!).
la source
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
La science des données , cependant, est un super-domaine de l'apprentissage automatique
Ingénieur en apprentissage machine semble être une désignation pour laquelle votre employeur s’est déjà limité au
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 .
la source
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.
la source
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:
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:
la source
L'apprentissage automatique est plus spécifique et vous devrez maîtriser les domaines suivants:
la source
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.
la source