Jak wytrenować model AI w chmurze Azure ML SDK krok po kroku
Przejdź do treści i przykładów
Źródło: Link
Źródło: Link
Mind Architect to 180-dniowy program Jana Gajosa: decyzje, nawyki i granice przeniesione do codziennych reakcji. 180 lekcji w 6 modulach, Manfred AI Coach i powtorki rozlozone w czasie.
Mówią, że data science w chmurze to zabawa dla ludzi z doktoratem z informatyki. Że jak nie umiesz pisać skomplikowanego kodu od zera, zostajesz przy klikaniu w panelu No Code i tyle. Nieprawda. Azure Machine Learning SDK to biblioteka Pythona, która pozwala robić dokładnie to samo, co robisz myszką w interfejsie Azure ML Studio - tylko z poziomu notatnika Jupyter. Różnica? Kontrola, powtarzalność i możliwość zautomatyzowania całego procesu, zamiast klikania w te same okienka za każdym razem.
W tym poradniku pokażemy Ci, jak wytrenować i wdrożyć model przewidujący niewydolność serca (tak, ten sam przykładowy zbiór danych, na którym uczy się cała branża) - tym razem robiąc to kodem, nie interfejsem graficznym. Jeśli wcześniej korzystałeś z podejścia Low Code/No Code w Azure ML Studio, ten artykuł pokaże Ci, jak przenieść ten sam proces do notatnika.

Azure Machine Learning SDK to zestaw narzędzi, którego używają data scientist i programiści AI do budowania oraz uruchamiania całych przepływów pracy machine learningowej w usłudze Azure Machine Learning. Możesz z niego korzystać w dowolnym środowisku Pythona: notatniku Jupyter, Visual Studio Code albo swoim ulubionym IDE.
Co konkretnie robi ten SDK? Kilka rzeczy naraz:
Zamiast klikać "Trenuj" w interfejsie i czekać, piszesz kilka linijek kodu, które robią to samo - w sposób, który możesz zapisać, powtórzyć i zautomatyzować. Jeśli interesuje Cię też, jak modele AI przetwarzają dane wewnątrz, to dobry moment, żeby połączyć te dwa tematy - jeden pokazuje, jak trenować model, drugi jak on właściwie "myśli".
Potrzebujesz kilku rzeczy, zanim otworzysz notatnik:
Jeśli nigdy nie miałeś workspace'u w Azure ML, musisz go najpierw założyć w panelu Azure - to jednorazowa czynność, po której cała reszta odbywa się już w notatniku.
Workspace to Twoje centrum dowodzenia - tam trzymasz eksperymenty, dane, modele i logi. Jeśli już go masz, przejdź od razu do kroku 3. Jeśli nie, zakładasz go w panelu Azure, wybierając nazwę, subskrypcję i region.
W workspace'ie wchodzisz w menu "Compute" i tworzysz instancję obliczeniową - to maszyna wirtualna, na której będzie działał Twój notatnik. Bez niej nie uruchomisz ani jednej linijki kodu treningowego, bo notatnik Jupyter musi na czymś fizycznie się wykonywać.
Zanim wytrenujesz cokolwiek, dane muszą trafić do workspace'u. W przypadku przykładu z niewydolnością serca oznacza to zaimportowanie zbioru danych zawierającego parametry kliniczne pacjentów i etykietę informującą, czy doszło do zdarzenia sercowego.

