Produkcyjne systemy ML: trenowanie statyczne a dynamiczne

Ogólnie rzecz biorąc, model można wytrenować na 2 sposoby:

  • Trenowanie statyczne (również trenowanie offline) oznacza, że trenujesz model, tylko raz. Następnie przez jakiś czas będziesz obsługiwać ten sam wytrenowany model.
  • Trenowanie dynamiczne (również szkolenie online) oznacza, że trenujesz model, w sposób ciągły lub przynajmniej często. Zazwyczaj dostarczasz najwięcej który został niedawno wytrenowany.
Rysunek 2.  Surowe ciasto tworzy trzy identyczne bochenki chleba.
. Rysunek 2. Trenowanie statyczne. Trenowanie raz; obsługują ten sam model kompilacji wiele razy. (grafiki: Pexels i Fancycrave1).

 

Rysunek 3.  Surowe ciasto tworzy nieco inne bochenki chleba
            za każdym razem.
Rysunek 3. Dynamiczne trenowanie. Często trenuj ponownie. serwują najwięcej Niedawno wybudowany model. (grafiki: Pexels i Couleur).

 

Tabela 1. Główne zalety i wady.

Trenowanie statyczne Trenowanie dynamiczne
Zalety Prostsza obsługa. Wystarczy, że utworzysz i przetestujesz model tylko raz. Większa elastyczność. Model dotrzymuje zależności między cechami a etykietami.
Wady Czasami bywają nieaktualne. Jeśli zależność między cechami etykiety zmieniają się w czasie, prognozy modelu pogarszają się. Więcej pracy. Musisz utworzyć, przetestować i udostępnić nowy produkt cały czas rośnie.

Jeśli zbiór danych w rzeczywistości nie zmienia się z upływem czasu, wybierz trenowanie statyczne, ponieważ jest tańsze w tworzeniu i utrzymywaniu niż trenowanie dynamiczne. Zbiory danych zmieniają się z biegiem czasu. Nawet te z funkcjami, które Twoim zdaniem są takich jak poziom morza. Wniosek: nawet w przypadku treści statycznych trenowanie, należy nadal monitorować dane wejściowe pod kątem zmian.

Weźmy na przykład model wytrenowany do prognozowania prawdopodobieństwa, że użytkownicy kupi kwiaty. Ze względu na presję czasu model jest trenowany tylko raz na podstawie zbioru danych o zachowaniach zakupowych kwiatów w lipcu i sierpniu. Model działa dobrze przez kilka miesięcy, ale potem generuje fatalne prognozy w okolicach Walentynek, ponieważ zachowanie użytkowników w tym okresie świątecznym znacząco się zmienia.

Bardziej szczegółowe informacje na temat trenowania statycznego i dynamicznego znajdziesz w Zarządzanie projektami ML Google Cloud.

Ćwiczenia: sprawdź swoją wiedzę

Które 2 z tych stwierdzeń są prawdziwe i trenowanie statyczne (offline)?
Model jest zawsze aktualny wraz z napływaniem nowych danych.
Jeśli trenujesz offline, model nie ma możliwości uwzględniać nowych danych, gdy tylko się pojawią. Może to prowadzić do modelu brak aktualizacji, czy rozkład, na którym chcesz się uczyć zmienia się w czasie.
Możesz zweryfikować model przed zastosowaniem go w środowisku produkcyjnym.
Tak, trenowanie offline daje duże możliwości weryfikacji modelu przed wprowadzeniem modelu w środowisku produkcyjnym.
Trenowanie offline wymaga mniej monitorowania zadań trenowania niż w przypadku szkoleń online.
Ogólnie wymagania dotyczące monitorowania podczas trenowania są bardziej skromne. do trenowania offline, co pozwala uniknąć wielu zadań produkcyjnych zalety i wady dostępnych metodologii. Jednak im częściej trenujesz model, tym większą inwestycję musisz zainwestować w monitorowanie. Za warto też regularnie sprawdzać, czy zmiany w kodzie (i jego zależności) nie wpływają niekorzystnie na jakość modelu.
Dane wejściowe muszą być monitorowane w bardzo niewielkim stopniu. w czasie wnioskowania.
Wbrew pozorom musisz monitorować dane wejściowe podczas udostępniania obecnie się znajdujesz. Jeśli rozkłady wejściowe się zmienią, prognozy mogą stać się zawodne. Wyobraź sobie na przykład model jedynie na danych dotyczących letnich ubrań. pozwalają przewidywać zachowania zakupowe odzieży zimą.
Które jedno z tych stwierdzeń jest prawdziwe dynamicznego (online)?
Model jest zawsze aktualny wraz z napływaniem nowych danych.
To podstawowa zaleta szkoleń online. możesz uniknąć wielu problemów związanych z brakiem aktualizacji, umożliwiając modelowi trenowanie na nowych danych, i przychodzi.
Trzeba jedynie w bardzo niewielkim stopniu monitorować zadania szkoleniowe.
Musisz stale monitorować zadania trenowania, aby mieć pewność, są zdrowe i działają zgodnie z przeznaczeniem. Potrzebujesz też infrastruktury obsługującej, np. możliwości przywrócenia modelu do poprzedniego zrzutu na wypadek, gdyby coś poszło nie tak podczas trenowania, takich jak błędne zadanie lub uszkodzenie danych wejściowych.
Dane wejściowe muszą być monitorowane w bardzo niewielkim stopniu. w czasie wnioskowania.
Podobnie jak w przypadku statycznego modelu offline, ważne jest również oraz monitoruj dane wejściowe modeli aktualizowanych dynamicznie. Jesteś nie są narażone na duże efekty sezonowości, ale nagle, dużych zmian w danych wejściowych (np. w przypadku nadrzędnego źródła danych może nadal powodować niemiarodajne prognozy.