Introduction aux modèles MLflow

Introduction à MLflow

Weston Bassler

Senior MLOps Engineer

Modèles MLflow

  • Intégration simplifiée des bibliothèques ML

  • Déploiement simplifié

  • Convention appelée « Flavors »

flavors

1 unsplash.com
Introduction à MLflow

Flavors intégrés

IMAGES OF FLAVORS

  • Écrire des outils personnalisés à partir des bibliothèques ML

  • Les flavors facilitent l'ajout de code personnalisé

# Importer le flavor depuis le module mlflow
import mlflow.FLAVOR
1 mlflow.org
Introduction à MLflow

Autolog

# Consigner automatiquement le modèle et les mesures
mlflow.FLAVOR.autolog()
# Flavor intégré pour scikit-learn
mlflow.sklearn.autolog()
Introduction à MLflow

Flavor scikit-learn

# Importer scikit-learn
import mlflow
from sklearn.linear_model import \
    LinearRegression

# Activer l'auto-consignation mlflow.sklearn.autolog()
# Entraîner le modèle
lr = LinearRegression()
lr.fit(X, y)

Le modèle sera consigné automatiquement lors de model.fit()

Introduction à MLflow

Mesures courantes

  • Régression
    • erreur quadratique moyenne (MSE)
    • racine de l'erreur quadratique moyenne (RMSE)
    • erreur absolue moyenne (MAE)
    • coefficient R2
  • Classification
    • précision
    • rappel
    • F1
    • exactitude

Paramètres courants

MODEL.get_params()
Introduction à MLflow

Paramètres courants

# Entraîner le modèle
lr = LinearRegression()
lr.fit(X, y)

# Obtenir les paramètres params = lr.get_params(deep=True)
params
{'copy_X': True, 'fit_intercept': True, 'n_jobs': None, 
    'normalize': 'deprecated', 'positive': False}
Introduction à MLflow

Paramètres consignés avec Autolog

parameters

# Modèle
lr = LinearRegression()
lr.fit(X, y)
Introduction à MLflow

Mesures consignées avec Autolog

metrics

# Modèle
lr = LinearRegression()
lr.fit(X, y)
Introduction à MLflow

Format de stockage

Structure d'un répertoire de modèle :

model/
    MLmodel
    model.pkl
    python_env.yaml
    requirements.txt
# Autolog
mlflow.sklearn.autolog()

Artifacts

Introduction à MLflow

Contenu de MLmodel

artifact_path: model
flavors:
  python_function:
    env:
      virtualenv: python_env.yaml
    loader_module: mlflow.sklearn
    model_path: model.pkl
    predict_fn: predict
    python_version: 3.10.8
  sklearn:
    code: null
    pickled_model: model.pkl
    serialization_format: cloudpickle
    sklearn_version: 1.1.3
Introduction à MLflow

MLmodel

MLmodel

Introduction à MLflow

Passons à la pratique !

Introduction à MLflow

Preparing Video For Download...