• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak zacząć karierę machine learning engineer?

+2 głosów
1,213 wizyt
pytanie zadane 6 sierpnia 2024 w Rozwój zawodowy, nauka, praca przez MichaelM Gaduła (3,000 p.)
Hej,
mam 16 lat obecnie jestem w 3 klasie liceum. W przyszłości chce zostać machine learning engineer. Proszę o wskazówki na jakie studia było by najlepiej składać papiery. Czy na kierunek typowo skierowany na AI czy ogólną informatykę lub matematykę? Może macie do polecenia jakies uczelnie? Chciałbym nauczyć się tego od podstaw by móc zacząć programować modele od początku, tzn. bez uzywania narzędzi jak tenserflow.

3 odpowiedzi

+5 głosów
odpowiedź 6 sierpnia 2024 przez Benek Szeryf (94,170 p.)
wybrane 11 sierpnia 2024 przez MichaelM
 
Najlepsza

Proszę o wskazówki na jakie studia było by najlepiej składać papiery. Czy na kierunek typowo skierowany na AI czy ogólną informatykę lub matematykę?

W skrócie: wybierz któryś z czołowych polskich uniwersytetów na jednym z kierunków:

  • matematyka
  • informatyka
  • fizyka teoretyczna

Te kierunki pozwolą Ci wyrobić abstrakcyjne myślenie, które od razu da Ci przewagę nad innymi w rozwiązywaniu problemów.

W przyszłości chce zostać machine learning engineer.

Chciałbym nauczyć się tego od podstaw by móc zacząć programować modele od początku, tzn. bez uzywania narzędzi jak tenserflow.

Po pierwsze, te dwa zdania się niejako wykluczają. To prawda, że ML engineer jest bliżej software'u, przygotowuje całą architekturę, skalowanie, pipeline, deployment i monitoring. Ale używa do tego narzędzi sprawdzonych, dostępnych jak właśnie TensorFlow, Keras czy PyTorch (jeśli mówimy o Pythonie).

Po drugie, jakbyś chciał programować modele od początku, to musiałbyś dokładnie rozumieć, co się dzieje pod spodem, np. w sieciach neuronowych. Oczywiście wszyscy z grubsza wiedzą, że sieć się uczy za pomocą propagacji wstecznej, używany jest spadek gradientu, ale spróbuj optymalnie zaimplementować liczenie pochodnych regułą łańcuchową dla np. 10 000 wag, które mogą być rozłożone na wielu warstwach (no i od tego masz właśnie wypisane wyżej frameworki - po co wynajdować koło na nowo?).

Zgadzam się, że fajnie jest rozumieć dokładnie co się dzieje (i ja też tak lubię), ale nie starczy Ci życia, by samemu odtworzyć coś, nad czym przez wiele dekad pracowali matematycy, analitycy, inżynerowie oprogramowania. Ale nic straconego, możesz się skupić na jakimś małym kawałku i się zastanowić, czy nie można go ulepszyć. Ale to już bardziej brzmi jak data science researcher, który potem pisze artykuł naukowy z ulepszonego algorytmu, czy algorytmu rozwiązującego konkretny problem naukowy.

Odpowiadając na pytanie z tematu, zacznij od fundamentów programowania, jak struktury danych i algorytmy (DSA - Data Structures and Algorithms) i ogarnij sobie Pythona, który pasuje tutaj idealnie. Jak poczujesz się pewnie, to zacznij ze statystyką, ML i AI. W sieci jest od groma darmowych materiałów, zacznij od tego, do czego sam chętnie sięgam: StatQuest.

komentarz 7 sierpnia 2024 przez marcin99b Szeryf (86,480 p.)

Po pierwsze, te dwa zdania się niejako wykluczają. To prawda, że ML engineer jest bliżej software'u, przygotowuje całą architekturę, skalowanie, pipeline, deployment i monitoring. Ale używa do tego narzędzi sprawdzonych, dostępnych jak właśnie TensorFlow, Keras czy PyTorch (jeśli mówimy o Pythonie).

Po drugie, jakbyś chciał programować modele od początku, to musiałbyś dokładnie rozumieć, co się dzieje pod spodem, np. w sieciach neuronowych. Oczywiście wszyscy z grubsza wiedzą, że sieć się uczy za pomocą propagacji wstecznej, używany jest spadek gradientu, ale spróbuj optymalnie zaimplementować liczenie pochodnych regułą łańcuchową dla np. 10 000 wag, które mogą być rozłożone na wielu warstwach (no i od tego masz właśnie wypisane wyżej frameworki - po co wynajdować koło na nowo?).

