Guide architecture ML

Comment concevoir une architecture de pipeline ML

Un système ML de production est bien plus qu'un modèle. C'est des pipelines de données, des feature stores, des registres de modèles, du serving et du monitoring—le tout qui fonctionne ensemble. Ce guide montre comment concevoir des architectures ML fiables en production.

22 min de lecturePour ML engineers & data scientistsPatterns production

1. Pourquoi l'architecture de pipeline ML compte

Atteindre 95% d'accuracy dans un notebook est excitant. Servir 1 million de prédictions par jour de façon fiable est de l'ingénierie. La différence entre recherche et production est l'architecture—les systèmes qui entraînent, déploient, surveillent et améliorent les modèles en continu.

Le fossé de la production

87% des projets ML n'arrivent jamais en production. Pourquoi ? Parce que les data scientists construisent des modèles sans penser au déploiement, au monitoring ou au retraining. Un modèle sans infrastructure reste une expérience coûteuse.

Une bonne architecture ML délivre quatre résultats :

Prédictions fiables

Des prédictions servies avec 99,9% de disponibilité et <100ms de latence. Plus de tickets "le modèle est down" à 3h du matin.

Amélioration continue

Des pipelines de retraining automatisés gardent les modèles à jour. Déployez de nouvelles versions chaque semaine ou chaque jour sans intervention manuelle.

Observabilité

Suivez accuracy, drift et métriques business en temps réel. Détectez la dégradation avant que les utilisateurs ne la subissent.

Vélocité d'équipe

Les data scientists itèrent sans attendre les ingénieurs. L'infrastructure partagée accélère les expérimentations.

Retour d'expérience

J'ai vu des équipes avec des modèles brillants échouer faute d'infrastructure de serving. J'ai vu des équipes avec des modèles moyens gagner parce qu'elles déployaient 10x plus vite. L'architecture est un avantage compétitif.

2. Composants essentiels du pipeline ML

Chaque système ML de production possède sept composants essentiels. Ils fonctionnent comme une chaîne d'assemblage : les données entrent, les modèles s'entraînent, les prédictions sortent. Voici leur rôle et pourquoi ils sont nécessaires.

Ingestion de données

Fondation

Collectez les données brutes depuis bases, APIs, événements et logs. Stockez-les dans un data lake (S3/GCS) ou entrepôt (Snowflake/BigQuery).

Outils : Fivetran, Airbyte, Kafka, AWS Kinesis, dbt pour les transformations

Feature engineering

Critique

Transformez les données brutes en features. Calculez agrégations, encodages, embeddings. Stockez-les dans un feature store pour réutilisation.

Outils : Feast, Tecton, Databricks Feature Store, pipelines custom (Spark/dbt)

Pipeline d'entraînement

Coeur

Entraînez les modèles sur données historiques. Suivez expériences, hyperparamètres et métriques. Validez sur jeux holdout.

Outils : MLflow, Weights & Biases, Kubeflow, Vertex AI, SageMaker Training

Registre de modèles

Versioning

Stockez les modèles entraînés avec versioning. Suivez ceux en production, staging, archivés. Incluez les métadonnées.

Outils : MLflow Model Registry, Vertex AI Model Registry, S3 + base métadonnées custom

Infrastructure de serving

Production

Déployez les modèles en APIs REST ou jobs batch. Gérez scaling, load balancing et failover automatiquement.

Outils : TensorFlow Serving, TorchServe, Seldon, KServe, AWS SageMaker, Vertex AI

Monitoring & observabilité

Opérations

Suivez la performance modèle, le drift, la latence de prédiction et les erreurs. Alertez quand la qualité baisse.

Outils : Arize, WhyLabs, Evidently AI, dashboards Grafana + Prometheus custom

Orchestration

Automatisation

Coordonnez entraînement, validation et déploiement. Planifiez le retraining. Gérez dépendances et flux.

Outils : Airflow, Prefect, Dagster, Kubeflow Pipelines, AWS Step Functions

ComposantRôleLatenceCritique pour
IngestionCollecter les données brutesMinutes à heuresFraîcheur des données
Feature engineeringTransformer en featuresBatch : heures / Online : msQualité modèle
EntraînementCréer les modèlesHeures à joursAccuracy
RegistreVersionner les modèlesInstantanéGouvernance
ServingGénérer des prédictions<100msExpérience utilisateur
MonitoringSuivre la performanceTemps réelFiabilité
OrchestrationAutomatiser les workflowsVariableAutomatisation

3. Patterns d'architecture ML courants

Les cas d'usage ML demandent des architectures différentes. Une recommandation n'a pas les mêmes besoins qu'une détection de fraude. Voici cinq patterns qui couvrent 90% des systèmes ML de production.

Pipeline de prédictions batch

