Eksplorowanie architektury rozwiązania

Ukończone

Podczas pracy nad mniejszymi projektami z mniejszymi zespołami warto mieć jeden obszar roboczy usługi Azure Machine Learning. Jeden obszar roboczy może służyć do wszystkich elementów: trenowania, testowania i wdrażania modelu. Jednak w usłudze Proseware chcesz mieć niezawodne i przyszłe rozwiązanie, które można łatwo skalować podczas kompilowania i obsługi wielu modeli, które chcesz zintegrować z naszą aplikacją internetową dla praktyków.

Aby szybko, ale bezpiecznie przenieść model z programowania do środowiska produkcyjnego, uzgodniono architekturę operacji uczenia maszynowego wysokiego poziomu (MLOps).

Diagram architektury operacji uczenia maszynowego.

Uwaga

Diagram jest uproszczoną reprezentacją architektury MLOps. Aby wyświetlić bardziej szczegółową architekturę, zapoznaj się z różnymi przypadkami użycia w akceleratorze rozwiązań MLOps (v2).

Architektura obejmuje następujące elementy:

  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.

Aby pracować z modelami uczenia maszynowego na dużą skalę, firma Proseware chce używać oddzielnych środowisk dla różnych etapów. Posiadanie oddzielnych środowisk ułatwi kontrolowanie dostępu do zasobów. Każde środowisko może być następnie skojarzone z oddzielnym obszarem roboczym usługi Azure Machine Learning.

Uwaga

W tym module odwołujemy się do interpretacji środowisk DevOps. Pamiętaj, że usługa Azure Machine Learning 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. Dowiedz się więcej o środowiskach usługi Azure Machine Learning.

Aby umożliwić testowanie modeli przed wdrożeniem, należy pracować z trzema środowiskami:

Diagram przedstawiający środowisko programistyczne, przejściowe i produkcyjne.

Środowisko programistyczne jest używane dla pętli wewnętrznej:

  1. Analitycy danych szkolą model.
  2. Model jest spakowany i zarejestrowany.

Środowisko przejściowe jest używane w ramach pętli zewnętrznej:

  1. Przetestuj kod i model przy użyciu lintingu i testowania jednostkowego.
  2. Wdróż model, aby przetestować punkt końcowy.

Środowisko produkcyjne jest używane w innej części pętli zewnętrznej:

  1. Wdróż model w produkcyjnym punkcie końcowym. Produkcyjny punkt końcowy jest zintegrowany z aplikacją internetową.
  2. Monitorowanie wydajności modelu i punktu końcowego w celu wyzwolenia ponownego trenowania w razie potrzeby.

Mimo że wiele zadań uczenia maszynowego może i powinno być zautomatyzowanych, warto również zaplanować punkty, w których chcesz uzyskać zatwierdzenie bramy. Gdy model został wytrenowany i spakowany, chcesz powiadomić głównego analityka danych o zweryfikowaniu modelu przed przejściem do środowiska przejściowego.

Podobnie, po przetestowaniu modelu energicznie w środowisku przejściowym chcesz dodać zatwierdzenie z bramą, aby upewnić się, że ktoś z zespołu deweloperów oprogramowania sprawdza, czy wszystkie testy zakończyły się pomyślnie przed wdrożeniem modelu w środowisku produkcyjnym.

Podczas pracy ze środowiskami zatwierdzenie bramowane umożliwia kontrolowanie wdrożeń z jednego środowiska do następnego.