Przygotowywanie modelu do wdrożenia

Ukończone

Aby uzyskać wartość z modelu uczenia maszynowego, należy go wdrożyć , aby móc generować przewidywania zawsze wtedy, gdy firma ich potrzebuje. Jednak przed wdrożeniem należy podjąć kilka decyzji, które kształtuje sposób działania pozostałej części potoku.

W Firmie Proseware, firmie zajmującej się technologią opieki zdrowotnej, zespół ds. nauki o danych trenuje model klasyfikacji, który przewiduje, czy pacjent może przegapić zbliżającą się wizytę w klinice. Pracownicy kliniki używają tego wskaźnika ryzyka niezgłoszenia się pacjenta na wizytę, aby zdecydować, do których pacjentów zadzwonić z wyprzedzeniem w celu potwierdzenia wizyty, tak aby klinika mogła zapełnić terminy, które w przeciwnym razie pozostałyby niewykorzystane. Model jest wystarczająco dokładny do użycia w środowisku produkcyjnym. Twoim wyzwaniem jest niezawodne obsługiwanie przewidywań w procesie, który zespół może powtarzać za każdym razem, gdy model zostanie ponownie wytrenowany.

Wybieranie typu punktu końcowego

Azure Machine Learning obsługuje dwa typy punktów końcowych, a wybór zależy od sposobu wykorzystania prognozy. Punkt końcowy przetwarzania wsadowego tworzy prognozy dla dużego zbioru rekordów według harmonogramu, co sprawdza się w przypadku cyklicznych zadań oceny. Punkt końcowy online zwraca synchronicznie prognozę z niewielkim opóźnieniem w momencie otrzymania żądania.

System planowania Proseware wywołuje model, gdy tylko pracownicy zarezerwują lub przełożą wizytę, dzięki czemu może on natychmiast oznaczyć wizyty wysokiego ryzyka do wykonania tego samego dnia telefonu potwierdzającego. Ponieważ wynik predykcji musi być dostępny natychmiast, zespół wdraża model do zarządzanego punktu końcowego online.

Rejestrowanie modelu za pomocą biblioteki MLflow

Zespół ds. data science trenuje model ryzyka niestawienia się i pakuje go za pomocą platformy MLflow, otwartoźródłowej platformy do śledzenia eksperymentów uczenia maszynowego i pakowania modeli w standardowym formacie. Gdy skrypt trenowania wywołuje mlflow.autolog(), narzędzie MLflow automatycznie zapisuje model, jego parametry i metryki jako część danych wyjściowych zadania trenowania.

Ponieważ model jest spakowany jako model MLflow, możesz zarejestrować go bezpośrednio z danych wyjściowych zadania bez konieczności samodzielnego pisania niestandardowego skryptu oceniania lub definiowania środowiska. Azure Machine Learning generuje zarówno z metadanych MLflow modelu podczas wdrażania, jak i z funkcji znanej jako wdrożenie bez kodu. Zespół korzystający z niestandardowego formatu modelu, takiego jak plik pickle, musiałby samodzielnie przygotować i utrzymywać ten skrypt scoringowy oraz środowisko.

Wskazówka

Dowiedz się więcej o wdrażaniu modeli MLflow w Azure Machine Learning.

Aby zarejestrować model, wskaż dane wyjściowe ukończonego zadania szkoleniowego lub plik modelu przechowywany w magazynie danych obszaru roboczego. Po zarejestrowaniu model staje się wersjonowanym zasobem w obszarze roboczym, do którego Ty lub zautomatyzowany przepływ pracy możecie odwoływać się według nazwy i wersji podczas tworzenia wdrożenia.

W miarę rozwoju modelu zarejestruj zmienione artefakty jako nowe wersje zamiast zastępować istniejącą wersję. Opis i tagi wersji można zaktualizować, ale inne zmiany wymagają nowej wersji. Zarchiwizuj wersje, które nie są już potrzebne na listach domyślnych. Archiwizowanie nie powoduje usunięcia modelu, a przepływy pracy mogą w razie potrzeby odwoływać się do zarchiwizowanej wersji.

Wskazówka

Dowiedz się więcej o zarządzaniu zarejestrowanymi modelami.

Planowanie powtarzalnego wdrożenia

Ręczne rejestrowanie i wdrażanie modelu sprawdza się przy pierwszym wdrożeniu, ale firma Proseware zakłada, że model przewidujący niestawienie się na wizytę będzie regularnie trenowany ponownie w miarę napływu nowych danych o wizytach. Powtarzanie tych samych ręcznych kroków przy każdej nowej wersji jest czasochłonne i podatne na błędy, dlatego celem zespołu jest zautomatyzowanie rejestracji, wdrażania i testowania za pomocą potoku, czemu poświęcona jest dalsza część tego modułu.