Produkcyjne systemy ML: wnioskowanie statyczne a dynamiczne
Inferencja to proces
jak tworzyć prognozy przez zastosowanie wytrenowanego modelu,
przykłady bez etykiet.
Ogólnie rzecz biorąc, model może wnioskować o prognozy na jeden z 2 sposobów:
Wnioskowanie statyczne (nazywane też wnioskowaniem offline lub
wnioskowanie zbiorcze) oznacza, że model generuje prognozy na kilku
typowe przykłady bez etykiet
a następnie zapisuje je w pamięci podręcznej.
Wnioskowanie dynamiczne (nazywane też wnioskowaniem online lub wnioskowaniem w czasie rzeczywistym).
wnioskowania) oznacza, że model tworzy prognozy tylko na żądanie,
na przykład gdy klient wysyła żądanie prognozy.
Aby skorzystać z ekstremalnego przykładu, wyobraźmy sobie bardzo złożony model,
Uzyskanie prognozy zajmuje godzinę.
To prawdopodobnie znakomita sytuacja dla wnioskowania statycznego:
Załóżmy, że ten sam złożony model omyłkowo wykorzystuje wnioskowanie dynamiczne, a nie
statyczne wnioskowanie. Jeśli w tym samym czasie wielu klientów prosi o prognozy,
większość z nich nie będzie otrzymywać tej prognozy przez godziny lub dni.
Przyjrzyjmy się modelowi, który szybko wywnioskuje, być może w ciągu 2 milisekund, przy użyciu
względną minimalną ilość zasobów obliczeniowych. W takiej sytuacji klienci mogą
szybko i sprawnie otrzymywać prognozy za pomocą wnioskowania dynamicznego,
sugerowane na rys. 5.
Wnioskowanie statyczne
Wnioskowanie statyczne ma określone zalety i wady.
Zalety
Nie musimy się martwić kosztem wnioskowania.
Może przeprowadzić weryfikację prognoz przed ich przekazaniem.
Wady
Usługa może wyświetlać tylko prognozy z pamięci podręcznej, więc system może nie być
aby móc wyświetlać prognozy dla nietypowych przykładów danych wejściowych.
Opóźnienie aktualizacji jest zwykle mierzone w godzinach lub dniach.
Dynamiczne wnioskowanie
Dynamiczne wnioskowanie ma określone zalety i wady.
Zalety
może wywnioskować prognozę dotyczącą dowolnego nowego elementu, gdy tylko się pojawi,
sprawdza się w przypadku prognoz typu „długi ogon (mniej powszechny)”.
Wady
Dużo mocy obliczeniowej i wrażliwe na opóźnienia. Ta kombinacja może ograniczyć model
złożoność; oznacza to, że trzeba stworzyć prostszy model,
możesz wywnioskować prognozy szybciej niż model złożony.
Monitorowanie jest bardziej intensywne.
Ćwiczenia: sprawdź swoją wiedzę
Które 3 z 4 poniższych stwierdzeń są
ze wnioskowaniem statycznym?
Model musi tworzyć prognozy dla wszystkich możliwych danych wejściowych.
Tak, model musi formułować prognozy dla wszystkich możliwych danych wejściowych i
zapisać w pamięci podręcznej lub tabeli przeglądowej.
Jeśli zestaw elementów prognozowanych przez model jest ograniczony,
Dobrym rozwiązaniem może być wnioskowanie statyczne.
Jednak w przypadku swobodnych danych wejściowych, takich jak zapytania użytkowników, które mają dużo nazwy
nietypowe lub rzadkie przedmioty, twierdzenie statyczne nie pozwoli
na całym świecie.
System może zweryfikować wywnioskowane prognozy przed udostępnieniem
.
Tak, to przydatny aspekt wnioskowania statycznego.
W przypadku danych wejściowych model może szybciej wyświetlać prognozę
niż wnioskowanie dynamiczne.
Tak, wnioskowanie statyczne niemal zawsze umożliwia szybsze udostępnianie prognoz
niż dynamiczne wnioskowanie.
Możesz szybko reagować na zmiany na świecie.
Nie. Jest to wada wnioskowania statycznego.
Które jedno z tych stwierdzeń jest
wnioskowania dynamicznego?
Możesz podać prognozy dla wszystkich możliwych elementów.
Tak, to jest siła wnioskowania dynamicznego. Każde żądanie, które
otrzyma ocenę. Dynamiczne wnioskowanie obsługuje „długi ogon”
rozkłady (zawierające wiele rzadkich przedmiotów), np. przestrzeń wszystkich
możliwe zdania w recenzjach filmów.
Możesz przeprowadzić weryfikację prognoz, zanim zostaną
i ich zastosowania.
Po weryfikacji nie da się przeprowadzić
z wyprzedzeniem, zanim zostaną wykorzystane, ponieważ są dostępne
tworzone na żądanie. Możesz jednak monitorować
zagregowane jakość prognozy, by zapewnić pewien poziom
kontroli jakości, ale alarmy pożarowe będą sygnalizowane dopiero po
ogień już się rozprzestrzenił.
Przeprowadzając wnioskowanie dynamiczne, nie musisz się martwić.
o czasie oczekiwania na prognozowanie (czasie opóźnienia w zwracaniu prognoz),
jak w przypadku wnioskowania statycznego.
Czas oczekiwania na prognozę jest często poważnym problemem podczas wnioskowania dynamicznego.
Niestety nie zawsze możesz rozwiązać problemy z opóźnieniem prognozowania
dodając więcej serwerów wnioskowania.