Générer des prédictions pour tous les utilisateurs pendant la nuit. Stocker en base. Servir des résultats pré-calculés.

Data Lake → Feature Store → Modèle → DB de prédictions → Application

Idéal pour

  • Recommandations produits
  • Scores de churn
  • Listes d'emailing ciblées
  • Scores de risque quotidiens

Compromis

  • Prédictions potentiellement obsolètes (6-24h)
  • Ne réagit pas aux événements temps réel
  • Besoins de stockage pour toutes les prédictions

Pipeline de serving temps réel

Prédire à la demande quand l'utilisateur fait une requête. Récupérer les features en temps réel, appeler l'API modèle, retourner la réponse.

Requête API → Feature Store (online) → Endpoint modèle → Réponse (<100ms)

Idéal pour

  • Détection de fraude
  • Pricing dynamique
  • Personnalisation de contenu
  • Décisions de crédit

Compromis

  • Coûts infra plus élevés
  • Layer de feature serving complexe
  • Besoins de modèles basse latence

Pipeline d'apprentissage en ligne

Mettre à jour les modèles en continu à l'arrivée de nouvelles données. Pas de retraining batch : le modèle évolue en temps réel.

Stream (Kafka/Kinesis) → Mise à jour feature → Mise à jour modèle → Prédiction → Boucle de feedback

Idéal pour

  • Prédiction de clic pub
  • Recommandations de news
  • Real-time bidding
  • Détection d'anomalies

Compromis

  • Implémentation complexe
  • Modèles limités (linéaires, arbres)
  • Debug de drift plus difficile

Hybride batch + temps réel

Calculer les features lourdes en batch, les features rapides en temps réel. Combiner les deux pour la prédiction.

Features batch (S3) + features temps réel (Redis) → Modèle → Prédiction

Idéal pour

  • Ranking recherche e-commerce
  • Pricing ride-share
  • Décisions de prêt
  • Personnalisation complexe

Compromis

  • Le plus complexe à construire
  • Deux pipelines de features à maintenir
  • Synchronisation délicate

Pipeline ML embarqué (edge)

Déployer les modèles sur des devices (mobile, IoT, navigateur). Faire les prédictions localement sans appel serveur.

Entraînement cloud → Optimisation modèle → Déploiement edge → Inférence on-device

Idéal pour

  • Apps mobiles (reconnaissance faciale)
  • IoT (maintenance prédictive)
  • Applications offline-first
  • Cas sensibles à la vie privée

Compromis

  • Contraintes de taille de modèle (<10MB)
  • Puissance de calcul limitée
  • Mises à jour des modèles plus difficiles

Choisir le bon pattern

Commencez par le batch si vous tolérez 6-24h de délai : le plus simple et économique. Passez au temps réel uniquement quand la latence impacte le business. Ajoutez l'apprentissage en ligne quand vos données changent plus vite que le retraining quotidien. La plupart des équipes utilisent le batch pour 80% des modèles et le temps réel pour les 20% critiques.

4. Processus de conception d'un pipeline ML

Concevoir un pipeline ML, c'est planifier un voyage : point de départ (sources de données), destination (métrique business) et étapes (features, modèle, prédictions). Voici un processus éprouvé en 7 étapes.

1

Définir l'objectif business et les métriques

Partez du besoin business, pas du modèle. Quelle décision ce système ML doit-il améliorer ? Comment mesurerez-vous le succès ?

Exemple : ranking de recherche e-commerce

  • Objectif : Augmenter les achats issus de la recherche
  • Métrique principale : Taux de conversion recherche→achat
  • Secondaires : CTR, revenu par recherche
  • Métrique modèle : NDCG@10 (qualité de ranking)
2

Cartographier les sources et la fraîcheur des données

Identifiez où vivent les données et la fraîcheur requise. Cela détermine votre architecture.

Pour l'entraînement

  • Logs comportement (S3)
  • Catalogue produit (PostgreSQL)
  • Historique achats (Snowflake)
  • Peut être âgé de 1-7 jours

Pour le serving

  • Contexte temps réel (session)
  • Métadonnées produit (cache Redis)
  • Profil utilisateur (feature store)
  • Latence cible <50ms
3

Concevoir le pipeline de features

Planifiez comment les données brutes deviennent des features. Séparez features lentes (batch) et rapides (online).

Features batch (calcul quotidien)

Nombre d'achats sur 30 jours, panier moyen, affinité catégorie

Features online (à la requête)

Requête de recherche, contenu du panier, heure de la journée, device

4

Choisir l'infrastructure d'entraînement

Sélectionnez les outils selon complexité du modèle, taille de données et fréquence de retraining.

