0Pricing
Learn AI with Python · Lekcja

Tworzenie powtarzalnych potoków ML

sklearn Pipeline, utrwalanie potoków za pomocą joblib, parametryzowane uruchomienia z plikami konfiguracyjnymi.

Tworzenie powtarzalnych potoków ML to bezpłatna lekcja Learn AI with Python na CoddyKit. To lekcja 3 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.

Dlaczego powtarzalność jest ważna

Wynik, którego nie można odtworzyć, nie jest nauką, tylko przypadkiem. Powtarzalne potoki gwarantują, że te same dane i konfiguracja zawsze doprowadzą do powstania tego samego modelu, co ma kluczowe znaczenie podczas debugowania, audytów i pracy zespołowej.

Potok sklearn

Obiekt Pipeline biblioteki scikit-learn łączy przetwarzanie wstępne z modelem, dzięki czemu podczas wnioskowania stosowane są dokładnie te same transformacje co podczas trenowania, eliminując rozbieżność między trenowaniem a obsługą modelu.

from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier

pipe = Pipeline([
    ("scaler", StandardScaler()),
    ("model", RandomForestClassifier(n_estimators=200))
])
pipe.fit(X_train, y_train)

Zapisywanie potoku jako artefaktu

Ponieważ cały potok jest jednym obiektem, można zapisać go jako pojedynczy artefakt i załadować w dowolnym miejscu, mając pewność, że przetwarzanie wstępne jest przechowywane razem z modelem.

joblib.dump i load

joblib wydajnie serializuje obiekty scikit-learn (lepiej obsługuje duże tablice NumPy niż pickle). Należy zapisać wytrenowany potok, a następnie załadować go ponownie na potrzeby obsługi modelu.

import joblib

joblib.dump(pipe, "pipeline.joblib")        # save
loaded = joblib.load("pipeline.joblib")    # reload
preds = loaded.predict(X_new)

Konfiguracja hiperparametrów w YAML

Wartości zapisane bezpośrednio w kodzie ukrywają informacje o ustawieniach użytych w przebiegu. Należy umieścić wszystkie hiperparametry w pliku YAML, aby każde ustawienie było jawne, objęte kontrolą wersji i możliwe do zmiany bez edytowania kodu.

# config.yaml
model:
  n_estimators: 200
  max_depth: 8
data:
  test_size: 0.2
  random_state: 42

Ładowanie konfiguracji

Plik YAML należy odczytać raz podczas uruchamiania i przekazać jego wartości do potoku, aby jeden plik sterował całym przebiegiem.

import yaml

with open("config.yaml") as f:
    cfg = yaml.safe_load(f)

model = RandomForestClassifier(
    n_estimators=cfg["model"]["n_estimators"],
    max_depth=cfg["model"]["max_depth"]
)

Ustalanie ziaren losowości

Powtarzalność wymaga również ustalenia ziaren losowości we wszystkich miejscach: przy podziale na zbiory treningowy i testowy, inicjalizacji modelu oraz każdym tasowaniu. Ziarno należy przechowywać w konfiguracji YAML, aby było jawne i spójne.

from sklearn.model_selection import train_test_split

X_tr, X_te, y_tr, y_te = train_test_split(
    X, y, test_size=cfg["data"]["test_size"],
    random_state=cfg["data"]["random_state"]
)

Makefile do powtarzalnych kroków

Makefile zamienia każdy etap potoku w nazwany cel, dzięki czemu można uruchomić make train zamiast zapamiętywać długie polecenia. Standaryzuje to sposób pracy w całym zespole.

Definiowanie celów Make

Typowe cele to make data, make train i make evaluate, z których każdy wywołuje odpowiedni skrypt.

# Makefile
data:
	python src/prepare_data.py

train:
	python src/train.py --config config.yaml

evaluate:
	python src/evaluate.py --config config.yaml

Łączenie zależności

Cele Make mogą zależeć od siebie, dzięki czemu make train uruchomi najpierw data, jeśli będzie to konieczne, gwarantując prawidłową kolejność wykonywania potoku.

train: data
	python src/train.py --config config.yaml

Połączenie wszystkich elementów

Powtarzalna konfiguracja obejmuje potok Pipeline zapisany za pomocą joblib, wszystkie hiperparametry w pliku YAML, ustalone ziarna losowości oraz plik Makefile udostępniający cele make data / train / evaluate. Każdy może sklonować repozytorium i odtworzyć dokładnie ten sam model.

Szybki test

Sprawdzenie wiedzy dotyczącej powtarzalnych potoków.

Podsumowanie

Zbudowali Państwo powtarzalne potoki: potok sklearn Pipeline zapisany za pomocą joblib.dump/load, wszystkie hiperparametry w konfiguracji YAML, ustalone ziarna losowości oraz plik Makefile z celami make data / train / evaluate. Następny temat: monitorowanie modeli na produkcji.

Często zadawane pytania

Czy lekcja „Tworzenie powtarzalnych potoków ML” jest bezpłatna?

Tak — pełny tekst „Tworzenie powtarzalnych potoków ML” 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 „Tworzenie powtarzalnych potoków ML”?

sklearn Pipeline, utrwalanie potoków za pomocą joblib, parametryzowane uruchomienia z plikami konfiguracyjnymi. Ć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 3 z 4.

Ile czasu zajmuje lekcja „Tworzenie powtarzalnych potoków ML”?

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