Quando ho imparato per la prima volta la scienza dei dati (più di 5 anni fa), l'ingegneria dei dati e l'ingegneria ML non erano così diffuse come lo sono oggi. Di conseguenza, il ruolo di un data scientist era spesso definita in modo più ampio di quello che potremmo vedere in questi giorni.
Ad esempio, i data scientist potrebbero aver scritto script ETL, configurato database, eseguito ingegneria di funzionalità, addestrato modelli ML e distribuiti modelli in produzione.
Sebbene stia diventando sempre più comune suddividere queste attività tra più ruoli (ad esempio, ingegneri dei dati, scienziati dei dati e ingegneri di ML), molte situazioni richiedono ancora collaboratori che siano esperto in tutti gli aspetti del ML sviluppo del modello. Chiamo questi contributori data scientist completi.
Più specificamente, vedo a data scientist completo COME qualcuno in grado di gestire e implementare una soluzione ML end-to-end. Ciò comporta la formulazione di problemi aziendali, la progettazione di soluzioni ML, l'approvvigionamento e la preparazione dei dati per lo sviluppo, la formazione di modelli ML e la distribuzione di modelli in modo che il loro valore possa essere realizzato.
Dato l'aumento di ruoli specializzati per l'implementazione di progetti ML, questa nozione di FSDS può sembrare obsoleto. Almeno, questo era quello che pensavo nel mio primo ruolo di data science aziendale.
In questi giorni, tuttavia, l’importanza di apprendere l’intero stack tecnologico sta diventando sempre più evidente per me. Tutto è iniziato l'anno scorso quando I ha intervistato i migliori liberi professionisti della scienza dei dati da Upwork.
Quasi tutti quelli con cui ho parlato rientrano nella definizione di data scientist completo fornita sopra. Questo non era solo per divertimento e curiosità ma dalla necessità.
UN chiave da asporto da queste interviste è stato le competenze di scienza dei dati (da sole) hanno un potenziale impatto limitato sul business. Per generare valore reale (per il quale il cliente pagherà), è necessario creare soluzioni end-to-end.
Ma questo non si limita al freelance. Ecco alcuni altri contesti in cui la FSDS può essere utile
- Una PMI (piccola-media impresa) con solo 1 risorsa dedicata per progetti AI/ML
- Un collaboratore AI/ML solitario è incorporato in un team aziendale
- Fondatore che desidera creare un prodotto ML
- Collaboratore individuale presso una grande azienda che può esplorare progetti al di fuori dei team consolidati
In altre parole, i data scientist full-stack sono generalisti in grado di vedere il quadro generale e approfondire aspetti specifici di un progetto secondo necessità. Ciò li rende una risorsa preziosa per qualsiasi azienda che desideri generare valore tramite l’intelligenza artificiale e l’apprendimento automatico.
Sebbene FSDS richieda diverse competenze, il ruolo può essere suddiviso in quattro aspetti chiave: Responsabile del progetto, Ingegnere dei dati, Scienziato dei datiE Ingegnere ML.
Naturalmente, nessuno può essere di livello mondiale sotto tutti i punti di vista (probabilmente). Ma si può certamente essere sopra la media su tutta la linea (ci vuole solo tempo).
Qui analizzerò ciascuno di questi aspetti in base alla mia esperienza come consulente di scienza dei dati e alle interviste con 27 professionisti di dati/ML.
Il ruolo chiave di un project manager (IMO) è rispondere a 3 domande: Che cosa, PerchéE Come. In altre parole, cosa stiamo costruendo? Perché lo stiamo costruendo? Come lo faremo?
Anche se potrebbe essere facile saltare questo lavoro (e iniziare a scrivere codice), non indossare correttamente il cappello da PM rischia di spendere molto tempo (e denaro) risolvere il problema sbagliato. Oppure risolvere il problema giusto in modo inutilmente complesso e costoso.
Il punto di partenza per questo è definizione del problema aziendale. Nella maggior parte dei contesti, il data scientist full-stack non risolve il problema, quindi ciò richiede la capacità di collaborare con le parti interessate per scoprire le cause profonde del problema. Ho discusso alcuni suggerimenti su questo in a articolo precedente.
Una volta definito chiaramente il problema, è possibile identificare come l’intelligenza artificiale può risolverlo. Ciò stabilisce l'obiettivo da cui lavorare a ritroso per stimare i costi, le tempistiche e i requisiti del progetto.
Competenze chiave
- Comunicazione e gestione delle relazioni
- Diagnosticare problemi e progettare soluzioni
- Stima delle tempistiche, dei costi e dei requisiti del progetto
Nel contesto di FSDS, si occupa dell'ingegneria dei dati rendere i dati prontamente disponibili per lo sviluppo o l'inferenza del modello (o entrambi).
Poiché questo è intrinsecamente incentrato sul prodotto, il cappello DE potrebbe essere più limitato di un tipico ruolo di ingegneria dei dati. Più specificamente, ciò probabilmente non richiederà l'ottimizzazione delle architetture dei dati per diversi casi d'uso aziendali.
Invece il focus sarà su costruire pipeline di dati. Ciò comporta la progettazione e l'implementazione di processi ETL (o ELT) per casi d'uso specifici.
ETL sta per estrarre, trasformare e caricare. Implica estraendo dati dalle loro fonti grezze, trasformando trasformarlo in una forma significativa (ad esempio, pulizia dei dati, deduplicazione, gestione delle eccezioni, ingegneria delle funzionalità) e caricamento inserirlo in un database (ad esempio, modellazione dei dati e progettazione di database).
Un'altra area importante qui è monitoraggio dei dati. Anche se i dettagli dipenderanno dal caso d'uso specifico, l'obiettivo finale è fornire visibilità continua alle pipeline di dati tramite sistemi di avviso, dashboard o simili.
Competenze chiave
- Python, SQL, CLI (ad esempio bash)
- Condutture di dati, ETL/ELT (Airflow, Docker)
- Una piattaforma cloud (AWS, GCP o Azure)
Definisco un data scientist come qualcuno che utilizza i dati per scoprire regolarità nel mondo che possono essere utilizzate per determinare un impatto. In pratica, questo spesso si riduce all’addestramento di un modello di apprendimento automatico (perché i computer sono molto più bravi degli esseri umani nel trovare regolarità nei dati).
Per la maggior parte dei progetti, è necessario passare da questo cappello ai cappelli 1 e 2. Durante lo sviluppo del modello, è comune imbattersi in approfondimenti che richiedono la rivisitazione della preparazione dei dati o dell'ambito del progetto.
Ad esempio, si potrebbe scoprire che un'eccezione non è stata gestita correttamente per un particolare campo o che i campi estratti non hanno il potere predittivo ipotizzato all'inizio del progetto.
Una parte essenziale della formazione del modello è validazione del modello. Ciò consiste nella definizione di parametri prestazionali che possono essere utilizzati per valutare i modelli. Punti bonus se questa metrica può essere tradotta direttamente in una metrica delle prestazioni aziendali.
Con una metrica delle prestazioni, è possibile farlo a livello di programmazione sperimentare e valutare diverse configurazioni di modello regolando, ad esempio, le suddivisioni train-test, gli iperparametri, la scelta dei predittori e l'approccio ML. Se non è richiesto alcun addestramento del modello, è comunque possibile confrontare le prestazioni di più modelli preaddestrati.
Competenze chiave
- Python (panda/polari, sklearn, TensorFlow/PyTorch)
- Analisi esplorativa dei dati (EDA)
- Sviluppo del modello (ingegneria delle funzionalità, monitoraggio degli esperimenti, ottimizzazione degli iperparametri)
L'obiettivo finale consiste nel prendere il modello ML e trasformarlo in una soluzione ML, ovvero integrare il modello nei flussi di lavoro aziendali così il suo valore può essere realizzato.
Un modo semplice per farlo è containerizzare il modello e impostare un'API in modo che i sistemi esterni possano effettuare chiamate di inferenza. Ad esempio, l'API potrebbe essere collegata a un sito Web interno che consente agli utenti aziendali di eseguire un calcolo.
Alcuni casi d’uso, tuttavia, potrebbero non essere così semplici e richiedere soluzioni più sofisticate. Questo è dove un strumento di orchestrazione può aiutare a definire flussi di lavoro complessi. Ad esempio, se il modello richiede aggiornamenti mensili non appena diventano disponibili nuovi dati, potrebbe essere necessario automatizzare l'intero processo di sviluppo del modello, dall'ETL alla formazione fino alla distribuzione.
Un'altra importante area di considerazione è monitoraggio del modello. Come il monitoraggio dei dati, ciò implica il monitoraggio delle previsioni e delle prestazioni del modello nel tempo e la loro visibilità tramite avvisi automatizzati o altri mezzi.
Sebbene molti di questi processi possano essere eseguiti su macchine locali, la distribuzione di queste soluzioni utilizzando una piattaforma cloud è una pratica comune. Ogni ingegnere ML (MLE) che ho intervistato utilizza almeno 1 piattaforma cloud e consiglia le implementazioni cloud come competenza principale degli MLE.
Competenze chiave
- Containerizza script (Docker), crea API (FastAPI)
- Orchestrazione: connessione di dati e pipeline ML (AirFlow)
- Una piattaforma cloud (AWS, GCP o Azure)
Sebbene un data scientist full-stack possa sembrare un unicorno tecnico, il punto (IMO) non è diventare un guru di tutti gli aspetti dello stack tecnologico. Piuttosto, è quello imparare abbastanza per essere pericoloso.
In altre parole, non si tratta di padroneggiare tutto ma di saperlo fare impara tutto ciò di cui hai bisogno per portare a termine il lavoro. Da questo punto di vista, suppongo che la maggior parte dei data scientist diventerà “full stack” con il tempo sufficiente.
A tal fine, ecco 3 principi Lo sto utilizzando per accelerare il mio sviluppo personale di FSDS.
- Avere un motivo per apprendere nuove competenze: ad esempio, creare progetti end-to-end
- Basta imparare abbastanza per esserlo pericoloso
- Mantieni le cose il più semplici possibile: cioè non sovraccaricare le soluzioni
Un data scientist full-stack può gestire e implementare una soluzione ML end-to-end. Sebbene ciò possa sembrare eccessivo per contesti in cui esistono ruoli specializzati per le fasi chiave dello sviluppo del modello, questo insieme di competenze generaliste è ancora prezioso in molte situazioni.
Nell'ambito del mio percorso per diventare un data scientist completo, prossimi articoli di questa serie esaminerà ciascuno dei 4 cappelli FSDS attraverso l'implementazione end-to-end di un progetto ML nel mondo reale.
Nello spirito di apprendimento, se ritieni che manchi qualcosa qui, ti invito a lasciare un commento (sono apprezzati) 😁
Fonte: towardsdatascience.com