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:

Rysunek 4.  W przypadku wnioskowania statycznego model generuje prognozy,
            które są następnie zapisywane w pamięci podręcznej na serwerze.
Rysunek 4. W przypadku wnioskowania statycznego model generuje prognozy, które są następnie zapisywane w pamięci podręcznej na serwerze.

 

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.

Rysunek 5.  W przypadku wnioskowania dynamicznego model czerpie prognozy oparte na
            popytu.
Rysunek 5. W ramach wnioskowania dynamicznego model szacuje prognozy na żądanie.

 

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.