Ja to zrozumiałem bardziej jako "chce zrozumieć co tam się dzieje, zanim zaczne używać gotowca, który robi to za mnie". Na początku łatwo wpaść w pułapke kopiowania z dokumentacji i patrzenia czy coś się poprawiło, bez świadomości co tak właściwie jest liczone, kiedy, dlaczego

komentarz 11 sierpnia 2024 przez MichaelM Gaduła (3,000 p.)
Wsumie chodziło o obie rzeczy, chciałbym robić takie rzeczy od podstaw ale jednocześnie wiem, że czasem trzeba użyć gotowca. Wtedy chciałbym właśnie wiedzieć dokładnie co ten gotowiec robi.
komentarz 11 sierpnia 2024 przez MichaelM Gaduła (3,000 p.)
Dziękuję za odpowiedź! Pythona mam już ogarniętego. Fajnie też, że rozróżniłeś te dwa stanowiska, bo nie wiedziałem o tym. W takim razie skupie się chyba na studiach licencjata pod informatykę póki co.
+4 głosów
odpowiedź 7 sierpnia 2024 przez Ehlert Ekspert (215,230 p.)

To zależy od Twojej zaradności. Jeśli jesteś samodzielny i wytrwały odpuściłbym sobie topowe uczelnie. Studia tam pochłoną Cię w większości, średnio będziesz mieć czas na dodatkową naukę.

Jeśli byłbym na Twoim miejscu:

  • Studia na jakiejś mniej angażującej uczelni 
  • Jeśli studia zaoczne, to szukaj jakiejkolwiek pracy ale w branży - zawsze są to jakieś doświadczenia
  • Nauka tego co wspomniał Benek: podstawy programowania, python, algorytmy, struktury danych, statystyka itp. 

Pamiętaj że JA poszedłbym w tą stronę, nie jesteśmy tacy sami laugh

+1 głos
odpowiedź 7 sierpnia 2024 przez marcin99b Szeryf (86,480 p.)

Pora na moje nie wiem ale sie wypowiem. Nie pracowałem nigdy przy AI, ale w jednej firmie mieliśmy zespół od rozpoznawania rzeczy na zdjęciach, kilka razy miałem okazje pogadać z nimi na imprezach firmowych. Miałem kolege który skończył studia informatyczne z specjalizacją sztuczna inteligencja. Samemu co jakiś czas mam okresy w których wracam do nauki, nie widze sie w tym zawodzie.. chociaż może kiedyś... ale lubie co jakiś czas porobić coś ciekawego, a w tych tematach nigdy nie ma nudy (jak chcesz to możemy pomyśleć o jakiejś wspólnej nauce albo projekcie)

Chciałbym nauczyć się tego od podstaw by móc zacząć programować modele od początku, tzn. bez uzywania narzędzi jak tenserflow

W ostatnim roku dużo ludzi poleca odchodzenie od tensorflow i interesowanie się alternatywami, głównie polecany jest pytorch. Tensorflow jest dalej używany w wielu firmach, ale firma która się nim opiekuje (google) powoli przechodzi na alternatywnego JAX (wiadomo, dalej będą go utrzymywać, ale jeśli twórcy wybierają alternatywne narzędzie to według społeczności zły znak)

Do zrozumienia "co to w ogóle jest" polecam mega popularny film https://youtu.be/aircAruvnKk z wyjaśnieniem w uproszczeniu, co to właściwie są sieci neuronowe

A żeby nauczyć się jak dokładnie działają sieci, ale tak bardziej w praktyce, z użyciem kodu, ale bez bibliotek które robią sporo rzeczy za ciebie - bardzo pomocna jest seria https://www.youtube.com/playlist?list=PL6Yc5OUgcoTn3JYaFcfYZyrQOsHKXYP5z - twórca robi bardzo prostą sieć neuronową do rozpoznawania bardzo prostych elementów na czarnobiałych obrazkach (w którą strone są kreski, czy obrazek przedstawia krzyżyk itp)

