CSC 8613 – Systèmes pour le machine learning

Portail informatique

CC2 : Préparation

    1. Dans un système ML en production, quel est le rôle principal de l’entraînement ?
    2. Parmi les éléments suivants, lequel n’est pas cité comme une raison fréquente d’échec en production ?
      A. Évaluations non comparables entre runs
      B. Déploiement manuel non contrôlé
      C. Absence de rollback
      D. Utilisation d’un algorithme trop simple
    3. Donnez deux caractéristiques attendues d’un “production-ready training”.
    4. Quelle affirmation correspond à la définition d’une pipeline déterministe ?
      A. Les outputs changent si on relance le training plus tard
      B. Les métriques sont stables uniquement si les données sont grandes
      C. Les mêmes inputs produisent les mêmes outputs, aujourd’hui ou dans 6 mois
      D. Le modèle est identique seulement si le notebook n’a pas été modifié
    5. Laquelle de ces sources est citée comme cause classique de non-déterminisme ?
      A. Stockage des métriques dans une base de données
      B. Utilisation de now() / today() dépendant de l’horloge système
      C. Présence d’un feature store online
      D. Utilisation d’un stage “Production”
    6. Expliquez en une phrase pourquoi l’alignement temporel est vital lors du training.
    7. Quelle stratégie de split est recommandée si “le temps a du sens” pour le problème ?
      A. Split aléatoire global
      B. Split par entité (ex : user_id)
      C. Split temporel (train sur le passé, validation sur le futur)
      D. Aucun split, uniquement validation en production
    8. Citez 3 types d’entrées d’une pipeline d’entraînement qui doivent être traçables.
    9. Quel est l’objectif central du tracking en production, tel que formulé dans les slides ?
      A. Obtenir la meilleure accuracy possible
      B. Réduire le coût CPU du training
      C. Pouvoir répondre factuellement à “Quel modèle est en production… et pourquoi celui-là ?”
      D. Remplacer le feature store
    10. Donnez 4 catégories d’informations à traquer au minimum dans un système de tracking d’expériences.
    11. Quelle différence est correcte entre experiment tracking et model registry ?
      A. Le tracking gère les stages, le registry gère les seeds
      B. Le tracking historise des runs, le registry gère des versions et des stages de modèles
      C. Le tracking sert à calculer les features, le registry sert à valider les données
      D. Le tracking remplace le déploiement, le registry remplace le serving
    12. Expliquez pourquoi “des logs + des fichiers” ne suffisent pas pour le suivi d’expériences.
    13. Dans MLflow, un run correspond le plus précisément à :
      A. Une version d’un modèle en Production
      B. Une exécution complète d’une pipeline d’entraînement (dataset + config + version de code)
      C. Une métrique calculée sur le train
      D. Un artefact unique comme un fichier .pkl
    14. Quelle est l’interface conceptuelle mise en avant pour le format de modèle MLflow (pyfunc) ?
    15. Quel est le rôle principal de la signature d’un modèle en production ?
      A. Accélérer l’entraînement en réduisant le nombre de features
      B. Ajouter du bruit pour éviter l’overfitting
      C. Définir le schéma d’entrées/sorties et valider automatiquement les inputs au serving
      D. Forcer le split temporel lors de la validation
    16. Donnez une raison mentionnée expliquant pourquoi l’accuracy peut être trompeuse en production.
    17. Selon les slides, pourquoi l’AUC est-elle pertinente pour un cas de churn ?
      A. Parce qu’elle dépend fortement d’un seuil choisi à l’avance
      B. Parce qu’elle mesure la capacité de ranking et est indépendante du seuil
      C. Parce qu’elle garantit un ROI business positif
      D. Parce qu’elle empêche la dérive des données
    18. Dans un model registry, décrivez brièvement la différence entre version et stage.
    19. Laquelle de ces affirmations décrit une bonne pratique de chargement du modèle dans une API de prédiction ?
      A. Charger le modèle à chaque requête pour être sûr d’avoir la dernière version
      B. Charger le modèle uniquement quand une erreur survient
      C. Charger le modèle au démarrage du service et le garder en mémoire
      D. Ne jamais garder le modèle en mémoire pour réduire la RAM
    20. Quelle est la différence attendue entre un endpoint de health check et la readiness d’un service ML ?
    21. Vous devez expliquer la différence entre monitoring et observabilité. Quelle affirmation décrit le mieux l’observabilité ?
      A. La vérification d’un seuil fixe sur une métrique connue à l’avance
      B. La capacité à poser de nouvelles questions en exploitant les signaux du système
      C. Un mécanisme qui empêche les erreurs de se produire
      D. Une méthode qui garantit la qualité du modèle en production
    22. Dans un système de machine learning en production, citez les 4 composantes indissociables d’un système ML.
    23. Parmi les causes suivantes, laquelle explique le mieux pourquoi un système ML peut échouer sans crash ni exception ?
      A. Les erreurs réseau produisent toujours une exception visible
      B. Les prédictions peuvent se dégrader alors que l’API répond normalement
      C. Le monitoring déclenche automatiquement un réentraînement
      D. Le modèle est la seule partie qui peut être défaillante
    24. Pourquoi est-il difficile de monitorer directement la performance réelle d’un modèle en production ? Donnez une raison.
    25. Les 3 piliers de l’observabilité sont :
      A. CPU, RAM, disque
      B. Logs, features, datasets
      C. Métriques, logs, traces
      D. Dashboards, alertes, réentraînement
    26. Dans un modèle de monitoring “en couches” pour un système ML, quelles sont les 4 couches typiques (du plus bas au plus haut) ?
    27. Quel signal est typiquement associé à une défaillance au niveau de l’API ?
      A. Explosion de cardinalité des labels
      B. Pics de latence et hausse du taux d’erreur 4xx/5xx
      C. Changement de la fréquence des labels (target)
      D. Concept drift directement mesurable
    28. Citez deux exemples de défaillances au niveau des données qui peuvent impacter un modèle sans produire d’erreur visible.
    29. Lequel des éléments suivants est un type de dérive au niveau du modèle mentionné dans le cours ?
      A. Feature store drift
      B. Prediction drift
      C. Latency drift (au sens infrastructure)
      D. API drift
    30. Donnez une définition simple du drift (dérive) dans un système ML en production.
    31. Quel type de drift correspond à un changement de distribution des features d’entrée ?
      A. Covariate drift
      B. Prior probability drift
      C. Concept drift
      D. Target drift
    32. Selon les notions vues, pourquoi le concept drift est-il difficile à détecter directement ?
    33. Dans le modèle mental de Prometheus, quel est le principe de collecte des métriques ?
      A. Push-based : l’application envoie les métriques au serveur
      B. Pull-based : Prometheus vient chercher les métriques
      C. Event-based : chaque requête déclenche un export complet
      D. Batch-based : les métriques sont transférées une fois par jour
    34. Dans une architecture Prometheus typique, quel endpoint l’API expose pour les métriques ?
    35. Parmi les types de métriques Prometheus suivants, lequel correspond à un compteur monotone ?
      A. Gauge
      B. Counter
      C. Histogram
      D. Summary
    36. Quels sont les trois axes de métriques typiques à suivre pour une API ML (hors qualité modèle) ?
    37. Concernant les labels Prometheus, quelle règle pratique réduit le risque d’explosion de cardinalité ?
      A. Ajouter user_id comme label pour faciliter le debug
      B. Utiliser des labels finis et éviter les valeurs dynamiques
      C. Ajouter un timestamp dans chaque label pour mieux historiser
      D. Mettre un label différent par requête pour gagner en précision
    38. En PromQL, à quoi sert la fonction rate(counter[window]) ?
      A. Calculer un percentile de latence
      B. Calculer une dérivée temporelle (taux d’évolution) d’un compteur
      C. Compresser les séries temporelles pour réduire la mémoire
      D. Détecter automatiquement un concept drift
    39. Pourquoi la moyenne de latence est-elle insuffisante pour évaluer l’expérience utilisateur ?
    40. Laquelle des affirmations suivantes décrit correctement le rôle du drift dans une stratégie MLOps ?
      A. Le drift est une action qui déclenche toujours un réentraînement immédiat
      B. Le drift est un bug qui doit être supprimé
      C. Le drift est un signal à interpréter, qui déclenche une décision (investigation ou réentraînement contrôlé)
      D. Le drift est directement équivalent à une mesure de performance réelle du modèle
    41. Parmi les propositions suivantes, laquelle décrit le mieux la CI (Continuous Integration) ?
      A) Déployer automatiquement en production à chaque commit
      B) Intégrer fréquemment et exécuter automatiquement build + tests + checks pour détecter les régressions tôt
      C) Réentraîner automatiquement un modèle à chaque nouvelle donnée
      D) Router dynamiquement le trafic entre plusieurs modèles
    42. Donnez deux sources de régression fréquentes d’un système ML en production.
    43. Quel énoncé décrit correctement la différence entre Continuous Delivery et Continuous Deployment ?
      A) Delivery = tests unitaires, Deployment = tests d’intégration
      B) Delivery = artefacts prêts à être déployés, Deployment = déploiement automatique en production selon une politique
      C) Delivery = réentraîner le modèle, Deployment = le comparer à la baseline
      D) Delivery = monitoring, Deployment = drift detection
    44. Citez une raison pour laquelle un modèle “meilleur offline” peut ne pas être “meilleur en production”.
    45. Dans une approche CI/CD appliquée aux systèmes ML, quelles sont les entrées principales d’un système ML (par rapport à un logiciel classique) ?
      A) Uniquement le code
      B) Uniquement les données
      C) Code + données + features + configuration
      D) Modèle + métriques uniquement
    46. Donnez trois caractéristiques attendues d’un modèle “production-ready”.
    47. Parmi les catégories suivantes, laquelle correspond à des tests qui vérifient le schéma request/response d’une API (types, champs obligatoires) ?
      A) Unit tests
      B) Contract tests
      C) Model tests
      D) Data tests
    48. Expliquez en une phrase l’objectif principal des data tests “light” exécutés en CI.
    49. Quel est l’objectif d’un integration smoke test dans une CI pour un système ML ?
      A) Optimiser les hyperparamètres du modèle
      B) Vérifier que la stack démarre et que l’API répond (ex. /health puis /predict)
      C) Générer des features historisées
      D) Calculer une métrique online métier
    50. Donnez deux bonnes pratiques pour des unit tests avec pytest dans un projet ML.
    51. Dans GitHub Actions, quel élément correspond à une suite d’étapes exécutées sur un runner (VM) ?
      A) Workflow
      B) Job
      C) Step
      D) Trigger
    52. En lisant un run CI en échec, dans quel ordre minimal regardez-vous généralement les informations ?
    53. Dans la politique décrite, qu’est-ce qui est systématique en CI ?
      A) Entraînement complet + évaluation + comparaison + promotion
      B) Uniquement des unit tests
      C) Unit + contract + integration smoke + data checks légers
      D) Monitoring drift et alerting
    54. Donnez un exemple de critère de non-régression utilisé comme garde-fou pour promouvoir un modèle.
    55. Parmi ces propositions, laquelle décrit correctement la différence entre promotion registry et déploiement trafic ?
      A) Promotion registry = router le trafic, déploiement trafic = changer un label de version
      B) Promotion registry = décision “candidat à servir” via un label/stage, déploiement trafic = décision “combien de requêtes vers quel modèle”
      C) Promotion registry = monitoring, déploiement trafic = CI
      D) Promotion registry = A/B testing, déploiement trafic = unit tests
    56. Citez deux déclencheurs typiques d’un rollback de modèle.
    57. En shadow deployment, quelle affirmation est correcte ?
      A) La réponse du modèle candidat remplace toujours celle du modèle en production
      B) La même requête est envoyée aux deux modèles, mais seule la réponse production est utilisée
      C) Une fraction du trafic va vers A et l’autre vers B
      D) Le trafic est augmenté progressivement de 1% à 100%
    58. Donnez un prérequis important pour réaliser un A/B testing proprement.
    59. Quel mécanisme correspond à une exposition progressive 1% → 5% → 25% → 100% avec des conditions d’arrêt basées sur des seuils ?
      A) Interleaving
      B) Canary release
      C) Shadow deployment
      D) Bandits (multi-armed)
    60. Parmi ces niveaux de “continuous learning”, lequel correspond à un réentraînement déclenché par événement (drift, data arrival, alert) ?
      A) Niveau 0 : Manual
      B) Niveau 1 : Automatisé (schedule)
      C) Niveau 2 : Automatisé + stateful
      D) Niveau 3 : Event-triggered