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
[ 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.
équipe finance
Lot de factures à classer
Un lot de factures envoyé depuis les systèmes financiers.
- Appuyez sur Classer un lot de factures pour suivre la requête à travers le système.
- 01Équipe financeFactures prêtes à être classées
- 02Bascule du traficRequête routée vers le slot actif
- 03Slot BlueDonnées préparées · modèle appliqué · classes renvoyées
- 04Bascule du traficRéponse transmise
- 05Équipe financeFactures classées disponibles
- ✓L'équipe finance obtient chaque facture avec sa classe prédite. Elle ne voit jamais quel slot a répondu.
- 01Retrain & registryRéentraîné sur les factures récentes · version enregistrée
- 02CI/CDPipeline déclenché pour la nouvelle version
- 03Slot GreenDéployé sur le slot inactif · contrôles sur cas connus OK
- 04Bascule du traficTrafic basculé vers le slot Green
- 05Slot BlueVersion précédente conservée · rollback en une bascule
- ✓Le nouveau modèle est en production après avoir passé ses contrôles, et la version précédente reste déployée pour un rollback instantané.
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.