Produkcyjne systemy ML: wnioskowanie statyczne a dynamiczne

Wywoływanie to proces tworzenia prognoz na podstawie zastosowania wytrenowanego modelu do przykładów bez etykiet. Ogólnie rzecz biorąc, model może wyciągać wnioski na podstawie prognoz na 2 sposoby:

  • Statyczna wykładnia (nazywana też offlineową wykładnią lub wykładnią zbiorczą) oznacza, że model wykonuje prognozy na podstawie wielu nieoznaczonych przykładów, a następnie zapisuje te prognozy w miejscu docelowym.
  • Wnioskowanie dynamiczne (nazywane też wnioskowaniem online lub wnioskowaniem w czasie rzeczywistym) oznacza, że model generuje prognozy tylko na żądanie, na przykład gdy klient poprosi o prognozę.

Wyobraź sobie bardzo złożony model, który potrzebuje godziny na wygenerowanie prognozy. To prawdopodobnie świetna sytuacja do zastosowania wnioskowania statycznego:

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

 

Załóżmy, że ten sam złożony model błędnie używa wnioskowania dynamicznego zamiast wnioskowania statycznego. Jeśli wiele klientów poprosi o prognozy w przybliżeniu w tym samym czasie, większość z nich nie otrzyma prognozy przez kilka godzin lub dni.

Teraz rozważ model, który wyciąga wnioski szybko, np. w 2 milisekundy, używając względnie minimalnych zasobów obliczeniowych. W takim przypadku klienci mogą szybko i skutecznie otrzymywać prognozy dzięki dynamicznemu wnioskowaniu, jak pokazano na rysunku 5.

Rysunek 5.  W przypadku wnioskowania dynamicznego model wyprowadza prognozy na podstawie zapotrzebowania.
Rysunek 5. W przypadku wnioskowania dynamicznego model wytwarza prognozy na żądanie.

 

Wywnioskowanie statyczne

Wnioskowanie statyczne ma pewne zalety i wady.

Zalety

  • Nie musisz się zbytnio martwić kosztem wnioskowania.
  • Możesz weryfikować prognozy przed ich przesłaniem.

Wady:

  • Może wyświetlać tylko zapisane w pamięci podręcznej prognozy, więc system może nie być w stanie wyświetlać prognoz dla nietypowych przykładów danych wejściowych.
  • Czas oczekiwania na aktualizację liczony jest prawdopodobnie w godzinach lub dniach.

Wywnioskowanie dynamiczne

Wyciąganie wniosków dynamicznych ma pewne zalety i wady.

Zalety

  • Może prognozować każdy nowy element, gdy tylko się pojawi, co jest bardzo przydatne w przypadku prognoz z długiego ogona (rzadziej występujących).

Wady:

  • wymagają dużej mocy obliczeniowej i są wrażliwe na opóźnienia; Ta kombinacja może ograniczać złożoność modelu, co oznacza, że konieczne może być stworzenie prostszego modelu, który może przewidywać wyniki szybciej niż złożony model.
  • Potrzeby związane z monitorowaniem są bardziej intensywne.

Ćwiczenia: sprawdź swoją wiedzę

Które 3 z tych 4 stwierdzeń są prawdziwe w przypadku wnioskowania statycznego?
Model musi tworzyć prognozy dla wszystkich możliwych danych wejściowych.
W przypadku danego wejścia model może prognozować szybciej niż w przypadku wnioskowania dynamicznego.
Możesz szybko reagować na zmiany na świecie.
System może weryfikować wywnioskowane prognozy przed ich wyświetleniem.
Które z tych stwierdzeń jest prawdziwe w przypadku wnioskowania dynamicznego?
Możesz podać prognozy dotyczące wszystkich możliwych elementów.
Podczas wykonywania dynamicznego wnioskowania nie musisz się martwić o opóźnienie prognozy (czas opóźnienia w zwrocie prognozy) tak bardzo jak podczas wykonywania wnioskowania statycznego.
Możesz zweryfikować prognozy przed ich użyciem.