Jakie są ewentualne różnice między „naukowcem danych” a „inżynierem uczenia maszynowego”?
W ciągu ostatniego roku „inżynier uczenia maszynowego” zaczął pojawiać się często na ofertach pracy. Jest to szczególnie zauważalne w San Francisco, co jest zapewne początkiem terminu „naukowiec danych”. W pewnym momencie „badacz danych” wyprzedził „statystykę” i zastanawiam się, czy to samo zaczyna powoli przydarzać się „badaczowi danych”.
Porady dotyczące kariery są wymienione na tej stronie jako nie na temat, ale uważam, że moje pytanie jest bardzo trafne, ponieważ pytam o definicje; Nie pytam o rekomendacje, biorąc pod uwagę moją własną ścieżkę kariery lub osobiste okoliczności, tak jak inne pytania nie na temat.
To pytanie dotyczy tematu, ponieważ może kiedyś mieć znaczące implikacje dla wielu użytkowników tej witryny. W rzeczywistości ta witryna wymiany stosów mogłaby nie istnieć, gdyby nie nastąpiła ewolucja „statystyki” kontra „naukowiec danych”. W tym sensie jest to dość trafne, potencjalnie egzystencjalne pytanie.
źródło
Data scientist
brzmi jak oznaczenie z niewielką jasnością co do faktycznej pracy, amachine learning engineer
jest bardziej szczegółowe. W pierwszym przypadku Twoja firma wyznaczy cel i musisz dowiedzieć się, jakie podejście (uczenie maszynowe, przetwarzanie obrazu, sieć neuronowa, logika rozmyta itp.) Zastosujesz. W drugim przypadku Twoja firma już zawęziła się do tego, jakie podejście należy zastosować.Odpowiedzi:
Dobre pytanie. W rzeczywistości istnieje wiele nieporozumień na ten temat, głównie dlatego, że oba są całkiem nowymi miejscami pracy. Ale jeśli skupimy się na semantyce, prawdziwe znaczenie zadań stanie się jasne.
Wcześniej lepiej porównać jabłka z jabłkami, mówiąc o jednym temacie, czyli danych. Uczenie maszynowe i jego podgatunek (Głębokie uczenie się itp.) To tylko jeden aspekt świata danych, wraz z teoriami statystycznymi, akwizycją danych (DAQ), przetwarzaniem (które może być oparte na uczeniu maszynowym), interpretacja wyników itp.
Zatem dla mojego wyjaśnienia rozszerzę rolę Inżyniera uczenia maszynowego na Inżyniera danych.
Nauka dotyczy eksperymentu, prób i niepowodzeń, budowania teorii, zrozumienia fenomenologicznego. Inżynieria polega na pracy nad tym, co nauka już wie, doskonaleniu jej i przenoszeniu do „prawdziwego świata”.
Pomyśl o zastępstwie: jaka jest różnica między naukowcem jądrowym a inżynierem nuklearnym?
Naukowiec nuklearny to ten, który zna naukę stojącą za atomem, interakcja między nimi, ten, który napisał przepis pozwalający na pozyskiwanie energii z atomów.
Inżynier nuklearny to facet, którego zadaniem jest wzięcie przepisu naukowca i przeniesienie go do prawdziwego świata. Zatem jego wiedza na temat fizyki atomowej jest dość ograniczona, ale on również wie o materiałach, budynkach, ekonomii i wszystkim innym, co jest przydatne do budowy odpowiedniej elektrowni jądrowej.
Wracając do świata danych, oto kolejny przykład: ludzie, którzy opracowali Convolutional Neural Networks (Yann LeCun), to Data Scientist, facet, który wdraża model do rozpoznawania twarzy na zdjęciach, jest inżynierem uczenia maszynowego. Facet odpowiedzialny za cały proces, od gromadzenia danych do rejestracji obrazu .JPG, jest inżynierem danych.
Zasadniczo 90% Data Scientist to w rzeczywistości inżynierowie danych lub inżynierowie uczenia maszynowego, a 90% pozycji otwartych, ponieważ Data Scientist naprawdę potrzebuje inżynierów. Łatwa kontrola: w wywiadzie zostaniesz zapytany o liczbę modeli ML wdrożonych do produkcji, a nie o liczbę artykułów na temat nowych metod, które opublikowałeś.
Zamiast tego, gdy zobaczysz ogłoszenia o „Inżynierze uczenia maszynowego”, oznacza to, że rekruterzy są świadomi różnicy i naprawdę potrzebują kogoś, kto mógłby wprowadzić jakiś model do produkcji.
źródło
Data Engineer
poradnictwa zawodowego.Warunki są mgliste, ponieważ są nowe
Będąc w trakcie poszukiwania pracy w dziedzinie „analizy danych”, myślę, że dzieje się tutaj dwie rzeczy. Po pierwsze, zadania są nowe i nie ma ustalonych definicji różnych terminów, więc nie ma wspólnego uzgodnienia dopasowania terminów z opisami zadań. Porównaj to z „programistą internetowym” lub „programistą back-end”. Są to dwie podobne prace, które mają dość dobrze uzgodnione i odrębne opisy.
Po drugie, wiele osób zajmujących się publikowaniem ofert pracy i wstępnymi rozmowami kwalifikacyjnymi nie wie dobrze, po co zatrudniają. Jest to szczególnie prawdziwe w przypadku małych i średnich firm, które zatrudniają osoby rekrutujące w celu znalezienia kandydatów na nich. To ci pośrednicy publikują opisy ofert pracy w CareerBuilder lub na jakimkolwiek forum. Nie oznacza to, że wielu z nich nie zna się na swoich rzeczach, wielu z nich ma dość dużą wiedzę na temat firm, które reprezentują i wymagań w miejscu pracy. Jednak bez dobrze zdefiniowanych terminów opisujących różne konkretne stanowiska często powstają mgliste tytuły.
Istnieją trzy ogólne działy w tej dziedzinie
Z mojego doświadczenia wynika, że istnieją trzy ogólne podziały „przestrzeni roboczej” w dziedzinie danych.
Pierwszym z nich jest rozwój technik matematycznych i obliczeniowych, które umożliwiają naukę danych. Obejmuje to między innymi badania statystyczne nowych metod uczenia maszynowego, wdrożenie tych metod oraz budowę infrastruktury obliczeniowej w celu zastosowania tych metod w świecie rzeczywistym. Jest to oddział najbardziej oddalony od klienta i najmniejszy. Wiele z tych prac wykonują naukowcy lub badacze w dużych firmach (Google, Facebook itp.). Dotyczy to między innymi tworzenia Google TensorFlow, sieci neuronowych SPSS IBM lub jakiejkolwiek następnej bazy dużych grafów.
Drugi dział wykorzystuje podstawowe narzędzia do tworzenia pakietów specyficznych dla aplikacji w celu przeprowadzenia analizy danych. Ludzie są zatrudniani do korzystania z Pythona lub R lub cokolwiek innego w celu budowania możliwości analizy na pewnym zestawie danych. Z mojego doświadczenia wynika, że wiele z tych prac polega na „praniu danych”, przekształcaniu surowych danych w dowolnej formie w coś użytecznego. Kolejną dużą częścią tej pracy jest bazowanie danych; zastanawianie się, jak przechowywać dane w taki sposób, aby można było uzyskać do nich dostęp w dowolnej osi czasu, w której są potrzebne. To zadanie nie polega na pobieraniu narzędzi, ale na wykorzystaniu istniejących baz danych, statystyk i bibliotek analizy graficznej, aby uzyskać pewne wyniki.
Trzeci dział tworzy analizy na podstawie nowo zorganizowanych i dostępnych danych. Jest to strona najbardziej skierowana do klienta, w zależności od organizacji. Musisz opracować analizę, którą liderzy biznesu mogą wykorzystać do podejmowania decyzji. Byłby to najmniej techniczny z trzech działów; wiele miejsc pracy jest w tym momencie hybrydami między drugim i trzecim dywizją, ponieważ nauka danych jest w powijakach. Ale w przyszłości mocno podejrzewam, że pomiędzy tymi dwoma miejscami pracy będzie bardziej przejrzysty podział, przy czym ludzie zdobędą drugą pracę wymagającą edukacji technicznej, informatycznej lub statystycznej, a ta trzecia praca wymaga jedynie edukacji ogólnej.
Ogólnie rzecz biorąc, wszyscy trzej mogliby określić się jako „naukowcy danych”, ale tylko dwaj pierwsi mogliby się rozsądnie określić jako „inżynier uczenia maszynowego”.
Wniosek
Na razie będziesz musiał dowiedzieć się, co pociąga za sobą każda praca. Moja obecna praca zatrudniła mnie jako „analityka”, aby zajął się uczeniem maszynowym. Ale kiedy zabraliśmy się do pracy, stało się jasne, że baza danych firmy jest nieodpowiednia i teraz prawdopodobnie 90% mojego czasu spędzam na pracy z bazami danych. Moja ekspozycja w zakresie uczenia maszynowego polega teraz na szybkim przeglądaniu różnych pakietów scikit-learn, które wydają się najbardziej odpowiednie, i przesyłaniu plików csv do analityków z trzeciego działu, aby tworzyć prezentacje PowerPoint dla klienta.
Pole jest zmienne. Wiele organizacji próbuje dodać procesy decyzyjne do analizy danych do swoich procesów, ale nie wiedząc dokładnie, co to oznacza. To nie ich wina, trudno jest przewidzieć przyszłość, a konsekwencje nowej technologii nigdy nie są bardzo jasne. Dopóki pole nie zostanie bardziej ustalone, wiele miejsc pracy będzie równie mglistych, jak określenia użyte do ich opisania.
źródło
[Całkowicie osobista opinia]
Kiedy termin „Data Scientist” wyprzedził „Statistician”, bardziej skupia się na brzmieniu chłodnym, niż na jakiejkolwiek większej różnicy. Podobnie termin „głębokie uczenie się”. To tylko sieci neuronowe (będące innym algorytmem uczenia maszynowego) z kilkoma dodatkowymi warstwami. Nikt nie może wyjaśnić, kiedy konkretną sieć neuronową można nazwać DL, a nie ML, ponieważ sama definicja jest rozmyta. Tak więc jest to termin „Data Scientist”.
Jednak w miarę jak firmy przyjmują podejście DevOps do nauki danych, termin ML Engineer ewoluował.
Jakie jest nastawienie DevOps do nauki danych?
To tutaj budujesz model, wdrażasz go, a także spodziewasz się, że utrzymasz go w produkcji. Pomaga to uniknąć dużego tarcia w zespołach oprogramowania.
[PS: DevOps to sposób tworzenia oprogramowania, bardziej jak filozofia. Używając go jako oznaczenia, znów mnie dezorientuję].
Tak więc inżynierowie ML powinni znać niuanse inżynierii systemów, ML i statystyk (oczywiście).
Niejasne uogólnienie to Inżynier danych + Naukowiec = Inżynier ML.
To powiedziawszy, oznaczenia w tej przestrzeni z dnia na dzień stają się niejasne, a termin „statystyka” staje się coraz bardziej odpowiedni (ironia!).
źródło
Może się różnić w zależności od firmy, ale Data Scientist jako nazwa istnieje już od jakiegoś czasu i zwykle służy do wydobywania wiedzy i spostrzeżeń z danych .
Widziałem naukowców zajmujących się danymi
Nauka dane , jednak jest super domena uczenia maszynowego
Inżynier uczenia maszynowego wydaje się być oznaczeniem, w którym Twój pracodawca zawęził się już do
w celu wydobycia wiedzy lub spostrzeżeń z danych za pomocą uczenia maszynowego, a twoja praca będzie polegać na zaprojektowaniu i wdrożeniu algorytmów uczenia maszynowego, aby zapewnić to samo .
źródło
Inżynierowie ds. Uczenia maszynowego i inżynierowie danych są tacy sami, ale nie wszyscy inżynierowie danych są inżynierami. Około 5 lat temu prawie wszyscy Data Scientist byli inżynierami, np. Musieli pisać kod produkcyjny. Teraz jednak istnieje wiele ról Data Scientist, które są w przeważającej części: granie w notatniku Jupyter, rozumienie danych, tworzenie ładnych wykresów, wyjaśnianie klientom, menedżerom, analitykom ... Nie robią żadnej inżynierii. I uważam, że termin Inżynierowie uczenia maszynowego wymyślił, aby podkreślić, że jest to pozycja inżynierska.
źródło
TL; DR: To zależy od tego, kto pyta.
Odpowiedź na to pytanie zależy w dużej mierze od oczekiwań, wiedzy i doświadczenia każdego, kto prosi. Analogiczne pytanie z równie niejasną odpowiedzią to:
Dla niektórych osób, szczególnie osób studiujących lub uczących informatyki i inżynierii oprogramowania, istnieje duża i określona różnica między tymi dziedzinami. Ale dla przeciętnego pracownika HR, rekrutera technicznego lub kierownika są to po prostu „ludzie komputerowi”.
Uwielbiam ten cytat Vincenta Granville'a , podkreśl moje:
źródło
Uczenie maszynowe jest bardziej szczegółowe i w tej dziedzinie musisz opanować następujące kwestie:
źródło
Nie zgadzam się z żadną z udzielonych odpowiedzi. Myślę jednak, że istnieje rola Data Scientist, która jest opisywana praktycznie we wszystkich odpowiedziach tutaj. Większość tych odpowiedzi mówi coś w stylu „Cóż, inżynier po prostu pisze i wdraża model ...”. Chwileczkę - na tych dwóch krokach jest dużo pracy!
Moją podstawową definicją Data Scientist jest ktoś, kto stosuje naukową metodę do pracy z danymi. Dlatego ciągle myślę o hipostezach, projektowaniu testów, gromadzeniu danych i wykonywaniu tych testów, sprawdzaniu wyników krzyżowej weryfikacji, wypróbowywaniu nowych podejść, przekształcaniu danych itp. Itd. Zasadniczo to właśnie wchodzi w skład „po prostu pisze i wdraża model „w profesjonalnym otoczeniu.
Tak więc dla twojej odpowiedzi myślę, że „diabeł tkwi w szczegółach”, ponieważ nie można po prostu przeoczyć niektórych z tych kroków / warunków. Ponadto, jeśli szukasz pracy, powinieneś być ostrożny, ponieważ „inżynier danych” i „naukowiec danych” mogą mieć żałośnie różne skale płac - nie chcesz być naukowcem danych w sprawie pensji inżyniera danych!
Zawsze pracuję jako informatyk, mówię firmom, że pracuję na modelach predykcyjnych (nie tylko analitycznych) i że nie jestem dżokejem Excela - piszę w językach programowania (R, Python itp.). Jeśli potrafisz znaleźć stanowisko, które pozwala ci wykonywać oba te zadania, jesteś na dobrej drodze, aby zostać naukowcem danych.
źródło