Rejestry uczenia maszynowego dla metodyki MLOps

W tym artykule opisano, jak Azure Machine Learning rejestry oddzielają zasoby uczenia maszynowego z obszarów roboczych, dzięki czemu można używać 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ść prześledzenia zadania treningowego. 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 szkoleniowych z przykładowymi i produkcyjnymi danymi, aby upewnić się, że optymalizacje trenowania działają dobrze z rzeczywistymi danymi.

MLOps między obszarami roboczymi z użyciem rejestrów

Rejestr, podobnie jak repozytorium Git, rozdziela zasoby uczenia maszynowego z obszarów roboczych i hostuje zasoby w centralnej lokalizacji, dzięki czemu wszystkie obszary robocze w organizacji mogą uzyskiwać do nich dostęp. Rejestry służą do przechowywania i udostępniania zasobów, takich jak modele, środowiska, składniki i zasoby danych.

Aby promować modele za pośrednictwem środowisk programistycznych, testowych i produkcyjnych, zacznij od iteracyjnego opracowywania modelu w środowisku deweloperskim. Gdy masz obiecujący model, opublikuj go w rejestrze. Następnie można wdrożyć model z rejestru do punktów końcowych w różnych obszarach roboczych.

Wskazówka

Jeśli masz już modele zarejestrowane w obszarze roboczym, możesz promować te modele do rejestru. Model można również zarejestrować bezpośrednio w rejestrze z danych wyjściowych zadania szkoleniowego.

Aby utworzyć potok w jednym obszarze roboczym, a następnie uruchomić go w innych obszarach roboczych, zacznij od zarejestrowania składników i środowisk stanowiących elementy składowe potoku. Podczas przesyłania zadania potoku zasób obliczeniowy i dane treningowe, które są unikatowe dla każdego obszaru roboczego, określają, w którym obszarze roboczym zostanie ono uruchomione.

Poniższy diagram przedstawia promowanie potoku trenowania między eksploracyjnymi i deweloperskimi obszarami roboczymi, a następnie promowanie wytrenowanego modelu do środowisk testowego i produkcyjnego.

Diagram użycia potoku i modelu w różnych środowiskach.

Następne kroki