ml-pipeline-workflow

Par wshobson · agents

Construisez des pipelines MLOps de bout en bout, de la préparation des données jusqu'à l'entraînement, la validation et le déploiement en production des modèles. À utiliser pour créer des pipelines ML, implémenter des pratiques MLOps ou automatiser les workflows d'entraînement et de déploiement de modèles.

npx skills add https://github.com/wshobson/agents --skill ml-pipeline-workflow

Workflow de Pipeline ML

Orchestration complète d'un pipeline MLOps end-to-end, de la préparation des données au déploiement du modèle.

Overview

Cette compétence fournit un guide complet pour construire des pipelines ML en production qui gèrent l'intégralité du cycle de vie : ingestion des données → préparation → entraînement → validation → déploiement → monitoring.

Quand utiliser cette compétence

  • Construire de nouveaux pipelines ML from scratch
  • Concevoir l'orchestration de workflows pour les systèmes ML
  • Implémenter l'automatisation données → modèle → déploiement
  • Mettre en place des workflows d'entraînement reproductibles
  • Créer une orchestration ML basée sur des DAG
  • Intégrer les composants ML dans les systèmes en production

Ce que cette compétence fournit

Capacités principales

  1. Architecture Pipeline

    • Conception de workflows end-to-end
    • Patterns d'orchestration DAG (Airflow, Dagster, Kubeflow)
    • Dépendances entre composants et flux de données
    • Stratégies de gestion des erreurs et retry
  2. Préparation des données

    • Validation des données et contrôles de qualité
    • Pipelines de feature engineering
    • Versioning et lineage des données
    • Stratégies de splitting train/validation/test
  3. Entraînement du modèle

    • Orchestration des jobs d'entraînement
    • Gestion des hyperparamètres
    • Intégration du suivi d'expériences
    • Patterns d'entraînement distribué
  4. Validation du modèle

    • Frameworks et métriques de validation
    • Infrastructure de A/B testing
    • Détection de régression de performance
    • Workflows de comparaison de modèles
  5. Automatisation du déploiement

    • Patterns de model serving
    • Déploiements canary
    • Stratégies de déploiement blue-green
    • Mécanismes de rollback

Documentation de référence

Consultez le répertoire references/ pour des guides détaillés :

  • data-preparation.md - Nettoyage, validation et feature engineering des données
  • model-training.md - Workflows d'entraînement et bonnes pratiques
  • model-validation.md - Stratégies et métriques de validation
  • model-deployment.md - Patterns de déploiement et architectures de serving

Assets et templates

Le répertoire assets/ contient :

  • pipeline-dag.yaml.template - Template DAG pour orchestration de workflows
  • training-config.yaml - Template de configuration d'entraînement
  • validation-checklist.md - Checklist de validation avant déploiement

Patterns d'utilisation

Configuration de pipeline basique

# 1. Définir les étapes du pipeline
stages = [
    "data_ingestion",
    "data_validation",
    "feature_engineering",
    "model_training",
    "model_validation",
    "model_deployment"
]

# 2. Configurer les dépendances
# Voir assets/pipeline-dag.yaml.template pour un exemple complet

Workflow en production

  1. Phase de préparation des données

    • Ingérer les données brutes depuis les sources
    • Exécuter les contrôles de qualité des données
    • Appliquer les transformations de features
    • Versionner les datasets traités
  2. Phase d'entraînement

    • Charger les données d'entraînement versionnées
    • Exécuter les jobs d'entraînement
    • Suivre les expériences et métriques
    • Sauvegarder les modèles entraînés
  3. Phase de validation

    • Exécuter la suite de tests de validation
    • Comparer avec la baseline
    • Générer des rapports de performance
    • Approuver le déploiement
  4. Phase de déploiement

    • Empaqueter les artifacts du modèle
    • Déployer sur l'infrastructure de serving
    • Configurer le monitoring
    • Valider le trafic en production

Bonnes pratiques

Conception du pipeline

  • Modularité : Chaque étape doit être testable indépendamment
  • Idempotence : Réexécuter les étapes doit être sûr
  • Observabilité : Enregistrer les métriques à chaque étape
  • Versioning : Suivre les versions des données, du code et des modèles
  • Gestion des erreurs : Implémenter la logique de retry et les alertes

