MLOps Academy · Lekcja

Skalowanie do zera i z powrotem

Oszczędzaj, korzystając z automatycznego skalowania sterowanego żądaniami

Lekcja 2 z 413 kroki

Skalowanie do zera i z powrotem to bezpłatna lekcja MLOps Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej MLOps Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs MLOps Academy zawiera 4 lekcji w sumie.

Bezczynne modele kosztują

Pod modelu, który nie otrzymuje ruchu, nadal zużywa procesor, pamięć i generuje koszty chmurowe. KServe może całkowicie zmniejszyć rozmiar bezczynnej usługi. Funkcja Scale to zero eliminuje to marnotrawstwo. 💸

Dzięki Knative

Tryb bezserwerowy KServe korzysta z Knative, które monitoruje liczbę żądań i dostosowuje liczbę replik. Gdy ruch ustaje, może usunąć wszystkie Pody tej usługi.

Autoskalowanie sterowane żądaniami

Liczba replik zależy od zapotrzebowania, a nie od stałego harmonogramu. Gdy liczba żądań rośnie, KServe dodaje Pody, a gdy maleje — skaluje usługę w dół. Tak działa autoskalowanie request-driven.

Ustawianie minReplicas na zero

Aby umożliwić pełne skalowanie w dół, ustaw minReplicas na 0 w specyfikacji predictor. Przy dozwolonej wartości zero bezczynna usługa nie będzie mieć żadnych działających Podów.

spec:
  predictor:
    minReplicas: 0
    model:
      modelFormat:
        name: sklearn

Docelowa współbieżność

Autoskalowanie dąży do osiągnięcia docelowej liczby żądań obsługiwanych jednocześnie przez jeden Pod. Ta wartość concurrency określa, jak agresywnie KServe dodaje repliki pod obciążeniem.

metadata:
  annotations:
    autoscaling.knative.dev/target: "10"

Ponowne skalowanie w górę

Gdy żądanie trafi do usługi przeskalowanej do zera, Knative uruchamia Pod na żądanie. Ruch zostaje wznowiony, gdy tylko Pod będzie gotowy, więc scale up odbywa się automatycznie.

Koszt zimnego startu

Pierwsze żądanie po zejściu do zera musi zaczekać na uruchomienie Poda i załadowanie modelu. To opóźnienie jest nazywane cold start i stanowi główny kompromis związany ze skalowaniem do zera. ⏱️

Kiedy warto użyć zera

Skalowanie do zera sprawdza się w przypadku obciążeń skokowych lub rzadkich, gdy dominuje czas bezczynności. Przy stałym ruchu, wrażliwym na opóźnienia, koszt cold start może nie być tego wart.

Zamiast tego utrzymuj jeden ciepły Pod

Jeśli zimne starty powodują problemy, ustaw minReplicas na 1, aby jeden Pod zawsze pozostawał aktywny. W zamian za niewielki koszt otrzymujesz gwarancję gotowej do obsługi instancji typu warm.

spec:
  predictor:
    minReplicas: 1

Ustal górny limit

Możesz także ograniczyć wzrost za pomocą maxReplicas, aby skok ruchu nigdy nie przekroczył budżetu klastra. Ustawia to górną granicę autoskalowania.

spec:
  predictor:
    minReplicas: 0
    maxReplicas: 5

Obserwuj skalowanie

Możesz potwierdzić działanie, obserwując pojawianie się i znikanie Podów wraz ze zmianami ruchu. Count Podów spada do zera podczas bezczynności i ponownie rośnie, gdy napływają wywołania.

kubectl get pods -l serving.kserve.io/inferenceservice=sklearn-iris -w

Szybkie sprawdzenie

Jaka jest główna wada umożliwienia usłudze skalowania do zera?

Podsumowanie

Zobaczyłeś, jak minReplicas: 0 pozwala KServe skalować bezczynne modele do zera i ponownie uruchamiać je na żądanie. Ustaw limit za pomocą maxReplicas, a jeśli zimne starty są problemem, utrzymuj jedną ciepłą instancję. Świetne postępy! 🎉

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Skalowanie do zera i z powrotem” jest bezpłatna?

Tak — pełny tekst „Skalowanie do zera i z powrotem” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu MLOps Academy, przejdź na CoddyKit PRO. Kurs MLOps Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Skalowanie do zera i z powrotem”?

Oszczędzaj, korzystając z automatycznego skalowania sterowanego żądaniami Ćwiczysz MLOps Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć MLOps Academy?

Nie wymagamy żadnego doświadczenia. MLOps Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Skalowanie do zera i z powrotem”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji MLOps Academy?

Tak. Każda lekcja MLOps Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Zasób InferenceService
  2. Skalowanie do zera i z powrotem
  3. Pisanie własnego predyktora
  4. KServe a Seldon Core
← Powrót do MLOps Academy