Fiabilité des modèles

Déployer des modèles de Machine Learning en production

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Aligner les modèles ML sur les indicateurs d'impact d'affaires

  • Les indicateurs d'impact d'affaires mesurent l'effet du ML sur l'entreprise
    • p. ex. revenus, économies de coûts, indice de satisfaction client (CSAT)
  • Doivent être alignés sur les métriques du modèle
    • p. ex. prédicteur d'attrition --> revenus
    • p. ex. prédicteur d'entretien en fabrication --> économies de coûts
    • p. ex. exactitude de la détection d'intention d'un agent conversationnel --> CSAT

graph going up

Déployer des modèles de Machine Learning en production

Procédures d'essai dans les pipelines ML

  • Les tests unitaires valident des composants isolés
    • p. ex. vérifier qu'une instance de PCA retourne le nombre attendu de caractéristiques
  • Les tests d'intégration couvrent tout le pipeline
    • p. ex. vérifier que les données d'entrée sont bien prétraitées, que le modèle prédit avec précision et que la sortie est bien post-traitée
  • Les tests de fumée sont rapides et donnent confiance que le système fonctionne
    • p. ex. vérifier que le modèle classe correctement un petit ensemble d'images d'exemple
  • Tester tôt et souvent
    • p. ex. tester le modèle dès que de nouvelles données sont disponibles
Déployer des modèles de Machine Learning en production

Exemple de test unitaire

def test_pipeline():
    # Generate mock data for testing
    X_train = pd.DataFrame({'age': [25, 30, 35, 40], 'income': [50000, 60000, 70000, 80000])
    y_train = pd.Series([0, 0, 1, 1])

    pipeline = Pipeline([('preprocessing', DataPreprocessor()),  # Set up pipeline
                         ('model', LogisticRegression())])
    pipeline.fit(X_train, y_train)  # Fit pipeline on training data

    # Generate mock data for testing
    X_test = pd.DataFrame({'age': [30, 35, 40, 45], 'income': [55000, 65000, 75000, 85000])
    y_test = pd.Series([0, 0, 1, 1])
    y_pred = pipeline.predict(X_test)  
    accuracy = accuracy_score(y_test, y_pred)  # Evaluate pipeline on test data

    assert accuracy > 0.8, "Error: pipeline accuracy is too low."
Déployer des modèles de Machine Learning en production

Suivre l'obsolescence d'un modèle

  • Obsolescence du modèle : la performance diminue avec le temps
    • changement des données ou de l'environnement
  • Suivi continu !

confused robot

Déployer des modèles de Machine Learning en production

Repérer et corriger l'obsolescence d'un modèle

Repérer

  • Suivre la performance du modèle
  • Surveiller les changements de données et d'environnement

Corriger

  • Réentraîner le modèle sur de nouvelles données
    • p. ex. une nouvelle variable doit être ajoutée au modèle
  • Mettre à jour le pipeline de données selon l'environnement
    • p. ex. des changements de plateformes d'analytique perturbent votre pipeline
Déployer des modèles de Machine Learning en production

Passons à la pratique !

Déployer des modèles de Machine Learning en production

Preparing Video For Download...