0Pricing
Learn AI with Python · Lekcja

Rejestr modeli i wersjonowanie

Rejestrowanie modeli, środowiska (Staging/Production), aliasy modeli, wczytywanie według wersji.

Rejestr modeli i wersjonowanie to bezpłatna lekcja Learn AI with Python 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 Learn AI with Python, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Czym jest rejestr modeli

MLflow Model Registry to centralne repozytorium modeli. Śledzi nazwane modele, ich wersje i etapy cyklu życia, dzięki czemu zespół zawsze wie, który model działa na produkcji i jak się tam znalazł.

Dlaczego wersjonowanie ma znaczenie

Modele są nieustannie trenowane ponownie. Wersjonowanie nadaje numer każdemu ponownemu trenowaniu, pozwala natychmiast wycofać nowy model, jeśli działa nieprawidłowo, i wiąże każdą wersję z przebiegiem, który ją utworzył, zapewniając pełną ścieżkę pochodzenia.

Rejestrowanie modelu

mlflow.register_model przyjmuje URI zarejestrowanego modelu i jego nazwę, tworząc w rejestrze wersję 1 (lub kolejną wersję).

import mlflow

result = mlflow.register_model(
    model_uri="runs:/<run_id>/model",
    name="churn_classifier"
)
print("Version:", result.version)

Rejestrowanie podczas logowania

Model można również zarejestrować bezpośrednio podczas jego zapisywania, przekazując registered_model_name. Spowoduje to automatyczne utworzenie nowej wersji przy każdym przebiegu.

mlflow.sklearn.log_model(
    model,
    artifact_path="model",
    registered_model_name="churn_classifier"
)

Etapy cyklu życia

Każda wersja przechodzi przez etapy: None -> Staging (testowanie) -> Production (działanie na produkcji) -> Archived (archiwizacja). Etapy oddzielają informację o tym, „która to wersja”, od informacji o tym, „która wersja obsługuje żądania”, dzięki czemu awansowanie wersji jest zmianą metadanych, a nie ponownym wdrożeniem.

Klasa MlflowClient

Operacje na rejestrze wykonywane programowo przechodzą przez MlflowClient.

from mlflow.tracking import MlflowClient

client = MlflowClient()

Zmiana etapów

transition_model_version_stage awansuje wersję. Należy przenieść ją do Staging na potrzeby kontroli jakości, a po pomyślnej walidacji do Production.

client.transition_model_version_stage(
    name="churn_classifier",
    version=3,
    stage="Production"
)

Ładowanie według etapu

Kod obsługujący model może załadować „dowolną wersję znajdującą się w Production” bez wpisywania na stałe numeru wersji, dzięki czemu awansowanie nowej wersji natychmiast aktualizuje model używany do obsługi.

import mlflow.pyfunc

model = mlflow.pyfunc.load_model(
    "models:/churn_classifier/Production"
)

Aliasy modeli (MLflow 2.x)

MLflow 2.x wprowadził aliasy: zmienne nazwane wskaźniki, takie jak @champion lub @challenger, przypisane do wersji. Są bardziej elastyczne niż stałe nazwy etapów i stanowią obecnie zalecane podejście.

client.set_registered_model_alias(
    name="churn_classifier",
    alias="champion",
    version=3
)

Ładowanie według aliasu

Do modelu można odwołać się za pomocą aliasu i składni @, dzięki czemu ponowne przypisanie aliasu do nowej wersji natychmiast przekierowuje wszystkich użytkowników modelu.

model = mlflow.pyfunc.load_model(
    "models:/churn_classifier@champion"
)

Etapy a aliasy

  • Etapy: stały zestaw (Staging/Production/Archived), prosty cykl życia.
  • Aliasy: dowolna własna nazwa, wiele aliasów dla jednego modelu, rozwiązanie zalecane w MLflow 2.x.

W nowych projektach należy preferować aliasy ze względu na ich elastyczność.

Szybki test

Sprawdzenie wiedzy dotyczącej rejestru modeli.

Podsumowanie

Korzystali Państwo z MLflow Model Registry: register_model tworzy wersje, MlflowClient.transition_model_version_stage przenosi je między etapami Staging/Production, a modele można ładować według etapu lub za pomocą aliasu (MLflow 2.x), dzięki czemu obsługiwany model aktualizuje się bez zmian w kodzie. Następny temat: tworzenie powtarzalnych potoków.

Często zadawane pytania

Czy lekcja „Rejestr modeli i wersjonowanie” jest bezpłatna?

Tak — pełny tekst „Rejestr modeli i wersjonowanie” 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 Learn AI with Python, przejdź na CoddyKit PRO. Kurs Learn AI with Python zawiera 4 lekcji w sumie.

Co nauczysz się w „Rejestr modeli i wersjonowanie”?

Rejestrowanie modeli, środowiska (Staging/Production), aliasy modeli, wczytywanie według wersji. Ćwiczysz Learn AI with Python 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ąć Learn AI with Python?

Nie wymagamy żadnego doświadczenia. Learn AI with Python 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 „Rejestr modeli i wersjonowanie”?

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 Learn AI with Python?

Tak. Każda lekcja Learn AI with Python 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. Śledzenie eksperymentów za pomocą MLflow
  2. Rejestr modeli i wersjonowanie
  3. Tworzenie powtarzalnych potoków ML
  4. Monitorowanie wydajności modelu na produkcji
← Powrót do Learn AI with Python