Data scientist vs machine learning engineer


66

Quali sono le eventuali differenze tra un "data scientist" e un "machine learning engineer"?

Nel corso dell'ultimo anno, "l'ingegnere dell'apprendimento automatico" ha iniziato a farsi notare nelle offerte di lavoro. Ciò è particolarmente evidente a San Francisco, che è probabilmente l'origine del termine "scienziato dei dati". A un certo punto "data scientist" ha superato "statistician", e mi chiedo se lo stesso sta lentamente iniziando a succedere a "data scientist".

Il consiglio di carriera è elencato come fuori tema su questo sito, ma considero la mia domanda molto pertinente poiché sto chiedendo delle definizioni; Non sto chiedendo consigli sulla mia traiettoria di carriera o circostanze personali come altre domande fuori tema.

Questa domanda è in argomento perché un giorno potrebbe avere implicazioni significative per molti utenti di questo sito. In effetti, questo sito di scambio di stack potrebbe non esistere se non si fosse verificata l'evoluzione dello "statistico" contro lo "scienziato dei dati". In questo senso, questa è una domanda piuttosto pertinente, potenzialmente esistenziale.


2
Data scientistsembra una designazione con poca chiarezza su quale sarà il lavoro effettivo, mentre machine learning engineerè più specifico. Nel primo caso, la tua azienda ti fornirà un obiettivo e dovrai capire quale approccio (apprendimento automatico, elaborazione delle immagini, rete neurale, logica fuzzy, ecc.) Utilizzeresti. Nel secondo caso, la tua azienda si è già limitata a quale approccio deve essere utilizzato.
gurvinder372,

Correlati: data science vs ricerca operativa . Inoltre, uno scienziato è qualcosa di diverso da un ingegnere . Sfortunatamente, l'industria non sembra preoccuparsene.
Lucertola discreta,

1
Come ha sottolineato qualcun altro, un ingegnere ML è semplicemente qualcuno che mette in produzione i modelli ML. Non ci si aspetta che capisca in profondità i modelli predittivi attuali e la loro matematica sottostante, sono tuttavia tenuti a padroneggiare gli strumenti software che rendono utilizzabili questi modelli. Uno scienziato di dati dovrebbe avere una profonda conoscenza delle statistiche / matematica e ML / AI, ed è spesso la persona che crea gli strumenti utilizzati dagli ingegneri ML. Quindi un ingegnere ML è sostanzialmente più vicino a un ingegnere software specializzato e un DS è più vicino a uno statistico computazionale.
Digio,

Risposte:


55

Buona domanda. In realtà c'è molta confusione su questo argomento, principalmente perché entrambi sono lavori piuttosto nuovi. Ma se ci concentriamo sulla semantica, il vero significato dei lavori diventa chiaro.

