Dire le réel : quelques projets techniques réalisés
Voici une sélection personnelle et commentée de projets que nous avons réalisés depuis 2015, directement ou en équipe. Ils sont tous liés à la data science, l'aide à la décision et à l'intelligence artificielle.
Un mot d'introduction
Il est important de dire le réel sans chercher à l'enjoliver ou à le maquiller comme un vulgaire pot de yaourt. Nous décrivons ici des projets réels menés depuis 2015. Certains ont été regroupés. Le but de ce billet est de proposer notre vision d'activité en intelligence artificielle dans les organisations publiques ou privées, en s'appuyant sur une expérience de première main : la notre.
L'activité en IA recouvre en réalité différents sujets : l'informatique décisionnelle (business intelligence), le Big Data, le data mining, le machine learning, les analytics, la data science, et maintenant l'intelligence artificielle. Que retrouve-t-on derrière ces buzzwords ? La conception, l'implémentation et l'automatisation de traitements de données non triviaux à l'aide de méthodes statistiques parfois complexes, incluant des données diverses, parfois massives, parfois structurées.
p01| accompagner des équipes d'ingénieurs des données
Les organisations ont des besoins récurrents en traitement de données, sur un
vaste périmètre qui va de la gestion à l'analyse de données, en passant par la
visualisation. Certains de ces besoins sont pris en compte dans les outils
internes (ex: ERP
) ou dans des outils métiers. Quand ils ne ne sont
pas couverts (ex: nouvelles données, traitements spécifiques), les organisations
font appel à des professionnels compétents en mathématiques appliquées et en
informatique décisionnelle. Nous les regroupons ces data analysts et data
scientists sous le terme plus vaste d'ingénieurs des données, qu'ils soient effectivement
impliqués dans des projets R&D ou non. Selon notre expérience, ces
professionnels sont souvent jeunes (<30 ans) et ces missions
data constituent en quelque sorte leurs premières expériences professionnelles.
Chaque projet de traitement de données est unique, il nécessite ainsi la conception et l'écriture de programmes de traitement uniques. Cette situation est, en soit, déjà complexe. Si on ajoute que les projets data sont souvent exploratoires, qu'ils incluent habituellement une composante R&D et qu'il y a, de plus, une incitation implicite, voire une obligation, à utiliser des outils statistiques avancés comme les programmes d'apprentissage automatique (machine learning, deep learning), on comprend aisément que la situation soit difficile. Les juniors lancés dans le monde complexe de l'analyse de données peuvent ainsi tirer profit d'un accompagnement par des professionnels plus expérimentés.
Nous sommes intervenus lors de missions d'accompagnement pour différentes organisations, dans des équipes composées de deux à cinq ingénieurs des données. Notre but était de faciliter, d'accélérer ou simplement de rendre possible la réalisation des projets data, en lien avec les responsables d'équipe, les experts métiers et les équipes techniques.
p02| explorer des données massives sur une chaine de production industrielle
Le projet consiste à réaliser une exploration de données provenant d'un contexte de production industrielle, dans le but de relier la qualité des pièces aux paramètres de fonctionnement. Le besoin métier est de déterminer les paramètres décisifs pour pouvoir, à terme, optimiser la production.
La chaîne de production est instrumentée par de multiples capteurs. Ils mesurent des milliers de paramètres avec une fréquence de l'ordre du hertz. La masse de données est trop importante pour que les analyses soient menées avec les outils classiques (ex: tableur, MS PowerBI). Les bases de données de production ont été historiquement conçues pour stocker efficacement les données de production. Ces bases spécifiques ne sont pas adaptées à un traitement statistique systématique, qui nécessite de réaliser des étapes variées d'extraction, de formatage, de sélection et de manipulation avant de pouvoir réduire efficacement la masse de données à traiter. Il convient donc de concevoir des outils de traitement spécifiques adaptés aux informations disponibles, à leurs formats et aux bases exploitées.
Nous sommes intervenus sur l'ensemble du projet, de l'expression des besoins métiers à conception et l'implémentation des programmes de traitement. La difficulté technique est liée à la modélisation des informations utiles, à la réduction de la dimensionnalité des données brutes, au choix des outils mathématiques à utiliser puis à la réalisation de l'analyse proprement dite. Certains paramètres de production importants ont été identifiés.
p03| créer un outil d'informatique décisionnelle
Le projet consiste à concevoir et programmer un outil en ligne de visualisation de données pour faciliter la gestion commerciale de magasins grand public. Le besoin métier est de disposer d'indicateurs opérationnels chiffrés liés au chiffre d'affaires et à la marge, avec différentes ventilations possibles (magasin, temps, gamme de produit, produit).
La base de données est constituée de l'ensemble des opérations réalisées dans une centaine de magasins. Ces opérations incluent une vingtaine de paramètres commerciaux ou opérationnels, dont le prix d'achat, le prix de vente, la quantité et les éventuelles remises. La profondeur des données est de dix ans, pour un total de plusieurs dizaines de millions d'opérations. Les gestionnaires des magasins n'ont pas les capacités techniques pour réaliser les opérations techniques de sélection et de ventilation des données selon les différents paramètres (n=10).
Nous sommes intervenus sur l'intégralité du projet : d'une part la conception et implémentation des programmes de traitement des données dont les routines de calcul, et d'autre part la création de l'outil SaaS (software as a service) et des bases de données associées, ainsi que sur le déploiement, la mise en production et la maintenance opérationnelle de l'ensemble.
p04| détecter des anomalies dans des images
Le projet consiste à prototyper un outil de détection d'anomalie dans des images. Le besoin métier est de pouvoir détecter automatiquement certains types d'objets présents dans des images issues de caméras utilisées en milieu urbain ou naturel.
La base de données est constituée de milliers de prises de vue dans une dizaine
de contextes différents et par des dispositifs de captation différents. Les
objets présents dans les images ne sont ni localisés ni annotés. Cette situation
ne permet donc pas d'envisager un entraînement spécifique ; une adaptation
(fine tuning) est cependant envisagée. Une veille scientifique est réalisée à
partir de la littérature technique disponible, en se concentrant sur les
outils de mathématiques appliquées ne faisant pas appel à l'apprentissage
automatique. Une veille technologique est ensuite réalisée à partir des outils
d'apprentissage automatique pré-entrainés disponibles sur des plateformes de
partage de modèles (huggingface
, ultralytics
). Différentes méthodes et
outils sont testés sur les images disponibles.
Après avoir conduit un audit sur les programmes disponibles, nous sommes intervenus sur la veille technique puis sur la sélection, le prototypage et l'évaluation des performances de différents algorithmes de détection.
p05| réaliser une étude statistique sur des biomarqueurs
Le projet consiste à réaliser une étude statistique sur un ensemble de biomarqueurs, dans le cadre d'un projet de santé mené par une entreprise innovante. Le besoin métier est d'identifier des corrélations entre différentes mesures expérimentales afin de mieux cibler les effets d'un dispositif médical.
La base de données est constituée de données brutes issues différents logiciels propriétaires. Les formats de données ne sont pas documentés et nécessitent des actions de rétro-ingénierie. Les données sont de types différents : chiffre, catégorie, texte libre. Dans de nombre non négligeable de cas, des données sont manquantes, ce qui complique l'exploitation. Enfin le contexte est complexe, en raison de fort pré-requis scientifiques et médicaux.
Nous sommes intervenus sur la conception et la réalisation de l'analyse statistique, après consolidation des données et qualification des différents paramètres.
p06| conception et prototypage d’un outil de détection automatique de chute d'enfants dans les piscines
Ce projet consiste à prototyper un programme d'identification automatique de certains type de chutes dans des bassins. Le besoin métier est de détecter des chutes d'enfants dans des piscines privées avec un bon niveau de fiabilité, en limitant au maximum les fausses alertes.
La base de données est constituée de données mesurées par un hydrophone. Un catalogue de chutes à détecter est fourni, ainsi qu'un catalogue de bruits parasites recueillis dans des contextes différents et des conditions variése: bassin, position de l'hydrophone, gain, bruits extérieurs etc. Une centaine d'enregistrements est ainsi disponibles. Les mesures sont transformées en signatures auditives par une analyse spectrale à l'aide d'approches temps-fréquence (Fourier et ondelettes). Des critères de détection sont conçus sur mesure à partir de l'étude qualitative des spectrogrammes. On construit ainsi un sytème expert sans faire appel à l'apprentissage automatique.
Nous sommes intervenus sur l'ensemble des tâches techniques. Le prototype montre des performances de détection de l'ordre de 70%, ce qui est acceptable pour au vu du temps de conception et de développement. Les programmes sont déployés dans un système embarqué et fonctionne de manière satisfaisante pour ce niveau de maturité en conditions contrôlées.
Nous ne sommes toujours pas des machines. Nos textes sont pensés et écrits par des humains. Aucun texte n’est généré. Tout soutien sera le bienvenu.