Skip to content

MLOps - Vue d'ensemble

Mes projets et expérimentations en MLOps, focalisés sur l'industrialisation des modèles de machine learning.

Philosophie MLOps

Ma vision

"Du notebook à la production : pipeline automatisé, monitoring continu, déploiement sécurisé."

Principes clés

  • Reproducibility : Expériences reproductibles et versionnées
  • Automation : Pipeline ML end-to-end automatisé
  • Monitoring : Surveillance des performances et drift des données
  • Governance : Conformité et traçabilité des modèles

Cycle de vie ML

graph LR
    A[Data Collection] --> B[Data Preparation]
    B --> C[Model Training]
    C --> D[Model Validation]
    D --> E[Model Deployment]
    E --> F[Model Monitoring]
    F --> A

Domaines d'expertise

Pipelines ML

Automatisation de l'entraînement, validation et déploiement des modèles.

Projets récents :

  • Pipeline MLflow avec tracking automatique
  • Orchestration avec Apache Airflow
  • Feature store avec Feast

Voir les projets Pipelines

Modèles

Développement, versioning et registry des modèles ML.

Projets récents :

  • Registry de modèles avec MLflow
  • A/B testing de modèles en production
  • Optimisation d'hyperparamètres avec Optuna

Voir les projets Modèles

Déploiement

Mise en production, scaling et serving des modèles.

Projets récents :

  • API de serving avec FastAPI + Docker
  • Déploiement sur Kubernetes avec KServe
  • Edge deployment avec TensorFlow Lite

Voir les projets Déploiement

Stack technologique

  • TensorFlow : Deep learning, production
  • PyTorch : Recherche, prototypage
  • Scikit-learn : ML classique
  • XGBoost : Gradient boosting
  • MLflow : Experiment tracking, model registry
  • DVC : Data version control
  • KubeFlow : ML workflows sur Kubernetes
  • Feast : Feature store
  • Apache Spark : Big data processing
  • Pandas : Data manipulation
  • Apache Airflow : Workflow orchestration
  • Great Expectations : Data validation
  • FastAPI : API serving
  • Docker : Containerisation
  • Kubernetes : Orchestration
  • KServe : Model serving

Mémos techniques

MLflow essentials

# Tracking d'expérience
import mlflow

with mlflow.start_run():
    mlflow.log_param("lr", 0.01)
    mlflow.log_metric("accuracy", 0.95)
    mlflow.sklearn.log_model(model, "model")

# Chargement de modèle
model = mlflow.sklearn.load_model("models:/my-model/Production")

Docker pour ML

FROM python:3.9-slim

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY model/ /app/model/
COPY src/ /app/src/

CMD ["uvicorn", "src.api:app", "--host", "0.0.0.0", "--port", "8000"]

Bonnes pratiques

Data Management

  • Versioning : DVC pour les datasets volumineux
  • Validation : Great Expectations pour la qualité
  • Storage : S3/GCS avec partitioning optimal

Model Development

  • Experiment tracking : MLflow pour toutes les expériences
  • Code quality : Tests unitaires + linting (black, flake8)
  • Reproducibility : Requirements.txt + Docker + seeds

Production

  • A/B Testing : Comparaison de modèles en prod
  • Monitoring : Drift des données et performances
  • Rollback : Stratégie de retour en arrière rapide

Projets en cours

  • [ ] Implémentation complète de feature store avec Feast
  • [ ] Pipeline de détection de drift automatique
  • [ ] Déploiement multi-cloud avec Seldon Core
  • [ ] Observabilité ML avec Evidently