ML w AWS – Sagemaker Studio – IDE w przeglądarce

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.

Jupyter notebook w Sagemaker Studio – interaktywnym środowisku developerskim w przeglądarce.

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.

Inne artykuły

ML w AWS – Sagemaker Autopilot

Automatyczne tworzenie modeli uczenia maszynowego z pełną widocznością w usłudze AWS Sagemaker – korzyści z wygenerowanego Jupyter Notebooka.

ML w AWS – wstęp do usługi Sagemaker

Sagemaker: Wytwarzanie usług ML w chmurze AWS na nowym poziomie Odkryj potężną usługę Sagemaker, która gromadzi wszystkie niezbędne funkcjonalności związane z wytwarzaniem usług uczenia maszynowego w …

Rozwijasz czy produkujesz oprogramowanie?

Opracowywanie przepisów to proces uczenia się metodą prób i błędów. Nie oczekujesz, że pierwsza próba nowego dania wykonana przez szefa kuchni będzie ostatnią. W rzeczywistości …

Lean software development – eliminacja strat

Dowiedz się, jak wyeliminować marnotrawstwo i przyjąć zasady szczupłego rozwoju oprogramowania, aby dostarczyć więcej wartości swoim klientom przy mniejszym nakładzie pracy.

CD4ML: Continuous delivery for machine learning

Zacznijmy od początku: czym jest ciągłe dostarczanie (continuous delivery)? To podejście w wytwarzaniu oprogramowania, w którym wdrożenie nowej wersji jest decyzją biznesową. Ale jak to …