Je viens d’être assigné à un projet passionnant chez MIC (Marketing Intelligence Consulting), où je travaille en tant qu’ingénieur IA. Notre client, “Air Paradis”, une compagnie aérienne, souhaite que nous développions un prototype d’IA capable de prédire le sentiment associé à un tweet, afin d’anticiper les bad buzz sur les réseaux sociaux.
Après un rendez-vous de cadrage avec les équipes d’Air Paradis, j’ai recueilli les éléments essentiels pour démarrer ce projet. Les données disponibles sont des tweets accompagnés d’un label binaire indiquant si le tweet exprime un sentiment négatif ou non. Mon objectif est de développer un modèle de prédiction fonctionnel, qui sera déployé via une API sur le Cloud et accessible à travers une interface locale comme un notebook ou une application Streamlit.
Mon manager, Marc, m’a proposé d’aller plus loin en testant plusieurs approches pour maximiser la valeur de ce prototype. Je vais donc développer deux types de modèles :
- Un modèle simple sur mesure, basé sur une régression logistique, pour une mise en place rapide et efficace.
- Un modèle avancé sur mesure, utilisant des réseaux de neurones profonds, qui sera celui déployé pour Air Paradis. Je testerai également différents word embeddings pour améliorer les performances du modèle, en évaluant notamment l’apport de BERT.
Marc m’a également demandé de mettre en œuvre une démarche orientée MLOps, qui est devenue une priorité pour notre société. Cela implique de :
- Présenter les principes du MLOps et ses avantages pour notre équipe.
- Utiliser MLFlow pour la gestion des expérimentations, incluant le suivi des entraînements, la centralisation du stockage des modèles, et le test du serving.
- Mettre en place un pipeline de déploiement continu via une API, intégrant des tests unitaires automatisés et hébergé sur une solution Cloud gratuite comme Azure webapp, PythonAnywhere, ou Heroku.
- Surveiller la performance du modèle en production avec Azure Application Insights, en mettant en place des alertes en cas de prédictions erronées fréquentes.
Je vais également explorer des techniques de réduction de la taille du modèle TensorFlow-Keras, si nécessaire, pour rester dans les limites des solutions gratuites de déploiement.
Enfin, Marc m’a demandé de rédiger un article pour notre blog à partir de mon travail de modélisation et de ma démarche MLOps. Ce sera une excellente occasion de partager notre approche et de valoriser notre expertise.
Je suis prêt à relever ce défi et à fournir un prototype performant et robuste pour Air Paradis, tout en posant les bases d’une solution généralisable à d’autres cas d’usage.
![1](https://stephanieroulland.fr/wp-content/uploads/1-4.png)
![2](https://stephanieroulland.fr/wp-content/uploads/2-4.png)
![3](https://stephanieroulland.fr/wp-content/uploads/3-5.png)
![4](https://stephanieroulland.fr/wp-content/uploads/4-5.png)
![5](https://stephanieroulland.fr/wp-content/uploads/5-5.png)
![6](https://stephanieroulland.fr/wp-content/uploads/6-4.png)
![7](https://stephanieroulland.fr/wp-content/uploads/7-4.png)
![8](https://stephanieroulland.fr/wp-content/uploads/8-4.png)
![9](https://stephanieroulland.fr/wp-content/uploads/9-4.png)
![10](https://stephanieroulland.fr/wp-content/uploads/10-4.png)
![11](https://stephanieroulland.fr/wp-content/uploads/11-4.png)