Versionnage des données et des modèles

Développer des modèles de Machine Learning pour la production

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Versionnage majeur et mineur

Deux types de versionnage : majeur et mineur

  • Une version majeure signale un grand changement dans les données ou le modèle

  • Une version mineure indique un petit changement

Avec des versions majeures/mineures, on voit quels changements ont été faits et comment, sur les données ou le modèle

Développer des modèles de Machine Learning pour la production

Versionner les données d'entraînement

  • Libellés majeurs/mineurs uniques ou horodatages
  • Assurer la reproductibilité et la traçabilité des expériences
  • Revenir facilement à une version précédente des données
  • Voir l'évolution des données dans le temps

Exemple :

  1. Données V 1.0 : jeu de données initial
  2. Données V 1.1 : transformations de variables supplémentaires
  3. Données V 1.2 : ajout d'une méthode de sélection de variables
  4. Données V 2.0 : nouvelle source de données
Développer des modèles de Machine Learning pour la production

Feature stores

  • Dépôt central pour stocker et gérer différentes versions de features
  • Suivre facilement les différentes versions de features
  • Utiliser des features pour divers essais
  • Améliorer la collaboration et l'intégrité des expérimentations
  • Réduire la duplication des efforts
Développer des modèles de Machine Learning pour la production

Versionner les modèles ML

  • Suivre les différentes versions de modèles ML
  • Assurer la reproductibilité et la traçabilité des expériences
  • Rétrograder facilement vers une version antérieure du modèle
  • Correspond souvent à la version des données d'entraînement, mais pas toujours

Exemple :

  1. Modèle V 1.0 : modèle initial (Random Forest)
  2. Modèle V 1.1 : même modèle, affiné sur Données V 1.1
  3. Modèle V 2.0 : modèle XGBoost affiné sur Données V 1.2
  4. Modèle V 2.1 : modèle XGBoost affiné sur Données V 2.0
Développer des modèles de Machine Learning pour la production

Model stores

  • Dépôt central pour stocker et gérer différentes versions de modèles
  • Suivre facilement les différentes versions de modèles
  • Rétrograder vers des versions antérieures
Développer des modèles de Machine Learning pour la production

Exemple de versionnage de modèle avec MLflow

import mlflow

# Start a new mlflow run
with mlflow.start_run() as run:
    # Log model version as a parameter
    mlflow.log_param("model_version", "1.0")

    # Train and save the model
    model = train_model()
    mlflow.sklearn.log_model(model, "model")
Développer des modèles de Machine Learning pour la production

Passons à la pratique !

Développer des modèles de Machine Learning pour la production

Preparing Video For Download...