Jak już zrozumiesz co to w ogóle jest sieć neuronowa (tamte 2 linki na luzie wystarczą), fajnie byłoby się zabrać za biblioteki, najlepiej tensorflow+pytorch bo są najpopularniejsze, z nastawianiem się na to że pytorch może być liderem w najbliższych latach, ale polecam spróbować obu żeby mieć porównanie. Tensorflow mi osobiście bardziej się podobał na początku, bo poradniki od razu pokazują go w połączeniu z kerasem, czyli taką nakładką ułatwiającą życie - pytorch też ma coś takiego, nazywa się "pytorch lightning", ale nie pokazuje się tego jako standardowy sposób używania pytorcha, bardziej jako dodatek który potrafi pomóc jak już ogarniasz co się dzieje.

No ale dobra, konkrety, według mnie najlepszy kanał na który trafiłem, do czystej nauki narzędzi - https://www.youtube.com/@AladdinPersson
Nie pokazuje fajnych przykładów ani fajnych projektów, ale ma sporo materiałów które prezentują możliwości bibliotek.

Przeciwieństwem jest https://www.youtube.com/@NicholasRenotte który pokazuje co fajnego można zrobić za pomocą tych bibliotek, daje ciekawe pomysły na projekty, filmy są w "youtubowym" dynamicznym stylu... ale zawsze miałem problem żeby nauczyć się czegoś więcej z jego filmów. Ma kilka fajnych kilkugodzinnych serii z których można dostać fajną wiedze, ale to bardziej materiały zachęcające do nauki, niż rzeczywista nauka. Aladdin rzeczywiście uczy.

To teraz pora na połączenie, filmy z robienia rzeczywistego projektu, które przy okazji dużo uczą - https://www.youtube.com/@AndrejKarpathy
Wady - mimo super jakości, cały kanał to 10 filmów edukacyjnych, które co prawda są długie i mega wartościowe, ale rozmiar kanału jest mniejszy niż w przypadku poprzednich 2 kanałów

Proszę o wskazówki na jakie studia było by najlepiej składać papiery. Czy na kierunek typowo skierowany na AI czy ogólną informatykę lub matematykę

Jestem tego samego zdania co Ehlert - dużo więcej nauczysz się samodzielnie. Masz 16 lat czyli wystarczająco dużo czasu, żeby móc myśleć o pracy w zawodzie w okolicy początku studiów, jak ostrzej przyciśniesz to może uda się gdzieś dostać zaraz po maturze (na jakiś staż np). Studia są dobrą opcją jeśli jeszcze nie jesteś gotowy żeby pracować, a chcesz mieć otoczenie które uczy się tego samego, mieć kolegów z którymi możesz przegadać jakieś tematy, wymieniać się doświadczeniami itp. Jeśli się postarasz, jesteś w stanie zmieścić sporą część materiału którą miałbyś na studiach, jeszcze przed pójściem na studia

A i mówiąc o studiach, jeszcze jedna rzecz mi się przypomniała, nasze uczelnie są takie sobie, ale Stanford ma super kanał na youtube i jest tam dużo fajnych, bardzo wartościowych materiałów. Harvard widziałem że też wrzuca ciekawe rzeczy, ale pod kątem nauki wokół AI i ML, Stanford według mnie jest dużo lepszy (mówie tutaj o samych darmowych nagraniach w internecie). Mają tam super eksperta - Andrew Ng.

Jak zaczniesz oglądać rzeczy z linków, to youtube sam zacznie ci proponować dużo kolejnych.

komentarz 11 sierpnia 2024 przez MichaelM Gaduła (3,000 p.)
Dzięki za podrzucenie tyle linków. W szczególności zaciekawiły mnie te z tworzeniem sieci neuronowej do rozpoznawania kształtów. Fajnie też, że wspominasz o Andrew Ng. Słyszałem o nim sporo, nie wiedziałem, że wykłada na Stanford.

Podobne pytania

0 głosów
4 odpowiedzi 5,535 wizyt
pytanie zadane 28 kwietnia 2019 w Python przez Eliro Stary wyjadacz (12,160 p.)
0 głosów
1 odpowiedź 589 wizyt
+1 głos
2 odpowiedzi 899 wizyt
pytanie zadane 24 stycznia 2021 w Algorytmy przez theemperor Użytkownik (710 p.)

93,800 zapytań

142,770 odpowiedzi

323,464 komentarzy

63,421 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...