Taille de donnéesType de modèleInfrastructure
<10GBXGBoost, LightGBMVM unique, Jupyter
10GB-1TBRéseaux, ensemblesGPU VM, SageMaker
>1TBDeep learningDistribué (Spark, Ray)
5

Concevoir l'architecture de serving

Choisissez entre prédictions batch (pré-calculées) ou API temps réel (à la demande).

Serving batch

Prédire pour tous les utilisateurs → Stocker en DB → L'application lit les scores pré-calculés

Idéal : emails quotidiens, rapports nocturnes, listes de reco

API temps réel

Requête utilisateur → Récupérer features → Appeler le modèle → Retourner prédiction (<100ms)

Idéal : fraude, contenu dynamique, décisions instantanées

6

Mettre en place monitoring & alertes

Suivez trois catégories : performance modèle, santé système, impact business.

Métriques modèle

Accuracy, precision, recall, AUC

Santé système

Latence, taux d'erreur, throughput

KPIs business

Conversion, revenu, engagement

7

Automatiser retraining et déploiement

Orchestration pour retrainer automatiquement quand la performance baisse ou sur planning.

02:00 : extraire features → entraîner → valider accuracy

→ Si accuracy > seuil : déployer en staging

→ Lancer A/B test (10% trafic)

→ Si conversion progresse : promouvoir en production

Commencer simple, itérer

Ne construisez pas tout d'un coup. Démarrez avec entraînement manuel + prédictions batch. Ajoutez le temps réel si nécessaire. Ajoutez le retraining automatique après un monitoring de base. Chaque étape devrait prendre 1-2 semaines.

5. Bonnes pratiques d'architecture ML

Ces patterns distinguent les systèmes ML de production des prototypes. Inspiré des équipes qui déploient des centaines de modèles.

Utiliser un feature store pour la cohérence

La cause principale des échecs en production est le skew training-serving : features calculées différemment. Les feature stores centralisent les définitions.

Règle : Définir une fois. Calculer offline pour l'entraînement (Spark batch), online pour le serving (Redis/DynamoDB). Même code, moteurs différents.

Monitorer le drift des données, pas que les métriques modèle

L'accuracy peut rester haute même si les prédictions deviennent inutiles : la distribution d'entrée a changé. Surveillez les distributions de features et alertez quand elles dérivent.

À suivre : Moyenne, écart-type, nulls, outliers pour chaque feature. Comparer production vs entraînement chaque semaine.

Versionner tout : données, features, modèles, code

Quand un modèle échoue, il faut reproduire l'entraînement exact. Versionnez snapshots de données, transformations, binaire modèle et code ensemble.

Pattern : Chaque version relie : snapshot données (chemin S3), commit des features (SHA), version du code, hyperparamètres.

Prévoir le rollback, pas seulement le rollout

Les nouveaux modèles échoueront. Gardez la version précédente déployée. Routez 90% vers l'ancien, 10% vers le nouveau. Si les métriques chutent, rollback instantané.

Pattern : Shadow → canary 10% → test 50% → prod 100%. Le rollback doit être un bouton, pas une intervention de 2 heures.

Optimiser pour le coût d'inférence, pas d'entraînement

On entraîne une fois, on sert des millions de fois. Un modèle à 100$ d'entraînement mais 10 000$/mois en serving est un mauvais deal. Pensez taille, latence et GPU tôt.

Arbre de décision : Un modèle plus petit (DistilBERT) atteint-il 95% de la performance pour 10x moins cher ? C'est souvent le bon choix.

Mettre des circuits breakers et fallbacks

Les modèles ne sont pas des bases de données : ils échouent de façon créative. Ayez toujours un fallback : règles simples, prédictions en cache, dégradation contrôlée.

Exemple : Si le modèle fraude time-out → fallback heuristique. Si le ranking échoue → résultats par popularité. Ne jamais exposer d'erreurs aux utilisateurs.

6. Outils et plateformes pour pipelines ML

Le paysage tooling ML est immense. Voici une liste triée par composant des outils qui comptent vraiment.

Feature stores

Open source

  • Feast : Léger, idéal startups. Support offline (S3/Snowflake) + online (Redis).
  • Feathr (LinkedIn) : Entreprise, setup complexe. Excellent pour features batch large échelle.

Managés

  • Tecton : Référence, coûteux. Temps réel, monitoring, lineage intégrés.
  • Databricks Feature Store : Idéal si vous êtes déjà sur Databricks. Intégration Delta Lake.

Entraînement & suivi d'expériences

Tracking d'expériences

  • MLflow : Standard, gratuit. Suit expériences, modèles, déploiements.
  • Weights & Biases : Meilleure UI pour la recherche. Visualisations temps réel.
  • Neptune.ai : Organisation métadonnées, features entreprise.

