Modellen registreren

Introductie tot MLflow

Weston Bassler

Senior MLOps Engineer

MLflow-modellen registreren

  • Modelversies

    • volgt traditionele softwareontwikkeling
    • wijzigingen bijhouden
  • Samenwerking

    • tussen verschillende rollen
    • dezelfde rollen voor verbetering
Introductie tot MLflow

Beheer van de modellevenscyclus

levenscyclus-van-modellen

1 datacamp.com
Introductie tot MLflow

Manieren om modellen te registreren

# Bestaande MLflow-modellen
mlflow.register_model(model_uri, name)

model_uri

  • lokaal bestandssysteem
  • trackingserver
# Tijdens training-run
mlflow.FLAVOR.log_model(name, 
    artifact_uri,
    registered_model_name="MODEL_NAME")

registered_model_name="MODEL_NAME"

Introductie tot MLflow

Voorbeeld: model registreren

# Importeer mlflow
import mlflow


# Registreer model vanaf lokaal bestandssysteem mlflow.register_model("./model", "Unicorn")
# Registreer model vanaf Tracking-server mlflow.register_model("runs:/run-id/model", "Unicorn")
Introductie tot MLflow
# Registreer lokaal MLFlow-model
mlflow.register_model(model_uri="./model", name="Unicorn")
Geregistreerd model 'Unicorn' bestaat al. Nieuwe versie van dit model wordt gemaakt...

2023/03/24 14:34:26 INFO mlflow.tracking._model_registry.client: Wachten tot 300 seconden tot het maken van de modelversie is voltooid. Modelnaam: Unicorn, versie 1 Versie '1' van model 'Unicorn' gemaakt. <ModelVersion: creation_timestamp=1679682866413, current_stage='None', description=None, last_updated_timestamp=1679682866413, name='Unicorn', run_id=None, run_link=None, source='./model', status='READY', status_message=None, tags={}, user_id=None, version=1>
Introductie tot MLflow
# Registreer model vanuit MLflow Tracking
mlflow.register_model(model_uri="runs:/run-id/model", name="Unicorn")
Geregistreerd model 'Unicorn' bestaat al. Nieuwe versie van dit model wordt gemaakt...
2023/03/24 14:36:56 INFO mlflow.tracking._model_registry.client: 
Wachten tot 300 seconden tot het maken van de modelversie is voltooid.                     
Modelnaam: Unicorn, versie 2
Versie '2' van model 'Unicorn' gemaakt.
<ModelVersion: creation_timestamp=1679683016297, current_stage='None', 
description=None, last_updated_timestamp=1679683016297, name='Unicorn', 
run_id='2e974508b68b45ceb114657c6e97fef5', run_link=None, 
source='./mlruns/1/2e974508b68b45ceb114657c6e97fef5/artifacts/model', 
status='READY', status_message=None, tags={}, user_id=None, version=2>
Introductie tot MLflow

Models-UI

modellen-ui

Introductie tot MLflow

Unicorn-versies

versies-ui

Introductie tot MLflow

Model loggen

# Modules importeren
import mlflow
import mlflow.sklearn
from sklearn.linear_model import LogisticRegression


# Model lr = LogisticRegression() lr.fit(X, y)
# Model loggen mlflow.sklearn.log_model(lr, "model", registered_model_name="Unicorn")
Introductie tot MLflow
# Model loggen
mlflow.sklearn.log_model(lr, "model", registered_model_name="Unicorn")
Geregistreerd model 'Unicorn' bestaat al. Nieuwe versie van dit model wordt gemaakt...
2023/03/24 17:31:10 INFO mlflow.tracking._model_registry.client: 
Wachten tot 300 seconden tot het maken van de modelversie is voltooid.                     
Modelnaam: Unicorn, versie 3
Versie '3' van model 'Unicorn' gemaakt.
<mlflow.models.model.ModelInfo object at 0x14734d330>
Introductie tot MLflow

Laten we oefenen!

Introductie tot MLflow

Preparing Video For Download...