Yoann OZA Logo
Yoann OZA Logo

MLOPS,

2025-07-02
Yoann OZA & Rommel
IA
MLOPS,
Partager :

🤖 Introduction au MLOps : Fusion du Machine Learning et du DevOps

"Le modèle n'est qu'une partie de la solution. Mettez-le en production, surveillez-le, améliorez-le. C'est là que commence le vrai travail."


🧠 Qu’est-ce que le MLOps ?

MLOps, ou Machine Learning Operations, est un ensemble de pratiques qui unifie le développement de modèles ML et leur déploiement opérationnel.

🎯 Objectif : Intégrer de manière fluide les modèles de Machine Learning dans des systèmes de production robustes et automatisés.


🏗️ Architecture Typique d’un Pipeline MLOps

Pipeline MLOps

Étapes clés :

  1. Ingestion de données
  2. Nettoyage et Feature Engineering
  3. Entraînement du modèle
  4. Validation et test
  5. Déploiement CI/CD
  6. Monitoring & retraining

🧪 Exemple de Pipeline MLOps en Code

# Exemple simple avec MLflow et sklearn import mlflow import mlflow.sklearn from sklearn.ensemble import RandomForestClassifier from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split # Préparation des données data = load_iris() X_train, X_test, y_train, y_test = train_test_split(data.data, data.target) # Entraînement du modèle with mlflow.start_run(): clf = RandomForestClassifier() clf.fit(X_train, y_train) # Log du modèle mlflow.sklearn.log_model(clf, "model")

🧰 Outils utilisés :

  • MLflow pour le tracking et le déploiement
  • Scikit-learn pour le modèle
  • Docker + Kubernetes pour la conteneurisation et l'orchestration

📦 Intégration CI/CD avec GitHub Actions

# .github/workflows/mlops.yml name: MLOps Pipeline on: [push] jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: '3.10' - name: Install dependencies run: pip install -r requirements.txt - name: Train model run: python train.py - name: Deploy to production run: bash deploy.sh

🎥 Vidéo : Le MLOps en Action

MLOps Video


📊 Monitoring : Exemple avec Prometheus + Grafana

Voici à quoi ressemble un tableau de bord typique de modèle ML :

Monitoring Grafana


🔗 Liens utiles

RessourceLien
📘 Guide officiel MLflowhttps://mlflow.org
📘 Guide Kubeflowhttps://www.kubeflow.org
📘 Documentation TFX (TensorFlow Extended)https://www.tensorflow.org/tfx
🎓 Cours MLOps (Coursera)Coursera MLOps

🛠️ Outils MLOps populaires

graph TD; A[Data Versioning] -->|DVC| B[Train] B -->|MLflow| C[Track] C -->|Docker| D[Deploy] D -->|Kubernetes| E[Production] E -->|Prometheus| F[Monitor]

📦 Exemple de widget (fictif)

👉 Status du pipeline : ✅ Entraînement terminé | ⏳ Déploiement en cours 🔄 Dernier retrain : 2025-07-01 14:22 🔍 Accuracy actuelle : 93.7%


📅 Roadmap MLOps

PhaseOutilsDurée
Préparation des donnéesPandas, DVC1-2 semaines
ExpérimentationScikit-learn, MLflow2-3 semaines
PackagingDocker, ONNX1 semaine
DéploiementFastAPI, K8s1 semaine
MonitoringPrometheus, GrafanaEn continu

📚 Bonus : Fichier model_card.md type

# 📄 Model Card – RandomForestClassifier v1.0 ## Description Modèle RandomForest entraîné sur le dataset Iris pour la classification de fleurs. ## Metrics - Accuracy : 93.7% - F1-score : 0.92 ## Limitations - Ne généralise pas bien hors du dataset Iris. - Sensible au bruit si nombre d’arbres est trop faible. ## Intended Use À utiliser à des fins éducatives ou pour des cas simples de classification florale. ## Owners - ML Team – `ml-team@example.com`

🚀 Conclusion

Le MLOps transforme les modèles ML de simples prototypes à des produits maintenables, testables et scalables.

🔁 L’itération continue est la clé : monitorer → diagnostiquer → améliorer.


🧭 À venir...

  • Tutoriel complet avec FastAPI pour servir un modèle
  • Déploiement serverless avec AWS Lambda + API Gateway
  • Intégration de modèles LLM dans un pipeline MLOps
Partager :