Aller au contenu

Entraîner un modèle

Parcours Data Scientist — De l'entraînement à l'inférence en production. Entraînez vos modèles avec MLflow via un job Spark, exposez-les en API (Model Serving), et branchez l'inférence directement dans vos Data Flows — batch ou streaming.

La section Machine Learning

Installez le composant MLflow depuis le catalogue Data Platform pour le suivi d'expériences et le registre de modèles. Model Serving et l'étape d'inférence des Data Flows s'y branchent.


L'entraînement s'orchestre comme un job programmé avec une tâche Spark. Le script logue le modèle dans le registre MLflow ; les paramètres et secrets passent par des variables Airflow.

Procédure

1. Préparer les données

Un Data Flow (batch) collecte et enrichit les données d'apprentissage vers des tables Iceberg (couches bronze / gold).

2. Créer le job d'entraînement

Une tâche Spark exécute votre script (ex. scikit-learn) et appelle mlflow.sklearn.log_model(...) avec un registered_model_name.

train_fraud_model.py
# Entraînement + enregistrement dans le registre MLflow
model.fit(X_train, y_train)

mlflow.sklearn.log_model(
    sk_model=model,
    artifact_path="model",
    registered_model_name="fraud-detection",
    pyfunc_predict_fn="predict_proba",
)

3. Enregistrer & versionner

Le modèle apparaît dans le registre MLflow (ex. fraud-detection v3) avec ses métriques (AUC, précision…).

Le registre MLflow

MLflow assure :

  • le suivi d'expériences (paramètres, métriques, artefacts) ;
  • le registre de modèles (versions successives d'un modèle nommé).

Un même modèle — ex. fraud-detection — accumule des versions (v1, v2, v3…) que l'on compare par leurs métriques avant de promouvoir celle à servir.

Reproductibilité

Passez les hyperparamètres et les secrets (accès MinIO, base…) par des variables Airflow / ressources, pas en dur dans le script — vous rejouerez l'entraînement à l'identique.

Suivant : Exposer un modèle (Model Serving) →