Produkcja

Aby przygotować potoki ML do wdrożenia w środowisku produkcyjnym, musisz wykonać te czynności:

  • Provision compute resources for your pipelines
  • Wdrożenie logowania, monitorowania i alertów

Udostępnianie zasobów obliczeniowych

Uruchamianie potoków ML wymaga zasobów obliczeniowych, takich jak pamięć RAM, procesory i GPU/TPU. Bez odpowiedniej mocy obliczeniowej nie możesz uruchamiać potoków. Dlatego zadbaj o to, aby uzyskać wystarczający limit na potrzeby udostępniania zasobów wymaganych przez potoki do uruchamiania w środowisku produkcyjnym.

  • Potoki obsługi, trenowania i walidacji. Te potoki wymagają TPU, GPU lub CPU. W zależności od przypadku użycia możesz trenować i wdrażać model na różnych urządzeniach lub na tym samym urządzeniu. Na przykład trenowanie może odbywać się na procesorach, a udostępnianie – na układach TPU lub odwrotnie. Zwykle modele trenuje się na większym sprzęcie, a następnie udostępnia na mniejszym.

    Wybierając sprzęt, weź pod uwagę te kwestie:

    • Czy można trenować na tańszym sprzęcie?
    • Czy przejście na inny sprzęt zwiększy wydajność?
    • Jaki jest rozmiar modelu i który sprzęt zoptymalizuje jego wydajność?
    • Jakie urządzenia są idealne w przypadku architektury Twojego modelu?
  • Potoki danych Potoki danych wymagają limitu pamięci RAM i procesora Musisz oszacować, ile limitu potrzebuje Twój potok do wygenerowania zbiorów danych do trenowania i testowania.

Nie musisz przydzielać limitu do każdego potoku. Zamiast tego możesz przydzielić limit, który będą współdzielić potoki. W takich przypadkach sprawdź, czy masz wystarczającą ilość limitu, aby uruchomić wszystkie potoki, i skonfiguruj monitorowanie oraz alerty, aby zapobiec wykorzystaniu całego limitu przez jeden nieprawidłowy potok.

Szacowanie limitu

Aby oszacować limit, którego będziesz potrzebować w przypadku potoków danych i trenowania, znajdź podobne projekty, na których możesz się oprzeć. Aby oszacować limit obsługi, spróbuj przewidzieć liczbę zapytań na sekundę w usłudze. Te metody stanowią punkt odniesienia. Gdy w fazie eksperymentowania zaczniesz tworzyć prototyp rozwiązania, uzyskasz dokładniejszy szacunek limitu.

Podczas szacowania limitu pamiętaj, aby uwzględnić nie tylko limity dla potoków produkcyjnych, ale także dla trwających eksperymentów.

Sprawdź swoją wiedzę

Wybierając sprzęt do obsługi prognoz, zawsze wybieraj sprzęt o większej mocy niż ten, który został użyty do trenowania modelu.
Fałsz
Dobra odpowiedź. Zwykle trenowanie wymaga większego sprzętu niż udostępnianie.
Prawda

Logowanie, monitorowanie i alerty

Logowanie i monitorowanie działania modelu produkcyjnego ma kluczowe znaczenie. Solidna infrastruktura monitorowania potwierdza, że Twoje modele generują wiarygodne i wysokiej jakości prognozy.

Dobre praktyki logowania i monitorowania pomagają proaktywnie identyfikować problemy w potokach ML i łagodzić potencjalny wpływ na biznes. W przypadku wystąpienia problemów alerty powiadamiają członków zespołu, a szczegółowe logi ułatwiają diagnozowanie ich głównej przyczyny.

Wdróż rejestrowanie i monitorowanie, aby wykrywać te problemy z potokami ML:

Potok Monitoruj
Obsługa
  • zniekształcenia lub dryfy w danych używanych do obsługi w porównaniu z danymi treningowymi;
  • Odchylenia lub dryfowanie w prognozach
  • problemy z typem danych, np. brakujące lub uszkodzone wartości;
  • Wykorzystanie limitu
  • Dane o jakości modelu
Dane
  • Odchylenia i dryfy w wartościach cech
  • Odchylenia i dryfy w wartościach etykiet
  • problemy z typem danych, np. brakujące lub uszkodzone wartości;
  • Współczynnik wykorzystania limitu
  • Zbliżasz się do limitu przydziału
Szkolenia
  • Czas trenowania
  • Nieudane trenowanie
  • Wykorzystanie limitu
Weryfikacja
  • Odchylenie lub dryf w testowych zbiorach danych

Warto też skonfigurować logowanie, monitorowanie i alerty w przypadku tych elementów:

  • Czas oczekiwania Ile czasu zajmuje dostarczenie prognozy?
  • Awarie Czy model przestał generować prognozy?

Sprawdź swoją wiedzę

Który z tych powodów jest głównym powodem logowania i monitorowania potoków ML?
Proaktywne wykrywanie problemów, zanim wpłyną one na użytkowników
Śledzenie wykorzystania limitu i zasobów
wykrywać potencjalne problemy z bezpieczeństwem;
Wszystkie powyższe odpowiedzi
Dobra odpowiedź. Logowanie i monitorowanie potoków ML pomaga zapobiegać problemom i diagnozować je, zanim staną się poważne.

Wdrażanie modelu

W przypadku wdrażania modelu warto udokumentować te informacje:

  • Zatwierdzenia wymagane do rozpoczęcia wdrażania i zwiększenia zasięgu.
  • Jak wdrożyć model w środowisku produkcyjnym.
  • Miejsce wdrożenia modelu, np. czy są środowiska testowe lub kanaryjne.
  • Co zrobić, gdy wdrożenie się nie powiedzie.
  • Jak cofnąć model, który jest już w środowisku produkcyjnym.

Po zautomatyzowaniu trenowania modelu warto zautomatyzować walidację i wdrażanie. Automatyzacja wdrożeń rozkłada odpowiedzialność i zmniejsza prawdopodobieństwo, że wdrożenie zostanie ograniczone przez jedną osobę. Zmniejsza też ryzyko popełnienia błędów, zwiększa wydajność i niezawodność oraz umożliwia rotację dyżurów i wsparcie SRE.

Zazwyczaj wdrażasz nowe modele u części użytkowników, aby sprawdzić, czy działają zgodnie z oczekiwaniami. Jeśli tak, kontynuuj wdrażanie. Jeśli nie, cofnij wdrożenie i zacznij diagnozować oraz debugować problemy.