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
- Śledzenie eksperymentów za pomocą MLflow
- Rejestr modeli i wersjonowanie
- Tworzenie powtarzalnych potoków ML
- Monitorowanie wydajności modelu na produkcji