W workspace'ie tworzysz nowy notatnik Jupyter podłączony do instancji obliczeniowej z kroku 2. Tu będzie się działa cała reszta - konfiguracja, trening, wdrożenie.
W notatniku piszesz kod, który łączy się z Twoim workspace'em, tworzy "eksperyment" (czyli kontener na przebiegi treningowe), definiuje klaster obliczeniowy do trenowania i wskazuje, którego zbioru danych użyć. To moment, w którym SDK zaczyna zastępować klikanie kodem. Widać tu, dlaczego warto to opanować: raz napisany kod możesz uruchomić ponownie za tydzień, miesiąc, na innym zbiorze danych, bez odtwarzania kliknięć.
AutoML to funkcja, która przyjmuje parametry konfiguracyjne i dane treningowe, a potem sama iteruje przez różne algorytmy i ustawienia hiperparametrów, żeby znaleźć model dający najlepsze predykcje. Zamiast ręcznie testować dziesięć algorytmów, ustawiasz konfigurację raz, a AutoML robi resztę w tle, na klastrze obliczeniowym, który skonfigurowałeś w poprzednim kroku.
To jest dokładnie ten moment, w którym różnica między klikaniem w interfejsie a pisaniem kodu robi się odczuwalna - tę samą konfigurację AutoML możesz teraz uruchomić na dziesięciu różnych zbiorach danych bez przechodzenia przez formularz od nowa.
Po zakończeniu treningu AutoML zwraca listę przetestowanych modeli posortowaną według jakości. Wybierasz ten najlepszy i zapisujesz go w workspace'ie - to Twój "produkt końcowy" tego etapu.
Zapisany model sam w sobie nic nie robi - musi zostać wdrożony jako usługa webowa, żeby jakakolwiek aplikacja mogła go zapytać o predykcję. Azure ML SDK pozwala zamienić model w endpoint RESTful w kilku linijkach kodu, bez ręcznego konfigurowania serwera.
Na koniec wysyłasz zapytanie do wdrożonego endpointu - podajesz dane pacjenta, a model odsyła predykcję. To moment, w którym cały proces zamyka się w pętlę: dane wejściowe wchodzą, predykcja wychodzi, a Ty masz działającą usługę AI dostępną przez API.
Jeśli zależy Ci na tym, żeby lepiej rozumieć, jak sensownie formułować zapytania do modeli AI (nie tylko treningowych, ale też generatywnych), zajrzyj do poradnika o pisaniu promptów do kodu z AI - zasady precyzyjnego formułowania zapytań przydają się też przy debugowaniu notatników treningowych.
Przykład z niewydolnością serca to demonstracja, ale mechanizm jest uniwersalny. Ten sam schemat - workspace, dane, AutoML, zapis modelu, wdrożenie, konsumpcja endpointu - stosuje się do predykcji rotacji klientów, wykrywania nadużyć finansowych czy prognozowania sprzedaży. Zmienia się tylko zbiór danych i pytanie, na które model ma odpowiadać.
Dla firm w Polsce oznacza to, że nie trzeba budować własnej infrastruktury GPU, żeby trenować modele predykcyjne - cała moc obliczeniowa siedzi w chmurze Azure, a Ty płacisz za realnie zużyty czas obliczeniowy. To rozwiązuje problem, który dotąd blokował mniejsze zespoły: brak dostępu do drogiego sprzętu.
Jeśli zastanawiasz się, czy lepiej zacząć od klasycznych modeli predykcyjnych typu AutoML, czy raczej od dużych modeli językowych do analizy tekstu, przeczytaj też, jak wybrać odpowiednie narzędzie AI do konkretnego zadania - to inny typ problemu niż trenowanie modelu klasyfikacyjnego, ale decyzja "które narzędzie do czego" rządzi się podobną logiką.

Podstawowa znajomość Pythona wystarczy - nie potrzebujesz zaawansowanej wiedzy z inżynierii oprogramowania. Większość kodu w notatniku to konfiguracja parametrów i wywołania gotowych funkcji SDK, a nie pisanie algorytmów od zera.
W podejściu No Code klikasz przez interfejs graficzny krok po kroku. W podejściu SDK piszesz kod, który robi dokładnie to samo, ale w sposób powtarzalny i możliwy do zautomatyzowania na wielu zbiorach danych bez ponownego klikania.
AutoML to funkcja automatycznie testująca różne algorytmy i ustawienia hiperparametrów, żeby znaleźć najlepszy model dla Twoich danych. Zamiast ręcznie sprawdzać dziesiątki kombinacji, konfigurujesz parametry raz, a proces przeszukiwania odbywa się automatycznie na klastrze obliczeniowym.
Tak - po wdrożeniu model staje się usługą webową RESTful, którą może odpytać dowolna aplikacja mająca dostęp do internetu, niezależnie od tego, w jakim języku programowania jest napisana.
Trenowanie modeli w chmurze to jedna droga do oswojenia AI - ale nie musisz zaczynać od kodu. Na darmowym webinarze na żywo pokazuję krok po kroku, jak oszczędzać 10 godzin tygodniowo dzięki AI - bez wiedzy technicznej.
Zapisz się na darmowy webinar →Wolisz uczyć się we własnym tempie? Sprawdź kurs AI Evolution
Cały ten proces - od workspace'u po działający endpoint - sprowadza się do jednej rzeczy: zamiany powtarzalnego klikania na powtarzalny kod. Raz napisany notatnik możesz uruchomić na innym zbiorze danych w kilka minut, czego nie zrobisz równie szybko w interfejsie graficznym.
Jeden krok na start: jeśli masz już konto Azure, załóż workspace i utwórz pierwszy notatnik Jupyter - reszta kroków ma sens dopiero wtedy, gdy masz środowisko, w którym możesz je testować.
Na podstawie: Data Science in the Cloud: The Azure ML SDK way