Prima è meglio confrontare le mele con le mele, parlando di un singolo argomento, i Dati. Machine Learning e il suo sottogenere (Deep Learning, ecc.) Sono solo un aspetto del Data World, insieme alle teorie statistiche, all'acquisizione dei dati (DAQ), all'elaborazione (che può essere guidata dall'apprendimento automatico), il interpretazione dei risultati, ecc.

Quindi, per la mia spiegazione, estenderò il ruolo di Engine Learning Engineer a quello di Data Engineer.

La scienza riguarda esperimenti, prove e fallimenti, costruzione della teoria, comprensione fenomenologica. L'ingegneria riguarda il lavoro su ciò che la scienza già conosce, perfezionandolo e portandolo nel "mondo reale".

Pensa a un proxy: qual è la differenza tra uno scienziato nucleare e un ingegnere nucleare?

Lo scienziato nucleare è quello che conosce la scienza dietro l'atomo, l'interazione tra loro, quella che ha scritto la ricetta che consente di ottenere energia dagli atomi.

L'ingegnere nucleare è il ragazzo incaricato di prendere la ricetta dello scienziato e portarla nel mondo reale. Quindi la sua conoscenza della fisica atomica è piuttosto limitata, ma conosce anche materiali, edifici, economia e qualsiasi altra cosa utile per costruire una vera centrale nucleare.

Tornando al mondo dei dati, ecco un altro esempio: i ragazzi che hanno sviluppato Convolutional Neural Networks (Yann LeCun) è un Data Scientist, il ragazzo che implementa il modello per riconoscere i volti nelle immagini è un Machine Learning Engineer. Il responsabile dell'intero processo, dall'acquisizione dei dati alla registrazione dell'immagine .JPG, è un tecnico dei dati.

Quindi, in pratica, il 90% dei Data Scientist oggi è in realtà Data Engineer o Machine Learning Engineer e il 90% delle posizioni aperte come Data Scientist ha effettivamente bisogno di Engineer. Un semplice controllo: nell'intervista, ti verrà chiesto su quanti modelli ML hai distribuito in produzione, non su quanti documenti sui nuovi metodi hai pubblicato.

Invece, quando vedi annunci su "Machine Learning Engineer", ciò significa che i recruiter sono ben consapevoli della differenza e hanno davvero bisogno di qualcuno in grado di mettere in produzione un modello.


Non ho mai pensato agli scienziati nucleari contro l'ingegnere, penso che questa sia una risposta completa. È appropriato per la mia esperienza, quando faccio analisi è come quel camice da laboratorio bianco (jupyter e grafici carini). Quando sto "sporcandomi le mani" con il lavoro di produzione ingegneristica (contenitori etl e webapp), trovo costantemente strani casi limite, bug e cattivo odore di codice.
Tony,

Yann LeCun non è uno scienziato informatico? E uno scienziato di dati sarebbe qualcuno che utilizza algoritmi e tecniche di computer preconfezionati (inventati da informatici come Yann LeCun) per eseguire analisi scientifiche dei dati? Allo stesso modo in cui altri scienziati sfruttano i computer nel loro lavoro? Quindi acquisire dati, pulirli, combinare diverse tecniche di analisi (stampa, corrispondenza di modelli, modelli ML, ecc.) Insieme per apprendere verità nascoste all'interno dei dati?
Didier A.

YLC, è davvero un informatico, ma è specializzato in dati. CS è diventato un campo troppo ampio, da cui sono emerse tutte quelle nuove definizioni (come DS). E quindi l'uso di CS non diventa davvero discriminante. Come l'appellativo "fisico" un paio di centinaia di anni fa: oggi quella parola in realtà non definisce il lavoro di qualcuno, a meno che non lo specifichi meglio (es. Particella P., Stato solido P., ecc.). Ma comunque, uno scienziato (CS, DS, qualunque -S) non è qualcuno che si limita a usare le scoperte altrui. Invece, il suo compito è capire e, in questo modo, fare scoperte.
Vincenzo Lavorini,

Potresti gentilmente rispondere a questa domanda riguardo Data Engineerall'orientamento professionale.
stom

In che modo la scienza riguarda la "comprensione fenomenologica"?
ubadub,

10

I termini sono nebulosi perché sono nuovi

Nel mezzo di una ricerca di lavoro nel campo della "scienza dei dati", penso che ci siano due cose da fare qui. Innanzitutto, i lavori sono nuovi e non esistono definizioni definite di vari termini, quindi non si concorda comunemente la corrispondenza dei termini con le descrizioni dei lavori. Confronta questo con "sviluppatore web" o "sviluppatore back-end". Questi sono due lavori simili che hanno ragionevolmente ben concordati e descrizioni distinte.

In secondo luogo, molte persone che svolgono il posto di lavoro e le interviste iniziali non sanno bene per cosa stanno assumendo. Ciò è particolarmente vero nel caso delle piccole e medie imprese che assumono reclutatori per trovare candidati per loro. Sono questi intermediari che pubblicano le descrizioni dei lavori su CareerBuilder o su qualsiasi forum. Questo non vuol dire che molti di loro non conoscono le loro cose, molti di loro sono abbastanza ben informati sulle aziende che rappresentano e sui requisiti del posto di lavoro. Ma, senza termini ben definiti per descrivere diversi lavori specifici, ne risultano spesso titoli di lavoro nebulosi.

Esistono tre divisioni generali del campo

Nella mia esperienza, ci sono tre divisioni generali dello "spazio di lavoro" della scienza dei dati.

Il primo è lo sviluppo delle tecniche matematiche e computazionali che rendono possibile la scienza dei dati. Questo riguarda cose come la ricerca statistica sui nuovi metodi di apprendimento automatico, l'implementazione di questi metodi e la costruzione di infrastrutture computazionali per impiegare questi metodi nel mondo reale. Questa è la divisione più lontana dal cliente e la divisione più piccola. Gran parte di questo lavoro viene svolto da accademici o ricercatori delle grandi aziende (Google, Facebook, ecc.). Questo per cose come lo sviluppo di TensorFlow di Google, le reti neurali SPSS di IBM o qualunque sia il prossimo grande database di grafi.

La seconda divisione sta utilizzando gli strumenti sottostanti per creare pacchetti specifici dell'applicazione per eseguire qualunque analisi di dati debba essere eseguita. Le persone vengono assunte per utilizzare Python o R o altro per sviluppare capacità di analisi su alcuni set di dati. Gran parte di questo lavoro, nella mia esperienza, implica il "lavaggio dei dati", trasformando i dati grezzi in qualsiasi forma in qualcosa di utilizzabile. Un altro grosso pezzo di questo lavoro è la banca dati; capire come archiviare i dati in modo che sia possibile accedervi in ​​qualsiasi timeline in cui sono necessari. Questo lavoro non richiede tanto strumenti, ma utilizza database esistenti, statistiche e librerie di analisi grafiche per produrre alcuni risultati.

La terza divisione sta producendo analisi dai dati appena organizzati e accessibili. Questo è il lato più rivolto al cliente, a seconda della tua organizzazione. Devi produrre analisi che i leader aziendali possono utilizzare per prendere decisioni. Questa sarebbe la meno tecnica delle tre divisioni; molti lavori sono ibridi tra la seconda e la terza divisione a questo punto, poiché la scienza dei dati è agli inizi. Ma in futuro sospetto fortemente che ci sarà una divisione più chiara tra questi due lavori, con le persone che vincono il secondo lavoro che richiede un'istruzione tecnica, informatica o statistica, e questo terzo lavoro necessita solo di un'istruzione generale.

In generale, tutti e tre potrebbero descriversi come "data scientist", ma solo i primi due potrebbero ragionevolmente definirsi "ingegnere dell'apprendimento automatico".

Conclusione

Per il momento, dovrai scoprire tu stesso cosa comporta ogni lavoro. Il mio attuale lavoro mi ha assunto come "analista" per fare alcune cose di apprendimento automatico. Ma quando ci siamo messi al lavoro, è diventato evidente che il database della società era inadeguato, e ora probabilmente il 90% del mio tempo è impiegato a lavorare sui database. La mia esposizione al machine learning ora sta eseguendo rapidamente le cose attraverso qualunque pacchetto scikit-learn sembri più appropriato, e sparando file CSV agli analisti di terza divisione per fare presentazioni powerpoint per il cliente.

Il campo è in evoluzione. Molte organizzazioni stanno provando ad aggiungere il processo decisionale di data science ai loro processi, ma senza sapere chiaramente cosa significhi. Non è colpa loro, è piuttosto difficile prevedere il futuro e le ramificazioni di una nuova tecnologia non sono mai molto chiare. Fino a quando il campo non sarà più definito, molti lavori saranno nebulosi quanto i termini usati per descriverli.


9

[Completamente un'opinione personale]

Quando il termine "Data Scientist" ha superato "Statistician", è più verso il suono freddo, piuttosto che qualsiasi differenza sostanziale. Allo stesso modo, il termine "Deep Learning". Sono solo reti neurali (che è un altro algoritmo di Machine Learning) con un paio di più livelli. Nessuno può spiegare quando una particolare rete neurale può essere chiamata DL, piuttosto che ML, perché la definizione stessa è sfocata. Quindi, è il termine "scienziato dei dati".

Tuttavia, mentre le aziende adottano la mentalità DevOps per la scienza dei dati, il termine ML Engineer si è evoluto.

Qual è la mentalità di DevOps nei confronti della scienza dei dati?

Qui è dove si costruisce il modello, lo si distribuisce e ci si aspetta anche che lo mantenga in produzione. Questo aiuta a evitare molti attriti nei team di software.

[PS: DevOps è un modo di fare software, più come una filosofia. Quindi, usandolo come una designazione, mi confonde di nuovo].

Quindi, gli ingegneri ML dovrebbero conoscere le sfumature di ingegneria dei sistemi, ML e statistiche (ovviamente).

Una vaga generalizzazione sarebbe Data Engineer + Data Scientist = ML Engineer.

Detto questo, le designazioni in questo spazio stanno diventando vaghe giorno per giorno e il termine "Statistico" sta diventando sempre più rilevante (l'ironia!).


2
L'apprendimento automatico è molto più di semplici reti neurali (solo come esempio, considera tutti i tipi di classificatori basati su alberi), quindi non vedere come "Deep Learning è solo apprendimento automatico con un paio di più livelli".
S. Kolassa - Ripristina Monica il

@StephanKolassa Yeah. Essere d'accordo. Non avrei dovuto generalizzarlo troppo :) Grazie per averlo sottolineato.
Dawny33

1
(+1) ma non credo che lo "statistico" diventare più rilevante sia un'ironia, solo ... una transizione prevista? Dove sono i "ricercatori operativi" in questi giorni? ;)
usεr11852 dice Reinstate Monic il

7

Può variare da una società all'altra, ma Data Scientist come designazione è in circolazione da un po 'di tempo ed è generalmente intesa per estrarre conoscenze e intuizioni dai dati .

Ho visto fare scienziati dei dati

  • Scrittura di algoritmi di elaborazione e riconoscimento delle immagini,
  • Progettare e implementare alberi decisionali per un caso d'uso aziendale,
  • O semplicemente progettare e implementare alcuni report o scrivere ETL per trasformazioni di dati.

La scienza dei dati , tuttavia, è un super dominio dell'apprendimento automatico

Impiega tecniche e teorie tratte da molti campi all'interno di vaste aree della matematica, statistica, informatica e informatica, in particolare dai sottodomini di machine learning, classificazione, analisi dei cluster, quantificazione dell'incertezza, scienza computazionale, data mining, database, e visualizzazione .

L'ingegnere del machine learning sembra essere una designazione in cui il tuo datore di lavoro si è già limitato al

  • Approccio,
  • Utensili,
  • e un modello approssimativo (di cosa consegnare)

estrarre conoscenze o approfondimenti dai dati usando l'apprendimento automatico e il tuo lavoro consisterà nel progettare e implementare algoritmi di apprendimento automatico per fornire lo stesso .


5

Gli ingegneri del machine learning e i Data Scientist focalizzati sull'ingegneria sono gli stessi, ma non tutti i Data Scientist sono focalizzati sull'ingegneria. Circa 5 anni fa quasi tutti i Data Scientist erano focalizzati sull'ingegneria, ad esempio dovevano scrivere codice di produzione. Ora, tuttavia, ci sono molti ruoli di Data Scientist che sono per la maggior parte: giocare nel taccuino di Jupyter, comprendere i dati, creare grafici carini, spiegare a clienti, manager, analisti ... Non fanno ingegneria. E credo che il termine Ingegneri dell'apprendimento automatico sia venuto per sottolineare che si tratta di una posizione di ingegneria.


2

TL; DR: dipende da chi lo sta chiedendo.

La risposta a questa domanda dipende in gran parte dalle aspettative, dalla conoscenza e dall'esperienza di chi lo sta chiedendo. Una domanda analoga con una risposta altrettanto confusa è:

Qual è la differenza tra uno sviluppatore di software, un ingegnere informatico e un informatico?

Per alcune persone, in particolare le persone che studiano o insegnano informatica e ingegneria del software, c'è una grande e definita differenza tra questi campi. Ma per il lavoratore medio delle risorse umane, il reclutatore tecnico o il manager, questi sono solo "Computer People".

Adoro questa citazione di Vincent Granville , sottolineo la mia:

All'inizio della mia carriera (circa 1990) ho lavorato sulla tecnologia di telerilevamento delle immagini, tra l'altro per identificare modelli (o forme o caratteristiche, ad esempio laghi) nelle immagini satellitari e per eseguire la segmentazione delle immagini: a quel tempo la mia ricerca era etichettata come computazionale statistiche, ma le persone che hanno fatto esattamente la stessa cosa nel dipartimento di informatica della mia università, hanno chiamato la loro ricerca intelligenza artificiale. Oggi sarebbe chiamato scienza dei dati o intelligenza artificiale, i sottodomini sono elaborazione del segnale, visione artificiale o IoT.


1

L'apprendimento automatico è più specifico e nel campo dovrai padroneggiare quanto segue:

  • Caratteristiche vs etichette
  • Dati di test vs dati di allenamento
  • Normalizzazione delle funzioni
  • Strutture dati comuni (matrici di matrici)
  • Selezione funzionalità

0

Non sono d'accordo con nessuna delle risposte fornite. Tuttavia, ritengo che esista un ruolo di Data Scientist che viene praticamente sorpreso in quasi tutte le risposte qui. La maggior parte di queste risposte affermano che "Beh, un ingegnere scrive e distribuisce il modello ...". Aspetta un attimo - c'è un sacco di lavoro in questi due passi!

La mia definizione principale di Data Scientist è qualcuno che applica il metodo scientifico al lavoro con i dati. Quindi penso costantemente a ipotesi, progettando test, raccogliendo i miei dati ed eseguendo quei test, controllando i miei risultati di convalida incrociata, provando nuovi approcci, trasformando i miei dati, ecc. Ecc. Questo è essenzialmente ciò che va in "solo scrive e distribuisce il modello "in un ambiente professionale.

Quindi, per la tua risposta, penso che "il diavolo è nei dettagli" perché non puoi semplicemente sorvolare alcuni di questi passaggi / termini. Inoltre, se sei alla ricerca di un lavoro, dovresti stare attento perché "ingegnere dei dati" e "scienziato dei dati" possono avere scale di retribuzione terribilmente diverse - non vuoi essere un scienziato di dati con uno stipendio di ingegnere di dati!

Mi dedico sempre a lavorare come scienziato dei dati, dico alle aziende che lavoro su modelli predittivi (non solo analitici) e che non sono un fantino di Excel - scrivo in linguaggi di programmazione (R, Python, ecc.). Se riesci a trovare una posizione che ti permetta di fare entrambe queste cose, allora sei sulla buona strada per diventare uno scienziato di dati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.