Partager

Streamer, un environnement logiciel pour l’analyse de données en flux

Streamer propose un environnement complet permettant aux data scientists d’expérimenter leurs algorithmes d’apprentissage sur des données en flux. Ouvert, multi-OS et disponible en open source, Streamer automatise toute la chaîne de traitement des flux de données. Il offre une grande latitude au data scientist pour configurer ses flux et lui permettre ainsi de mener ses études dans les conditions les plus réalistes possibles, tout en minimisant drastiquement le temps requis pour mettre en œuvre son environnement de travail.

L’usage

Tester ses algorithmes de traitement de flux de données

Streamer est un environnement de traitement automatique de flux de données permettant l’expérimentation, de manière réaliste, d’algorithmes de machine learning travaillant en continu. Il effectue toutes les opérations de la chaîne de traitement, de l’ingestion des données jusqu’à la visualisation des résultats des opérations.

Streamer épargne ainsi au data scientist le développement – complexe et chronophage – de la chaîne de traitement. Ce dernier peut se concentrer sur la mise au point de ses algorithmes. L’environnement met à sa disposition des outils de préparation et de post-traitement des données, des algorithmes avancés d’apprentissage en flux et des outils d’évaluation des fonctions. Il présente aussi des API pour l’intégration d’outils et algorithmes tiers écrits dans de nombreux langages de programmation (Python, R, Java, etc.). Il fournit, par ailleurs, une interface graphique facilitant le suivi des processus d’apprentissage et d’analyse des flux de données.

Le code de Streamer est disponible en open source (licence GNU GPL 3) pour permettre aux data scientists de le modifier et d’y ajouter les fonctions qu’ils souhaitent. L’environnement se présente, cependant, également comme une application directement exécutable et utilisable dans un contexte opérationnel.

Streamer a été développé conjointement par des équipes du List et du laboratoire DAVID (Données et algorithmes pour une ville intelligente et durable, Université Paris-Saclay, UVSQ) dans le cadre du projet StreamOps, financé par l’Institut DATAIA.

Un environnement ouvert, entièrement maîtrisable

Ses forces principales :

  • son caractère multi-OS : Linux, Windows, Mac OS,
  • ses possibilités de configuration qui offrent une grande liberté au concepteur pour configurer ses flux de données et définir le contexte de fonctionnement de son algorithme,
  • sa simplicité d’utilisation et de déploiement,
  • ses outils permettant d’assurer le suivi visuel du processus d’apprentissage et d’analyse des flux de données entrants

Nous utilisons Streamer, que nous avons codéveloppé avec le CEA-List, dans le cadre du projet ANR Polluscope. Ce projet vise à développer des algorithmes pour caractériser l’exposition individuelle à la pollution de l’air, en exploitant les flux de mesures collectées par des micro-capteurs

Karine Zeitouni

professeur à l’UVSQ et responsable de l’équipe ADAM du laboratoire DAVID — université Paris-Saclay

L’apprentissage en continu

Streamer permet de développer des applications d’IA capables d’apprentissage en continu :

  • dans l’industrie, en vue de détecter rapidement des défauts ou des dérives survenant sur une chaîne de production,
  • dans la cybersécurité, pour identifier des requêtes suspectes et les neutraliser rapidement,
  • dans la santé, pour le suivi des patients et la détection des risques.
Cas d’usage

Fluidifier le développement de solutions d’IA pour la cybersécurité

Les experts en cybersécurité comptent de plus en plus sur les algorithmes d’apprentissage automatique pour les assister dans l’évaluation et la contextualisation des menaces et des alertes. Dans le cadre d’un programme de recherche interne, le CEA-List a montré l’apport de Streamer pour mettre au point et encadrer l’exploitation de ces algorithmes :

  • pendant la phase d’entraînement, il offre un environnement réaliste pour l’apprentissage sur des flux en continu ; il permet ainsi d’évaluer de manière précise les performances attendues par les modèles, en contrôlant de manière fine les variations – généralement imprévisibles – de comportement des données d’entrées, qui ne manquent pas de survenir en conditions opérationnelles ;
  • pendant le déploiement, il accompagne la mise en production en fournissant des tests unitaires de bonne intégration des algorithmes, i.e. qui valide la conformité des performances fonctionnelles en production par rapport à celle obtenues en environnement de conception ;
  • pendant l’exploitation, il fournit des méthodologies et des algorithmes permettant de suivre le comportement des algorithmes et d’identifier les dérives éventuelles à corriger.

Publications

STREAMER: a Powerful and Open-Source Framework for Continuous Learning in Data Streams, Garcia-Rodriguez, Sandra, Mohammad Alshaer, and Cedric Gouy-Pailler. Proceedings of the 29th ACM International Conference on Information & Knowledge Management. 2020.

Detecting Anomalies from Streaming Time Series Using Matrix Profile and Shapelets Learning, Mohammad Alshaer, Sandra Garcia-Rodriguez and Cedric Gouy-Pailler. Proceedings of the 32th ACM International Conference on Tools with Artificial Intelligence. 2020.

Pour en savoir plus, accéder à Streamer

À lire également

Use Cases

Smart maintenance

La maintenance intelligente vise à assurer un suivi continu et automatisé du fonctionnement des équipements et processus industriels. Elle permet de prévenir ou minimiser les risques de dysfonctio...
Lire la suite