Myślę że dla wielu Data Scientist’ów będzie to pierwsze kryterium atrakcyjności Sagemakera. Tak, dostarcza on interaktywne środowisko. Oczywista przewagą pracy na zdalnym środowisku (AWS dostarcza maszynę obliczeniową) jest elastyczność – potrzebujesz więcej RAM albo CPU? Zmień typ instancji na mocniejsza i dostaniesz to, czego potrzebujesz.
Jupyter notebook w Sagemaker
W ramach interaktywnego środowiska Sagemaker nie poprzestał na klasycznym Jupyter Notebooks, dostarcza też IDE dla Data Scientist dostępnego z poziomu przeglądarki. AWS lansuje ten produkt jako Sagemaker Studio.
Wspólnymi mianownikiem jest oczywiście Jupyter notebook, a wartością dodaną możliwość współpracy nad notatnikami, uruchomienia terminala, integracja z systemem kontroli wersji oraz graficzny interfejs do śledzenia i porównywania eksperymentów trenowanych modeli, jak również jak przystało na quasi zintegrowane środowisko developerskie – klasyczne drzewo plików po lewej stronie.
Oczywiście nie będzie to taki komfort pracy jak w pełnoprawnym IDE. Nie zapominajmy jednak, że profil DSów jest inny niż profil inżynierów oprogramowania. Sagemaker Studio adresuje ten rozdzwięk dostarczając adekwatne rozwiązanie.
Jupter Notebook to etap przejściowy
Musze dodać trzy grosze odnośnie zastosowania Jupyter Noteooks, bowiem etos w branży odbiega od serca inżynierii oprogramowania.
Docelowo, nie chcemy aby jakikolwiek kod znajdował się w notatniku. Problemy związane z ich wersjonowaniem i testowaniem przekraczają potencjalne korzyści. W dojrzałych projektach ML, Jupyter notebook stanowił przejściowy etap, wspomagający eksperymentowanie i krótką pętlę zwrotnej.
Co więcej, dobrą praktyką jest rozdzielenie środowiska które uruchamia i konfiguruje trenowanie, od samego środowiska na którym trenujemy modele. W zależności od gatunku modeli i skali problemu, będzie on wymagał różnych typów i liczby instancji obliczeniowych. Żeby wykorzystać potencjał dużego korpusu tekstu będziemy potrzebować kilku GPU które będą jednocześnie wykorzystywane w ramach rozproszonego trenowania, natomiast dla tabelarycznego zbioru danych rzędu kilku tysięcy wierszy średnia instancja CPU będzie aż nadto.
Kiedy przekroczy się ten mentalny Rubikon, MLOps nabiera sensu i już nigdy nie będziesz chciał wrócić do trenowania modeli w notatniku.
Interaktywne środowisko to tylko dodatek do sagemakera, jego główną cechą są abstrakcje które “w kilku prostych krokach” pozwalają na uruchomienie trenowania na zdalnej maszynie. To uruchomienie możesz zrobić lokalnego jupyter notebook, Web IDE Sagemakera czy CRON joba na serwerze w Polinezji Francuskiej.
W skrócie, w interaktywnym środowisku będziemy kontrolować, skąd zdalna maszyna, na której trenujemy model, pobiera dane, jaki algorytm używać i gdzie zapisać wyniki.
O tym natomiast, w dalszej części artykuły kiedy będziemy omawiać interfejs Estimator
Udostępnij ten wpis
Dobrnąłeś do końca. Jeśli ten artykuł był dla Ciebie wartościowy i chcesz otrzymywać informacje o kolejnych, to zapraszam Cię do zapisania się do listy mailingowej. Gwarantuję zero spamu.
Radek.