Déployer une application IA (ML / NLP) en production.
Objectifs :
- Packager un modèle ML et concevoir une API d'inférence robuste avec FastAPI et Docker
- Choisir et mettre en œuvre la bonne stratégie de déploiement (CPU, GPU, serverless, batch)
- Exposer une application LLM en production avec streaming, retry et cache sémantique
- Mettre en place un monitoring adapté à l'IA et détecter le drift de données et de modèle
- Industrialiser avec un pipeline CI/CD spécifique IA et appliquer les exigences RGPD et IA Act
Objectifs :
- Packager un modèle ML et concevoir une API d'inférence robuste avec FastAPI et Docker
- Choisir et mettre en œuvre la bonne stratégie de déploiement (CPU, GPU, serverless, batch)
- Exposer une application LLM en production avec streaming, retry et cache sémantique
- Mettre en place un monitoring adapté à l'IA et détecter le drift de données et de modèle
- Industrialiser avec un pipeline CI/CD spécifique IA et appliquer les exigences RGPD et IA Act
Public visé
- Data scientists souhaitant passer du notebook expérimental à la production
- ML engineers chargés de mettre en production des modèles ML ou des applications LLM
- Développeurs Python avancés intervenant sur des projets IA en entreprise
Objectifs pédagogiques
- Comprendre les enjeux spécifiques du déploiement d'applications IA
- Packager un modèle ML : sérialisation, versioning, reproductibilité
- Concevoir une API d'inférence robuste (FastAPI + modèle)
- Conteneuriser une application IA avec Docker et optimiser les images
- Choisir une stratégie de déploiement adaptée (CPU, GPU, serverless, batch)
- Déployer sur Azure ML, AWS SageMaker ou solutions plus légères
- Exposer une API intégrant un LLM externe avec streaming et gestion des erreurs
- Mettre en place un monitoring adapté aux applications IA
- Détecter le drift de données et le drift de modèle
- Maîtriser les coûts d'inférence : batching, caching, modèles hybrides
- Mettre en place un pipeline CI/CD pour modèles : test, validation, déploiement
- Appliquer les bonnes pratiques de sécurité (RGPD, PII, prompt injection)
Prérequis
- Python avancé : POO, typage, gestion d'exceptions, packaging
- Entraînement d'au moins un modèle avec scikit-learn, PyTorch ou HuggingFace
- Notions de cloud : avoir déjà déployé une application (n'importe laquelle)
- Notions de Docker (un rappel est proposé en début de formation)
- Aisance avec Git, CLI, SSH
- Compte GitHub personnel et carte bancaire pour les providers cloud (crédits fournis)
Méthodes pédagogiques
- Alternance de théorie (35%) et de pratique (65%)
- Live coding : construction progressive d'une application IA déployée de bout en bout
- Pédagogie par la comparaison : mêmes problèmes résolus avec plusieurs plateformes
- Analyse d'incidents : étude de cas réels d'échecs de mise en production IA
- Retours personnalisés : revue individuelle de chaque projet final
- Code source, templates MLOps et checklists de production remis aux stagiaires (accès pérenne)
Programme détaillé
JOUR 1 — Fondamentaux du MLOps et packaging de modèles
- Différences entre une app classique et une app IA en production
- Pourquoi 80 % des modèles n'atteignent jamais la production
- Principes du MLOps : reproductibilité, automatisation, monitoring
- Cycle de vie d'un modèle : données, training, validation, déploiement, monitoring
- Rôle des différentes équipes : data scientist, ML engineer, DevOps
- Panorama des plateformes MLOps : MLflow, DVC, Kubeflow, ZenML, Metaflow
- Cartographie des solutions cloud : Azure ML, AWS SageMaker, GCP Vertex AI
- Sérialisation des modèles : pickle, joblib, ONNX, safetensors
- Versioning des modèles : MLflow Model Registry, DVC
- Versioning des données : pourquoi, comment (DVC, Git LFS)
- Reproductibilité : pinning des versions, environnements isolés
- Construire une API d'inférence avec FastAPI : lifespan events, validation Pydantic
- Gestion des erreurs spécifiques à l'IA : OOM, timeout, valeurs aberrantes
- Tests de l'API d'inférence : cas nominaux, cas dégradés
■ Travaux pratiques :
→ TP1 : Packager un modèle scikit-learn avec versioning MLflow
→ TP2 : Construire une API FastAPI d'inférence avec validation stricte
→ TP3 : Écrire les tests de l'API couvrant cas nominaux et cas limites
JOUR 2 — Docker et stratégies de déploiement IA
- Rappels Docker : images, conteneurs, Dockerfile, docker-compose
- Spécificités des images IA : taille, GPU, dépendances lourdes
- Multi-stage builds : réduire drastiquement la taille des images
- Choix de l'image de base : python:slim, distroless, nvidia/cuda
- Gestion des modèles dans les images : embarquer ou télécharger au démarrage
- Optimisation : couches, cache, .dockerignore
- Tester une image en local avant déploiement
- Publication sur un registry : Docker Hub, Azure Container Registry, ECR
- Panorama des options : conteneur simple, serverless, managed ML platform
- Inférence synchrone vs asynchrone : critères de choix
- Inférence batch : cas d'usage et outillage
- Déploiement CPU vs GPU : quand, combien ça coûte
- Azure ML : endpoints managés, principe et guide pas à pas
- AWS SageMaker : endpoints, serverless inference
- Solutions plus légères : Modal, Replicate, RunPod pour les GPU
- Kubernetes pour l'IA : KServe, BentoML (survol pour culture)
■ Travaux pratiques :
→ TP1 : Conteneuriser l'API d'inférence du jour 1 et optimiser la taille
→ TP2 : Déployer le conteneur sur Render ou Railway, tester à distance
→ TP3 : Déployer le même modèle sur Azure ML et comparer les approches
JOUR 3 — Applications LLM et monitoring en production
- Architecture d'une application LLM : clients, proxy, observabilité
- Proxy LLM : LiteLLM, pourquoi et quand l'utiliser
- Gestion des clés API et rotation des secrets
- Retry, backoff, timeouts : patterns pour résister aux pannes des providers
- Streaming des réponses LLM : SSE, WebSocket, FastAPI
- Gestion des coûts par requête : tokenisation, comptage, attribution
- Cache sémantique : principes et implémentation avec Redis
- Gestion des conversations et du contexte long
- Logs structurés pour l'IA : requête, modèle, latence, coût, confiance
- Métriques essentielles : latence, erreurs, volume, coûts, performances modèle
- Outils : Langfuse, Arize, Fiddler, Evidently, Prometheus + Grafana
- Observabilité spécifique LLM : traces, évaluations, feedback utilisateur
- Détection de drift des données d'entrée et du modèle
- Feedback loop utilisateur : boutons thumbs up/down, analyses
- Alerting intelligent : seuils pertinents, éviter la fatigue d'alertes
■ Travaux pratiques :
→ TP1 : Transformer l'API d'inférence en API LLM avec streaming et retry
→ TP2 : Mettre en place un monitoring complet avec Langfuse
→ TP3 : Simuler un drift de données et vérifier sa détection par le monitoring
JOUR 4 — CI/CD, sécurité et projet final
- Pipeline CI/CD spécifique à l'IA avec GitHub Actions
- Tests automatisés : code, API, modèle (performance, non-régression)
- Étapes clés : lint, tests, build image, scan sécurité, déploiement
- Déploiements progressifs : blue-green, canary, shadow
- Rollback rapide en cas d'incident
- Feature flags pour activer / désactiver un modèle
- Optimisation des coûts d'inférence : batching, caching, modèles hybrides
- Modèle en cascade : petit modèle rapide puis grand modèle si nécessaire
- Quantization et distillation : quand et comment (survol)
- Sécurité des applications IA : panorama des risques
- Protection des modèles : extraction, inversion, adversarial
- Gestion des PII : détection, anonymisation, conformité RGPD
- Prompt injection et jailbreak : détection et mitigation
- Guardrails : Llama Guard, NeMo Guardrails, approches custom
- Conformité : AI Act européen, obligations selon le niveau de risque
- Documentation du modèle : model card, data card, log d'usage
- Gouvernance : validation, audit, traçabilité
■ Travaux pratiques — Projet final :
→ Chaque participant finalise une application IA complète et déployée
→ Modèle ML ou intégration LLM, API conteneurisée, pipeline CI/CD actif, monitoring configuré
→ Soutenance individuelle de 20 min : architecture, choix, démonstration, limites
Évaluation
- Test de positionnement en début de formation
- Évaluations formatives : exercices pratiques, débogage collectif, revues d'architecture
- QCM mi-parcours de 25 questions (Jour 2)
- QCM final de 35 questions (Jour 4) — critère de réussite : 60%
- Soutenance individuelle du projet final (20 min) avec démonstration live
- Attestation de fin de formation délivrée
Public visé
- Data scientists souhaitant passer du notebook expérimental à la production
- ML engineers chargés de mettre en production des modèles ML ou des applications LLM
- Développeurs Python avancés intervenant sur des projets IA en entreprise
Objectifs pédagogiques
- Comprendre les enjeux spécifiques du déploiement d'applications IA
- Packager un modèle ML : sérialisation, versioning, reproductibilité
- Concevoir une API d'inférence robuste (FastAPI + modèle)
- Conteneuriser une application IA avec Docker et optimiser les images
- Choisir une stratégie de déploiement adaptée (CPU, GPU, serverless, batch)
- Déployer sur Azure ML, AWS SageMaker ou solutions plus légères
- Exposer une API intégrant un LLM externe avec streaming et gestion des erreurs
- Mettre en place un monitoring adapté aux applications IA
- Détecter le drift de données et le drift de modèle
- Maîtriser les coûts d'inférence : batching, caching, modèles hybrides
- Mettre en place un pipeline CI/CD pour modèles : test, validation, déploiement
- Appliquer les bonnes pratiques de sécurité (RGPD, PII, prompt injection)
Prérequis
- Python avancé : POO, typage, gestion d'exceptions, packaging
- Entraînement d'au moins un modèle avec scikit-learn, PyTorch ou HuggingFace
- Notions de cloud : avoir déjà déployé une application (n'importe laquelle)
- Notions de Docker (un rappel est proposé en début de formation)
- Aisance avec Git, CLI, SSH
- Compte GitHub personnel et carte bancaire pour les providers cloud (crédits fournis)
Méthodes pédagogiques
- Alternance de théorie (35%) et de pratique (65%)
- Live coding : construction progressive d'une application IA déployée de bout en bout
- Pédagogie par la comparaison : mêmes problèmes résolus avec plusieurs plateformes
- Analyse d'incidents : étude de cas réels d'échecs de mise en production IA
- Retours personnalisés : revue individuelle de chaque projet final
- Code source, templates MLOps et checklists de production remis aux stagiaires (accès pérenne)
Programme détaillé
JOUR 1 — Fondamentaux du MLOps et packaging de modèles
- Différences entre une app classique et une app IA en production
- Pourquoi 80 % des modèles n'atteignent jamais la production
- Principes du MLOps : reproductibilité, automatisation, monitoring
- Cycle de vie d'un modèle : données, training, validation, déploiement, monitoring
- Rôle des différentes équipes : data scientist, ML engineer, DevOps
- Panorama des plateformes MLOps : MLflow, DVC, Kubeflow, ZenML, Metaflow
- Cartographie des solutions cloud : Azure ML, AWS SageMaker, GCP Vertex AI
- Sérialisation des modèles : pickle, joblib, ONNX, safetensors
- Versioning des modèles : MLflow Model Registry, DVC
- Versioning des données : pourquoi, comment (DVC, Git LFS)
- Reproductibilité : pinning des versions, environnements isolés
- Construire une API d'inférence avec FastAPI : lifespan events, validation Pydantic
- Gestion des erreurs spécifiques à l'IA : OOM, timeout, valeurs aberrantes
- Tests de l'API d'inférence : cas nominaux, cas dégradés
■ Travaux pratiques :
→ TP1 : Packager un modèle scikit-learn avec versioning MLflow
→ TP2 : Construire une API FastAPI d'inférence avec validation stricte
→ TP3 : Écrire les tests de l'API couvrant cas nominaux et cas limites
JOUR 2 — Docker et stratégies de déploiement IA
- Rappels Docker : images, conteneurs, Dockerfile, docker-compose
- Spécificités des images IA : taille, GPU, dépendances lourdes
- Multi-stage builds : réduire drastiquement la taille des images
- Choix de l'image de base : python:slim, distroless, nvidia/cuda
- Gestion des modèles dans les images : embarquer ou télécharger au démarrage
- Optimisation : couches, cache, .dockerignore
- Tester une image en local avant déploiement
- Publication sur un registry : Docker Hub, Azure Container Registry, ECR
- Panorama des options : conteneur simple, serverless, managed ML platform
- Inférence synchrone vs asynchrone : critères de choix
- Inférence batch : cas d'usage et outillage
- Déploiement CPU vs GPU : quand, combien ça coûte
- Azure ML : endpoints managés, principe et guide pas à pas
- AWS SageMaker : endpoints, serverless inference
- Solutions plus légères : Modal, Replicate, RunPod pour les GPU
- Kubernetes pour l'IA : KServe, BentoML (survol pour culture)
■ Travaux pratiques :
→ TP1 : Conteneuriser l'API d'inférence du jour 1 et optimiser la taille
→ TP2 : Déployer le conteneur sur Render ou Railway, tester à distance
→ TP3 : Déployer le même modèle sur Azure ML et comparer les approches
JOUR 3 — Applications LLM et monitoring en production
- Architecture d'une application LLM : clients, proxy, observabilité
- Proxy LLM : LiteLLM, pourquoi et quand l'utiliser
- Gestion des clés API et rotation des secrets
- Retry, backoff, timeouts : patterns pour résister aux pannes des providers
- Streaming des réponses LLM : SSE, WebSocket, FastAPI
- Gestion des coûts par requête : tokenisation, comptage, attribution
- Cache sémantique : principes et implémentation avec Redis
- Gestion des conversations et du contexte long
- Logs structurés pour l'IA : requête, modèle, latence, coût, confiance
- Métriques essentielles : latence, erreurs, volume, coûts, performances modèle
- Outils : Langfuse, Arize, Fiddler, Evidently, Prometheus + Grafana
- Observabilité spécifique LLM : traces, évaluations, feedback utilisateur
- Détection de drift des données d'entrée et du modèle
- Feedback loop utilisateur : boutons thumbs up/down, analyses
- Alerting intelligent : seuils pertinents, éviter la fatigue d'alertes
■ Travaux pratiques :
→ TP1 : Transformer l'API d'inférence en API LLM avec streaming et retry
→ TP2 : Mettre en place un monitoring complet avec Langfuse
→ TP3 : Simuler un drift de données et vérifier sa détection par le monitoring
JOUR 4 — CI/CD, sécurité et projet final
- Pipeline CI/CD spécifique à l'IA avec GitHub Actions
- Tests automatisés : code, API, modèle (performance, non-régression)
- Étapes clés : lint, tests, build image, scan sécurité, déploiement
- Déploiements progressifs : blue-green, canary, shadow
- Rollback rapide en cas d'incident
- Feature flags pour activer / désactiver un modèle
- Optimisation des coûts d'inférence : batching, caching, modèles hybrides
- Modèle en cascade : petit modèle rapide puis grand modèle si nécessaire
- Quantization et distillation : quand et comment (survol)
- Sécurité des applications IA : panorama des risques
- Protection des modèles : extraction, inversion, adversarial
- Gestion des PII : détection, anonymisation, conformité RGPD
- Prompt injection et jailbreak : détection et mitigation
- Guardrails : Llama Guard, NeMo Guardrails, approches custom
- Conformité : AI Act européen, obligations selon le niveau de risque
- Documentation du modèle : model card, data card, log d'usage
- Gouvernance : validation, audit, traçabilité
■ Travaux pratiques — Projet final :
→ Chaque participant finalise une application IA complète et déployée
→ Modèle ML ou intégration LLM, API conteneurisée, pipeline CI/CD actif, monitoring configuré
→ Soutenance individuelle de 20 min : architecture, choix, démonstration, limites
Évaluation
- Test de positionnement en début de formation
- Évaluations formatives : exercices pratiques, débogage collectif, revues d'architecture
- QCM mi-parcours de 25 questions (Jour 2)
- QCM final de 35 questions (Jour 4) — critère de réussite : 60%
- Soutenance individuelle du projet final (20 min) avec démonstration live
- Attestation de fin de formation délivrée