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.
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.