Eksplorowanie architektury metodyki MLOps

Ukończone

Jako analityk danych chcesz wytrenować najlepszy model uczenia maszynowego. Aby zaimplementować model, chcesz wdrożyć go w punkcie końcowym i zintegrować go z aplikacją.

W czasie warto ponownie wytrenować model. Na przykład można ponownie wytrenować model, gdy masz więcej danych treningowych.

Ogólnie rzecz biorąc, po wytrenowanym modelu uczenia maszynowego chcesz przygotować model na skalę przedsiębiorstwa. Aby przygotować model i zoperalizować go, chcesz:

  • Przekonwertuj trenowanie modelu na niezawodny i powtarzalny potok.
  • Przetestuj kod i model w środowisku projektowym.
  • Wdrażanie modelu w środowisku produkcyjnym .
  • Automatyzacja kompleksowego procesu.

Konfigurowanie środowisk na potrzeby programowania i produkcji

W metodyce MLOps, podobnie jak w przypadku metodyki DevOps, środowisko odwołuje się do kolekcji zasobów. Te zasoby służą do wdrażania aplikacji lub projektów uczenia maszynowego w celu wdrożenia modelu.

Uwaga

W tym module odwołujemy się do interpretacji środowisk DevOps. Należy pamiętać, że usługa Azure Machine Edukacja używa również terminów środowiska do opisania kolekcji pakietów języka Python potrzebnych do uruchomienia skryptu. Te dwie koncepcje środowisk są niezależne od siebie.

Liczba środowisk, z którym pracujesz, zależy od organizacji. Często istnieją co najmniej dwa środowiska: programowanie lub tworzenie i produkcja lub prod. Ponadto można dodawać środowiska między środowiskiem przejściowym lub przedprodukcyjnym (przedprodowym).

Typowym podejściem jest:

  • Poeksperymentuj z trenowaniem modelu w środowisku projektowym.
  • Przenieś najlepszy model do środowiska przejściowego lub wstępnego, aby wdrożyć i przetestować model.
  • Na koniec wydaj model do środowiska produkcyjnego, aby wdrożyć model, aby użytkownicy końcowi mogli z niego korzystać.

Organizowanie środowisk usługi Azure Machine Edukacja

Podczas implementowania metodyki MLOps i pracy z modelami uczenia maszynowego na dużą skalę najlepszym rozwiązaniem jest praca z oddzielnymi środowiskami dla różnych etapów.

Wyobraź sobie, że twój zespół korzysta ze środowiska deweloperskiego, wstępnie prod i prod. Nie wszyscy członkowie zespołu powinni uzyskać dostęp do wszystkich środowisk. Analitycy danych mogą pracować tylko w środowisku deweloperskim z danymi nieprodukcyjnymi, podczas gdy inżynierowie uczenia maszynowego pracują nad wdrażaniem modelu w środowisku przedprodowym i prod z danymi produkcyjnymi.

Posiadanie oddzielnych środowisk ułatwia kontrolowanie dostępu do zasobów. Każde środowisko można następnie skojarzyć z oddzielnym obszarem roboczym usługi Azure Machine Edukacja.

Diagram of multiple Azure Machine Learning workspaces to have multiple environments.

Na platformie Azure używasz kontroli dostępu opartej na rolach (RBAC), aby zapewnić współpracownikom odpowiedni poziom dostępu do podzbioru zasobów, z którymi muszą pracować.

Alternatywnie można użyć tylko jednego obszaru roboczego usługi Azure Machine Edukacja. Jeśli używasz jednego obszaru roboczego do programowania i produkcji, masz mniejsze obciążenie związane z platformą Azure i mniejsze obciążenie związane z zarządzaniem. Jednak kontrola dostępu oparta na rolach ma zastosowanie zarówno do środowisk deweloperskich, jak i prod, co może oznaczać, że dajesz ludziom zbyt mało lub zbyt dużo dostępu do zasobów.

Napiwek

Dowiedz się więcej o najlepszych rozwiązaniach dotyczących organizowania zasobów usługi Azure Machine Edukacja.

Projektowanie architektury metodyki MLOps

Przeniesienie modelu do środowiska produkcyjnego oznacza konieczność skalowania rozwiązania i współpracy z innymi zespołami. Wraz z innymi analitykami danych, inżynierami danych i zespołem infrastruktury możesz zdecydować się na użycie następującego podejścia:

  • Przechowuj wszystkie dane w usłudze Azure Blob Storage zarządzanej przez inżyniera danych.
  • Zespół infrastruktury tworzy wszystkie niezbędne zasoby platformy Azure, takie jak obszar roboczy usługi Azure Machine Edukacja.
  • Analitycy danych koncentrują się na tym, co robią najlepiej: opracowywanie i trenowanie modelu (pętla wewnętrzna).
  • Inżynierowie uczenia maszynowego wdrażają wytrenowane modele (pętla zewnętrzna).

W związku z tym architektura metodyki MLOps obejmuje następujące części:

Diagram of an architecture showcasing a typical MLOps project.

  1. Konfiguracja: utwórz wszystkie niezbędne zasoby platformy Azure dla rozwiązania.
  2. Programowanie modelu (pętla wewnętrzna): Eksplorowanie i przetwarzanie danych w celu trenowania i oceniania modelu.
  3. Ciągła integracja: pakowanie i rejestrowanie modelu.
  4. Wdrażanie modelu (pętla zewnętrzna): wdrażanie modelu.
  5. Ciągłe wdrażanie: przetestuj model i podwyższ poziom do środowiska produkcyjnego.
  6. Monitorowanie: Monitorowanie wydajności modelu i punktu końcowego.

Podczas pracy z większymi zespołami nie oczekuje się, że będziesz odpowiedzialny za wszystkie części architektury MLOps jako analityk danych. Aby przygotować model dla metodyki MLOps, należy jednak zastanowić się, jak zaprojektować monitorowanie i ponowne trenowanie.