Plateformes d'entraînement

  • AWS SageMaker : End-to-end AWS. Entraînement, tuning, serving intégrés.
  • Google Vertex AI : Équivalent GCP. Excellente AutoML.
  • Azure ML : Intégration Azure, fonctionnalités enterprise fortes.

Serving de modèles

Open source

  • TensorFlow Serving : Production-ready pour modèles TF. APIs gRPC + REST.
  • TorchServe : Officiel PyTorch. Multi-modèle, A/B testing.
  • KServe (Kubeflow) : K8s-native. Autoscaling, canary.

Managés

  • SageMaker Endpoints : Autoscaling, multi-modèle. Simple mais coûteux.
  • Vertex AI Prediction : Serving géré GCP. Batch + online.
  • Seldon Deploy : MLOps entreprise. Stratégies de déploiement avancées.

Monitoring & observabilité

Monitoring ML spécialisé

  • Arize AI : Détection de drift, explainability, RCA.
  • WhyLabs : Léger et économique. Monitoring data quality.
  • Evidently AI : Open source. Rapports de drift, intégration dashboards.

Observabilité générale

  • Prometheus + Grafana : Stack standard. Métriques ML custom + alertes.
  • Datadog : APM tout-en-un. Intégrations ML.
  • New Relic : Bonnes features ML dans les versions récentes.

Orchestration

Généralistes

  • Apache Airflow : Éprouvé, grand écosystème. DAGs Python.
  • Prefect : Alternatif moderne. Meilleur pour workflows dynamiques.
  • Dagster : Orchestration data-aware. Super pour data + ML.

Spécifiques ML

  • Kubeflow Pipelines : Pipelines ML K8s. Courbe d'apprentissage raide.
  • AWS Step Functions : Orchestration serverless pour SageMaker.
  • Vertex AI Pipelines : Pipelines gérés GCP. Backend TFX ou Kubeflow.

Choisir vos outils

Commencez par : MLflow (tracking), SageMaker/Vertex (train + serve), Airflow (orchestration), Prometheus (monitoring). Ce stack couvre 80% des besoins. Ajoutez des outils spécialisés (Feast, Tecton, Arize) seulement quand l'absence fait mal.

7. Checklist de design d'architecture ML

Utilisez cette checklist pour valider votre design avant de construire. Chaque point évite un échec courant en production.

Métriques business définies

Métrique primaire (conversion, revenu), métrique modèle (AUC, RMSE) et lien entre elles

Sources de données documentées

Localisation, fraîcheur requise, accès, SLA de qualité

Pipeline de features conçu

Séparation batch/online, feature store choisi, code réutilisable

Infra d'entraînement sélectionnée

Plateforme (SageMaker/Vertex), compute dimensionné, tracking configuré

Architecture de serving définie

Choix batch vs temps réel, cible de latence, plateforme

Registre de modèles en place

Versioning, stockage métadonnées, workflow de promotion (dev→staging→prod)

Monitoring configuré

Métriques modèle, drift, santé système, KPIs business + alertes

Retraining automatisé

Planning (quotidien/hebdo), triggers, validations avant déploiement

Stratégie de rollback prête

Revenir à la version précédente en <5 minutes, canary, blue-green

Documentation écrite

Diagramme d'architecture, flux de données, contrats API, runbooks incidents

8. Questions fréquentes

Quels sont les composants clés d'un pipeline ML ?

Ingestion, feature engineering, pipeline d'entraînement, registre de modèles, serving, monitoring et orchestration.

Différence entre pipeline d'entraînement et de serving ?

L'entraînement traite des données historiques en batch (heures à jours). Le serving traite des requêtes en millisecondes. L'entraînement vise l'accuracy, le serving la latence/disponibilité.

Batch ou temps réel pour servir ?

Batch (prédictions nocturnes) pour recommandations, scores de risque, cas non urgents. Temps réel pour fraude, pricing dynamique, features utilisateur. Souvent un mix.

Comment gérer le feature engineering en production ?

Avec un feature store pour centraliser et servir de façon cohérente en entraînement et production. Une seule définition, calcul batch + online pour éviter le skew.

À quelle fréquence retrainer les modèles ?

Selon le drift. E-commerce : quotidien/hebdo. Fraude : toutes les quelques heures. Crédit : mensuel/trimestriel. Déclenchez le retraining quand la performance passe sous le seuil.

Erreur la plus fréquente en architecture ML ?

Optimiser le modèle plutôt que le business. Passer des mois à gagner 1% alors que le besoin est l'itération rapide. Commencez simple : batch, retraining manuel, monitoring basique. Ajoutez de la complexité seulement si la douleur est réelle.

Concevez votre architecture de pipeline ML

Décrivez votre système ML en langage naturel et obtenez en secondes un diagramme d'architecture professionnel. Idéal pour docs techniques, présentations et alignement d'équipe.