Rejestry uczenia maszynowego dla metodyki MLOps
W tym artykule opisano, jak rejestry usługi Azure Machine Learning oddzielają zasoby uczenia maszynowego z obszarów roboczych, umożliwiając korzystanie z metodyki MLOps w środowiskach deweloperskich, testowych i produkcyjnych. Środowiska mogą się różnić w zależności od złożoności systemów IT. Następujące czynniki wpływają na liczbę i typ potrzebnych środowisk:
- Zasady zabezpieczeń i zgodności. W środowiskach produkcyjnych może być konieczne odizolowanie od środowisk deweloperskich pod względem kontroli dostępu, architektury sieci i ujawnienia danych.
- Subskrypcje. Środowiska deweloperskie i środowiska produkcyjne często używają oddzielnych subskrypcji na potrzeby rozliczeń, budżetowania i zarządzania kosztami.
- Regionów. Może być konieczne wdrożenie w różnych regionach świadczenia usługi Azure w celu obsługi wymagań dotyczących opóźnień i nadmiarowości.
W poprzednich scenariuszach można użyć różnych obszarów roboczych usługi Azure Machine Learning na potrzeby programowania, testowania i produkcji. Ta konfiguracja przedstawia następujące potencjalne wyzwania związane z trenowaniem i wdrażaniem modelu:
Może być konieczne trenowanie modelu w obszarze roboczym programowania, ale wdrożenie go w punkcie końcowym w produkcyjnym obszarze roboczym, prawdopodobnie w innej subskrypcji lub regionie platformy Azure. W takim przypadku musisz mieć możliwość śledzenia zadania trenowania. Jeśli na przykład wystąpią problemy z dokładnością lub wydajnością wdrożenia produkcyjnego, musisz przeanalizować metryki, dzienniki, kod, środowisko i dane użyte do trenowania modelu.
Może być konieczne opracowanie potoku trenowania z danymi testowymi lub zanonimizowanymi danymi w obszarze roboczym programowania, ale ponowne trenowanie modelu przy użyciu danych produkcyjnych w obszarze roboczym produkcyjnym. W takim przypadku może być konieczne porównanie metryk trenowania z przykładowymi danymi produkcyjnymi, aby upewnić się, że optymalizacje trenowania działają dobrze z rzeczywistymi danymi.
Metodyka MLOps między obszarami roboczymi z rejestrami
Rejestr, podobnie jak repozytorium Git, rozdziela zasoby uczenia maszynowego z obszarów roboczych i hostuje zasoby w centralnej lokalizacji, udostępniając je wszystkim obszarom roboczym w organizacji. Rejestry umożliwiają przechowywanie i udostępnianie zasobów, takich jak modele, środowiska, składniki i zestawy danych.
Aby promować modele w środowiskach deweloperskich, testowych i produkcyjnych, można zacząć od iteracyjnego opracowywania modelu w środowisku deweloperskim. Jeśli masz dobry model kandydata, możesz opublikować go w rejestrze. Następnie można wdrożyć model z rejestru do punktów końcowych w różnych obszarach roboczych.
Napiwek
Jeśli masz już modele zarejestrowane w obszarze roboczym, możesz podwyższyć poziom modeli do rejestru. Model można również zarejestrować bezpośrednio w rejestrze z danych wyjściowych zadania szkoleniowego.
Aby opracować potok w jednym obszarze roboczym, a następnie uruchomić go w innych obszarach roboczych, zacznij od zarejestrowania składników i środowisk, które tworzą bloki konstrukcyjne potoku. Podczas przesyłania zadania potoku zasoby obliczeniowe i dane szkoleniowe, które są unikatowe dla każdego obszaru roboczego, określają obszar roboczy do uruchomienia.
Na poniższym diagramie przedstawiono podwyższanie poziomu potoku trenowania między obszarami roboczymi eksploracyjnymi i projektowymi, a następnie wytrenowane podwyższanie poziomu modelu do testowania i produkcji.