Data Engineer vs Data Analyst vs Data Scientist vs Machine Learning Engineer
Auteur : Raj Gandhi
Source : Data Engineer Vs Data Analyst Vs Data Scientist Vs Machine Learning Engineer
Date : 16/03/2023
Traducteur : Fabrice Aimett
Date : 03/07/2024
Traduction :
Comme nous l'avons déjà compris, le cycle de vie du développement du Machine Learning (ML : apprentissage automatique - MLDLC : Machine Learning Development Life Cycle) et les différentes étapes qu'il implique sont la planification, la collecte, le traitement, l'analyse exploratoire des données (EDA), la modélisation et l'évaluation, le déploiement et l'optimisation.
Si l'on considère le processus, il s'agit d'un parcours très intensif pour mener à bien un projet de Machine Learning. C'est pourquoi les étapes sont généralement réparties entre un groupe de personnes expertes dans leurs étapes respectives et qui aident à créer un projet de ML de manière transparente, sans se tromper d'étape en cours de route.
C'est la raison pour laquelle il existe de nombreux postes disponibles dans le secteur du Machine Learning ou de la Data Science, ce qui a créé une certaine confusion parmi ceux qui souhaitent rejoindre ce secteur.
Data Engineer
Le Data Engineer s'occupe des deux premières étapes du MLDLC (cycle de vie du développement du Machine Learning), à savoir la collecte des données et leur nettoyage/traitement. Il s'occupe principalement des données brutes et de la manière de les rendre aussi propres que possible afin d'en extraire des informations. Le processus peut être visualisé de la même manière que l'extraction de métaux rares dans les mines, les données étant considérées comme de l'or dans le domaine de la data science.
Le Data Engineer comprend et planifie comment et d'où les données nécessaires doivent être extraites.
- la collecte d'informations à partir de sources,
- déplacer et stocker des données d'une base de données à une autre,
- construire des pipelines de données pour le nettoyage.
- gérer des data lakes/entrepôts de données.
Afin d'être prêt pour ce poste, vous devrez probablement avoir :
- une bonne compréhension des structures de données et des algorithmes
- une bonne maîtrise des SGBD
- une bonne compréhension des écosystèmes de Big Data
- une bonne connaissance des plates-formes cloud
- une bonne compréhension des pipelines de données.
Data Analyst
Une fois les données traitées et rassemblées, l'étape suivante du MLDLC consiste à effectuer une analyse exploratoire des données et à comprendre les informations qu'elles contiennent. Ses responsabilités sont généralement les suivantes :
- extraire des données utilisables à partir des données réelles
- analyser les données et en tirer des conclusions
- créer une visualisation des informations
- produire et tenir à jour des rapports
- contribuer à l'optimisation du processus de collecte des données.
Le Data Analyst passe beaucoup de temps à interpréter les données et à déterminer les caractéristiques et les étiquettes qui peuvent être utilisées pour entraîner l'algorithme de la machine. C'est pourquoi il a besoin de beaucoup de compétences pratiques pour identifier correctement les informations cachées :
- esprit statistique
- familiarité avec les langages de programmation, principalement python, R
- solides compétences en communication
- meilleure compréhension des outils de visualisation des données
- expérience des bases de données.
Data Scientist
Un Data Scientist est une personne qui maîtrise les statistiques mieux que n'importe quel ingénieur logiciel et qui est meilleure en ingénierie logicielle que n'importe quel statisticien. Au cœur de la Data Science, les Data Analysts et les Data Scientists font le même travail, à savoir obtenir des informations précieuses à partir des données. Néanmoins, ils diffèrent largement dans leurs rôles et responsabilités.
Les Data Analysts tirent des enseignements des données historiques et répondent à des questions telles que "Quelle est la cause de la baisse des ventes ?", "Quelle est la raison de l'échec d'un produit spécifique ?" et les partagent avec les personnes concernées pour prendre des décisions business en connaissance de cause.
En revanche, les Data Scientists sont des personnes plus tournées vers l'avenir. Ils s'intéressent davantage à l'utilisation de ces informations combinées au Machine Learning, aux hypothèses, aux tests statistiques, aux tests A/B pour le développement ultérieur des produits. Ils sont plus enclins à poser des questions telles que "Un moteur plus puissant dans mon produit génèrera-t-il une demande plus importante ?" ou "Le fait de cibler un marché particulier à pénétrer m'aidera-t-il à faire croître mon entreprise ?
Les Data Scientists utilisent les caractéristiques des données pour former le modèle le mieux adapté afin de prédire correctement l'étiquette des données. Ce sont eux qui comprennent le mieux les différents types d'algorithmes de Machine Learning et qui sont généralement des experts en matière de Data Science.
Machine Learning Engineer
Enfin, vient le ML Engineer (MLE), qui exécute les étapes restantes du MLDLC. Il a une bonne connaissance des algorithmes et des techniques d'optimisation pour tirer le meilleur parti des prédictions, et il est également responsable du déploiement et de la maintenance du modèle dans l'environnement de production.
Les responsabilités du ML Engineer sont donc les suivantes :
- Déployer des modèles de machine learning dans un environnement prêt pour la production
- Mettre à l'échelle et optimiser le modèle pour la production
- Monitorer et maintenir les modèles déployés.
Et les compétences requises pour être un bon ML Engineer :
- Algèbre linéaire, calcul
- Probabilités et statistiques
- Langages de programmation (R/Python/Java/Scala principalement)
- Systèmes distribués
- Modèle de données et évaluation
- Modèles de Machine Learning
- Génie logiciel et conception de systèmes.