Publié le

Les 4 casquettes d'un Data Scientist Full-Stack

Auteurs

""" Qu'est-ce qu'un Data Scientist Full Stack ?

Lorsque j'ai appris la science des données pour la première fois, l'ingénierie des données et l'ingénierie ML n'étaient pas aussi répandues qu'aujourd'hui. Par conséquent, le rôle d'un data scientist était souvent défini de manière plus large que ce que nous voyons aujourd'hui.

Par exemple, les data scientists peuvent avoir écrit des scripts ETL, configuré des bases de données, réalisé l'ingénierie des fonctionnalités, formé des modèles ML et déployé des modèles en production.

Bien qu'il soit de plus en plus courant de répartir ces tâches entre plusieurs rôles (par exemple, ingénieurs de données, scientifiques de données et ingénieurs ML), de nombreuses situations nécessitent encore des contributeurs maîtrisant tous les aspects du développement de modèles ML. J'appelle ces contributeurs des data scientists full-stack.

Plus précisément, je considère un data scientist full-stack comme quelqu'un qui peut gérer et mettre en œuvre une solution ML de bout en bout. Cela implique la formulation de problèmes commerciaux, la conception de solutions ML, la recherche et la préparation des données pour le développement, la formation de modèles ML et le déploiement de modèles afin que leur valeur puisse être réalisée.

Pourquoi avons-nous besoin d'eux?

Compte tenu de la montée en puissance des rôles spécialisés dans la mise en œuvre des projets de ML, cette notion de SFDD peut sembler dépassée. Du moins, c'est ce que je pensais lors de mon premier rôle en science des données en entreprise.

De nos jours, cependant, l'intérêt d'apprendre la pile technologique complète devient de plus en plus évident pour moi. Tout a commencé l'année dernière lorsque j'ai interviewé les meilleurs pigistes en science des données d'Upwork.

Presque tous ceux à qui j'ai parlé correspondent à la définition complète du data scientist donnée ci-dessus. Ce n'était pas seulement par plaisir et par curiosité, mais par nécessité.

J'ai dépensé 675,92 $ pour parler aux meilleurs scientifiques des données sur Upwork - Voici ce que j'ai appris

Les réalités du travail indépendant en science des données

L'un des principaux enseignements de ces entretiens est que les compétences en science des données (à elles seules) sont limitées dans leur impact potentiel sur l'entreprise. Pour générer de la valeur réelle (pour laquelle un client paiera), il est indispensable de créer des solutions de bout en bout.

Mais cela ne se limite pas au travail indépendant. Voici quelques autres contextes dans lesquels la SFDD peut être bénéfique

Une PME (petite-moyenne entreprise) avec une seule ressource dédiée aux projets IA/ML

Un seul contributeur IA/ML est intégré dans une équipe commerciale

Fondateur qui souhaite créer un produit ML

Contributeur individuel dans une grande entreprise capable d'explorer des projets en dehors des équipes établies

En d'autres termes, les data scientists full-stack sont des généralistes qui peuvent avoir une vue d'ensemble et se plonger dans des aspects spécifiques d'un projet selon les besoins. Cela en fait une ressource précieuse pour toute entreprise cherchant à générer de la valeur via l'IA et l'apprentissage automatique.

4 chapeaux de la FSDS

Bien que FSDS nécessite plusieurs compétences, le rôle peut être décomposé en quatre catégories clés : chef de projet, ingénieur de données, data scientist et ingénieur ML.

Bien sûr, personne ne peut être de classe mondiale dans tous les domaines (probablement). Mais on peut certainement être au-dessus de la moyenne dans tous les domaines (cela prend juste du temps).

Ici, je vais décomposer chacune de ces casquettes en fonction de mon expérience en tant que consultant en science des données et d'entretiens avec 27 professionnels des données/ML.

Chapeau 1 : Chef de projet

Le rôle clé d'un chef de projet (IMO) est de répondre à 3 questions : quoi, pourquoi et comment. En d'autres termes, que construisons-nous ? Pourquoi le construisons-nous ? Comment allons-nous procéder ?

Bien qu'il puisse être facile de sauter ce travail (et de commencer à coder), ne pas mettre correctement le chapeau de PM risque de passer beaucoup de temps (et d'argent) à résoudre le mauvais problème. Ou résoudre le bon problème d'une manière inutilement complexe et coûteuse.

Le point de départ consiste à définir le problème commercial. Dans la plupart des contextes, le data scientist full-stack ne résout pas son problème, cela nécessite donc la capacité de travailler avec les parties prenantes pour découvrir les causes profondes du problème. J'ai discuté de quelques conseils à ce sujet dans un article précédent.

Une fois le problème clairement défini, on peut identifier comment l'IA peut le résoudre. Cela définit l'objectif à partir duquel travailler en arrière pour estimer les coûts, les délais et les exigences du projet.

Compétences fondamentales

Communication et gestion des relations

Diagnostiquer les problèmes et concevoir des solutions

Estimation des délais, des coûts et des exigences du projet

Chapeau 2 : Ingénieur de données

Dans le contexte du SFDS, l'ingénierie des données consiste à rendre les données facilement disponibles pour le développement ou l'inférence de modèles (ou les deux).

Puisqu'il s'agit d'un rôle intrinsèquement axé sur le produit, le rôle de DE peut être plus limité qu'un rôle typique d'ingénierie de données. Plus précisément, cela ne nécessitera probablement pas d'optimiser les architectures de données pour plusieurs cas d'utilisation métier.

Au lieu de cela, l'accent sera mis sur la création de pipelines de données. Cela implique de concevoir et de mettre en œuvre des processus ETL (ou ELT) pour des cas d'utilisation spécifiques.

ETL signifie extraire, transformer et charger. Cela implique d'extraire des données de leurs sources brutes, de les transformer sous une forme significative (par exemple, nettoyage des données, déduplication, gestion des exceptions, ingénierie des fonctionnalités) et de les charger dans une base de données (par exemple, modélisation des données et conception de bases de données).

Un autre domaine important ici est la surveillance des données. Bien que les détails dépendent du cas d'utilisation spécifique, l'objectif ultime est de donner une visibilité continue aux pipelines de données via des systèmes d'alerte, des tableaux de bord, etc.

Compétences fondamentales

Python, SQL, CLI (par exemple bash)

Pipelines de données, ETL/ELT (Airflow, Docker)

Une plateforme cloud (AWS, GCP ou Azure)

Chapeau 3 : Data Scientist

Je définis un data scientist comme quelqu'un qui utilise des données pour découvrir des régularités dans le monde qui peuvent être utilisées pour générer un impact. En pratique, cela se résume souvent à former un modèle d'apprentissage automatique (car les ordinateurs sont bien meilleurs que les humains pour trouver des régularités dans les données).

Pour la plupart des projets, il faut basculer entre ce Hat et les Hats 1 et 2. Lors du développement du modèle, il est courant de rencontrer des informations qui nécessitent de revoir la préparation des données ou la portée du projet.

Par exemple, on pourrait découvrir qu'une exception n'a pas été correctement gérée pour un champ particulier ou que les champs extraits n'ont pas le pouvoir prédictif supposé au début du projet.

Une partie essentielle de la formation du modèle est la validation du modèle. Cela consiste à définir des métriques de performances pouvant être utilisées pour évaluer les modèles. Des points bonus si cette mesure peut être directement traduite en mesure de performance commerciale.

Avec une métrique de performance, on peut expérimenter et évaluer par programme plusieurs configurations de modèle en ajustant, par exemple, les répartitions train-test, les hyperparamètres, le choix du prédicteur et l'approche ML. Si aucune formation de modèle n'est requise, on peut quand même souhaiter comparer les performances de plusieurs modèles pré-entraînés.

Compétences fondamentales

Python (pandas/polaires, sklearn, TensorFlow/PyTorch)

Analyse exploratoire des données (EDA)

Développement de modèles (ingénierie des fonctionnalités, suivi des expériences, réglage des hyperparamètres)

Chapeau 4 : Ingénieur ML

La dernière étape consiste à prendre le modèle ML et à le transformer en une solution ML, c'est-à-dire à intégrer le modèle dans les flux de travail de l'entreprise afin que sa valeur puisse être réalisée.

Un moyen simple de procéder consiste à conteneuriser le modèle et à configurer une API afin que les systèmes externes puissent effectuer des appels d'inférence. Par exemple, l'API pourrait être connectée à un site Web interne permettant aux utilisateurs professionnels d'exécuter un calcul.

Toutefois, certains cas d'utilisation peuvent ne pas être aussi simples et nécessiter des solutions plus sophistiquées. C'est là qu'un outil d'orchestration peut aider à définir des flux de travail complexes. Par exemple, si le modèle nécessite des mises à jour mensuelles à mesure que de nouvelles données deviennent disponibles, l'ensemble du processus de développement du modèle, de l'ETL à la formation en passant par le déploiement, devra peut-être être automatisé.

Un autre domaine important à prendre en compte est la surveillance des modèles. Tout comme la surveillance des données, cela implique de suivre les prédictions et les performances du modèle au fil du temps et de les rendre visibles via des alertes automatisées ou d'autres moyens.

Même si bon nombre de ces processus peuvent s'exécuter sur des machines locales, le déploiement de ces solutions à l'aide d'une plateforme cloud est une pratique courante. Chaque ingénieur ML (MLE) que j'ai interviewé utilise au moins une plate-forme cloud et recommande les déploiements cloud comme compétence de base des MLE.

Compétences fondamentales

Conteneuriser des scripts (Docker), créer des API (FastAPI)

Orchestration - connexion des données et des pipelines ML (AirFlow)

Une plateforme cloud (AWS, GCP ou Azure)

Devenir la Licorne

Même si un data scientist full-stack peut ressembler à une licorne technique, l'objectif (à mon avis) n'est pas de devenir un gourou de tous les aspects de la stack technologique. Il s'agit plutôt d'en apprendre suffisamment pour être dangereux.

En d'autres termes, il ne s'agit pas de tout maîtriser mais d'être capable d'apprendre tout ce dont vous avez besoin pour accomplir votre travail. De ce point de vue, je suppose que la plupart des data scientists deviendront « full stack » avec suffisamment de temps.

À cette fin, voici 3 principes que j'utilise pour accélérer mon développement personnel FSDS.

Avoir une raison d'acquérir de nouvelles compétences - par ex. construire des projets de bout en bout Apprenez juste assez pour être dangereux Gardez les choses aussi simples que possible, c'est-à-dire ne sur-ingénieriez pas les solutions. Et après?

Un data scientist full-stack peut gérer et mettre en œuvre une solution ML de bout en bout. Même si cela peut sembler exagéré dans les contextes où des rôles spécialisés existent pour les étapes clés du développement du modèle, cet ensemble de compétences généralistes reste précieux dans de nombreuses situations.

Dans le cadre de mon parcours pour devenir un data scientist full-stack, les prochains articles de cette série passeront en revue chacun des 4 chapeaux FSDS via la mise en œuvre de bout en bout d'un projet de ML réel.

Dans un esprit d'apprentissage, si vous sentez qu'il manque quelque chose ici, je vous invite à laisser un commentaire (ils sont appréciés) 😁"""

Veuillez noter que la version française est assistée par Ai, des erreurs mineures peuvent donc exister. Les 4 casquettes d'un Data Scientist Full-Stack

Auteur

AiUTOMATING PEOPLE, ABN ASIA a été fondée par des personnes ayant des racines profondes dans le milieu académique, avec une expérience professionnelle aux États-Unis, aux Pays-Bas, en Hongrie, au Japon, en Corée du Sud, à Singapour et au Vietnam. ABN ASIA est l'endroit où l'académie et la technologie rencontrent l'opportunité. Avec nos solutions de pointe et nos services de développement logiciel compétents, nous aidons les entreprises à se développer et à s'imposer sur la scène mondiale. Notre engagement : Plus vite. Mieux. Plus fiable. Dans la plupart des cas : moins cher également.

N'hésitez pas à nous contacter chaque fois que vous avez besoin de services informatiques, de conseils en matière de numérique, de solutions logicielles prêtes à l'emploi, ou si vous souhaitez nous envoyer des demandes de propositions (RFP). Vous pouvez nous contacter à l'adresse [email protected]. Nous sommes prêts à vous aider avec tous vos besoins technologiques.

ABNAsia.org

© ABN ASIA

AbnAsia.org Software