Alric le Conte

Projets / invoice-classification-mlops

Classification de factures avec releases Blue/Green

Réentraînement, support et releases Blue/Green pour un classifieur de factures utilisé chaque jour par une équipe finance.

Période
2024–2026
Rôle
MLOps et data scientist sur les évolutions et le support
Contexte
Entreprise de biens de consommation
Cloud
Azure
~90 %accuracy sur les classes principales

[ Architecture ]

Comment ça marche

Lancez un scénario pour suivre une requête à travers le système. Sélectionnez un composant pour lire son rôle et ses flux.

Lancer un scénario

utilisateurÉquipe financeau quotidienserviceBascule du traficvers le slot actifserviceSlot BlueAPI d'inférenceserviceSlot GreenAPI d'inférenceIARetrain & registryXGBoost · Azure MLserviceCI/CDAzure DevOps
lot

équipe finance

Lot de factures à classer

Un lot de factures envoyé depuis les systèmes financiers.

ConsoleExécution simulée · données illustratives
  1. Appuyez sur Classer un lot de factures pour suivre la requête à travers le système.
  1. 01Équipe financeFactures prêtes à être classées
  2. 02Bascule du traficRequête routée vers le slot actif
  3. 03Slot BlueDonnées préparées · modèle appliqué · classes renvoyées
  4. 04Bascule du traficRéponse transmise
  5. 05Équipe financeFactures classées disponibles
  6. ✓L'équipe finance obtient chaque facture avec sa classe prédite. Elle ne voit jamais quel slot a répondu.

Problème

Les factures et les règles métier évoluent sans cesse, ce qui fait dériver la qualité de la classification. L’équipe finance utilise le service chaque jour : chaque changement doit être déployé sans interruption et rester réversible.

Données

Les factures historiques avec leurs classes validées, et les factures récentes pour le réentraînement périodique.

Approche

  • Réentraînement périodique. Les classifieurs XGBoost et scikit-learn sont réentraînés sur des données récentes.
  • Model registry. Chaque modèle est versionné avec ses métriques dans Azure ML.
  • Releases Blue/Green. Le pipeline déploie sur le slot inactif, vérifie, puis bascule le trafic.

Évaluation

Chaque modèle réentraîné est vérifié sur des cas connus avant la bascule du trafic. Les classes principales atteignent environ 90 % d’accuracy.

Résultat

Le classifieur a traversé plusieurs cycles de réentraînement. Une mauvaise release s’annule d’une seule bascule.

Mon rôle

J’ai travaillé sur les évolutions et le support : réentraînement, pipelines Azure DevOps avec déploiement Blue/Green et migration vers Azure ML. Je n’ai pas construit le modèle ni le service d’origine.