Gestion des données

  • Utiliser les bibliothèques de validation de données (Great Expectations, TFX)
  • Versionner les datasets avec DVC ou des outils similaires
  • Documenter les transformations de feature engineering
  • Maintenir le suivi de la lineage des données

Opérations du modèle

  • Séparer l'infrastructure d'entraînement et de serving
  • Utiliser des registres de modèles (MLflow, Weights & Biases)
  • Implémenter les déploiements progressifs pour les nouveaux modèles
  • Monitorer la dérive de performance du modèle
  • Maintenir les capacités de rollback

Stratégies de déploiement

  • Commencer par les déploiements shadow
  • Utiliser les canary releases pour la validation
  • Implémenter l'infrastructure de A/B testing
  • Configurer les triggers de rollback automatique
  • Monitorer la latence et le throughput

Points d'intégration

Outils d'orchestration

  • Apache Airflow : Orchestration de workflows basée sur DAG
  • Dagster : Orchestration de pipelines basée sur les assets
  • Kubeflow Pipelines : Workflows ML natifs Kubernetes
  • Prefect : Automatisation moderne des dataflows

Suivi d'expériences

  • MLflow pour le suivi d'expériences et le registre de modèles
  • Weights & Biases pour la visualisation et la collaboration
  • TensorBoard pour les métriques d'entraînement

Plateformes de déploiement

  • AWS SageMaker pour l'infrastructure ML managée
  • Google Vertex AI pour les déploiements GCP
  • Azure ML pour Azure cloud
  • OCI Data Science pour les déploiements Oracle Cloud Infrastructure
  • Kubernetes + KServe pour un serving cloud-agnostic

Divulgation progressive

Commencez par les bases et ajoutez graduellement de la complexité :

  1. Niveau 1 : Pipeline linéaire simple (données → entraînement → déploiement)
  2. Niveau 2 : Ajouter les étapes de validation et monitoring
  3. Niveau 3 : Implémenter le tuning d'hyperparamètres
  4. Niveau 4 : Ajouter le A/B testing et les déploiements progressifs
  5. Niveau 5 : Pipelines multi-modèles avec stratégies d'ensemble

Patterns courants

Pipeline d'entraînement batch

# Voir assets/pipeline-dag.yaml.template
stages:
  - name: data_preparation
    dependencies: []
  - name: model_training
    dependencies: [data_preparation]
  - name: model_evaluation
    dependencies: [model_training]
  - name: model_deployment
    dependencies: [model_evaluation]

Pipeline de features en temps réel

# Stream processing pour les features en temps réel
# Combiné avec l'entraînement batch
# Voir references/data-preparation.md

Entraînement continu

# Réentraînement automatisé selon un calendrier
# Déclenché par la détection de data drift
# Voir references/model-training.md

Dépannage

Problèmes courants

  • Défaillances du pipeline : Vérifier les dépendances et la disponibilité des données
  • Instabilité de l'entraînement : Examiner les hyperparamètres et la qualité des données
  • Problèmes de déploiement : Valider les artifacts du modèle et la configuration de serving
  • Dégradation des performances : Monitorer la dérive des données et les métriques du modèle

Étapes de débogage

  1. Vérifier les logs du pipeline pour chaque étape
  2. Valider les données d'entrée/sortie aux frontières
  3. Tester les composants en isolation
  4. Examiner les métriques de suivi d'expériences
  5. Inspecter les artifacts et métadonnées du modèle

Étapes suivantes

Après avoir configuré votre pipeline :

  1. Explorer la compétence hyperparameter-tuning pour l'optimisation
  2. Apprendre experiment-tracking-setup pour l'intégration MLflow/W&B
  3. Examiner model-deployment-patterns pour les stratégies de serving
  4. Implémenter le monitoring avec les outils d'observabilité

Compétences liées

  • experiment-tracking-setup : Intégration MLflow et Weights & Biases
  • hyperparameter-tuning : Optimisation automatisée des hyperparamètres
  • model-deployment-patterns : Stratégies de déploiement avancées

Skills similaires