Projektowanie pod kątem ponownego trenowania

Ukończone

Podczas przygotowywania modelu do produkcji w rozwiązaniu do operacji uczenia maszynowego (MLOps) należy zaprojektować pod kątem ponownego trenowania.

Ogólnie rzecz biorąc, istnieją dwa podejścia do tego, kiedy chcesz ponownie wytrenować model:

  • Na podstawie harmonogramu: jeśli wiesz, że zawsze potrzebujesz najnowszej wersji modelu, możesz zdecydować się na ponowne trenowanie modelu co tydzień lub co miesiąc na podstawie harmonogramu.
  • Na podstawie metryk: jeśli chcesz ponownie trenować model tylko w razie potrzeby, możesz monitorować wydajność i dryf danych modelu, aby zdecydować, kiedy trzeba ponownie wytrenować model.

W obu przypadkach należy zaprojektować ponowne trenowanie. Aby łatwo ponownie trenować model, należy przygotować kod do automatyzacji.

Przygotowywanie kodu

Najlepiej trenować modele za pomocą skryptów zamiast notesów. Skrypty lepiej nadają się do automatyzacji. Parametry można dodać do skryptu i zmienić parametry wejściowe, takie jak dane treningowe lub wartości hiperparametrów. Podczas sparametryzowania skryptów można w razie potrzeby łatwo ponownie wytrenować model na nowych danych.

Innym ważnym elementem przygotowania kodu jest hostowanie kodu w centralnym repozytorium. Repozytorium odwołuje się do lokalizacji, w której są przechowywane wszystkie odpowiednie pliki projektu. W przypadku projektów uczenia maszynowego repozytoria oparte na usłudze Git są idealne do osiągnięcia kontroli źródła.

Po zastosowaniu kontroli źródła do projektu możesz łatwo współpracować nad projektem. Możesz przypisać kogoś, aby ulepszyć model, aktualizując kod. Będzie można zobaczyć wcześniejsze zmiany i przejrzeć zmiany, zanim zostaną zatwierdzone w repozytorium głównym.

Automatyzowanie kodu

Jeśli chcesz automatycznie wykonać kod, możesz skonfigurować zadania usługi Azure Machine Edukacja do uruchamiania skryptów. W usłudze Azure Machine Edukacja możesz również tworzyć i planować potoki do uruchamiania skryptów.

Jeśli chcesz, aby skrypty działały na podstawie wyzwalacza lub zdarzenia wykonywanego poza usługą Azure Machine Edukacja, możesz chcieć wyzwolić zadanie usługi Azure Machine Edukacja z innego narzędzia.

Dwa narzędzia, które są często używane w projektach MLOps, to Azure DevOps i GitHub (Actions). Oba narzędzia umożliwiają tworzenie potoków automatyzacji i wyzwalanie potoków usługi Azure Machine Edukacja.

Jako analityk danych możesz wolisz pracować z zestawem SDK platformy Azure Edukacja Python. Jednak podczas pracy z narzędziami takimi jak Azure DevOps i GitHub możesz zamiast tego skonfigurować niezbędne zasoby i zadania za pomocą rozszerzenia interfejsu wiersza polecenia usługi Azure Machine Edukacja. Interfejs wiersza polecenia platformy Azure jest przeznaczony do automatyzacji zadań i może być łatwiejszy w użyciu z usługami Azure DevOps i GitHub.

Napiwek

Jeśli chcesz dowiedzieć się więcej na temat metodyki MLOps, zapoznaj się z wprowadzeniem do operacji uczenia maszynowego (MLOps) lub spróbuj utworzyć swój pierwszy potok automatyzacji MLOps za pomocą funkcji GitHub Actions