CE23 - Intelligence Artificielle 2020

COmpression de REseaux et de GRAPHes pour une Informatique Efficace – COREGRAPHIE

Compression de Réseaux et de Graphes pour une Informatique Efficace

Résumer/compresser les grands graphes est important pour simplifier leur traitement dans plusieurs applications

Comment construire un résumé significatif ou un squelette pour un grand graphe afin qu'il puisse être utilisé à la place du graphe initial pour divers types de requêtes ?

Les graphes sont omniprésents. Également appelés réseaux, ils servent à modéliser de nombreux problèmes et données du monde réel : réseaux sociaux, réseaux routiers, molécules et génomes, images ou objets 3D, etc. Aujourd’hui, nombre de ces applications sont confrontées à un problème majeur : d’un côté, le volume des données croît à un rythme tel que même les solutions polynomiales deviennent insuffisantes ; de l’autre, la rapidité de réponse, même partielle, est cruciale pour les cas d’usage nécessitant des analyses en temps réel, comme la finance ou la cybersécurité. Il est donc nécessaire de représenter ces données de manière plus simple afin de pouvoir les explorer plus rapidement. Dans ce projet, nous plaçons la compression au cœur de la problématique du traitement des grands graphes de données. Notre objectif est de définir un cadre de réduction de graphes qui permet de construire des représentations plus simples et plus petites des graphes, c’est-à-dire des résumés de graphes, susceptibles d’être utilisées à la place des graphes initiaux. À cette fin, nous proposons de développer des algorithmes capables d’effectuer une telle compression, et de les affiner en fonction à la fois de la qualité des résumés obtenus et des types d’opérations qu’ils permettent de réaliser. L’avantage de cette approche est qu’elle permet de traiter des graphes de données massifs en temps linéaire ou quasi linéaire.

Durant le projet, nous avons exploré les approches suivantes :

- Décomposition de graphes dans le but de trouver des structures compressibles. Ces structures sont souvent des sous graphes denses, comme les cliques et leurs variantes, ou des structures particulières, comme les modules qui sont des ensembles de nœuds qui partagent le même voisinage.

- Reconnaissance des classes de graphes en utilisant les parcours de graphes. En effet, de par leurs propriétés, certaines classes de graphes sont plus compressibles que d'autres.

- Utilisation de langages de programmation innovants (RUST) pour accélérer la compression de grands graphes (passage à l'échelle) comme le graphe de Software Héritage

- Filtrage d'arêtes. C'est une compression avec perte qui consiste à enlever des arêtes du graphe tout en gardant certaines propriétés de celui-ci.

- Embedding. Cette compression consiste à représenter le graphe sous forme vectorielle afin d'appliquer des algorithmes de machine learning.

- Echantillonnage, qui consiste à sélectionner des nœuds, des arêtes ou des sous-graphes qui représentent le mieux le graphe initial. Nous avons appliqué l'échantillonnage pour améliorer l'entrainement des "Graph Neural Networks" (GNNs).

- Interprétation des backbones. Nous avons travaillé sur les deux questions suivantes : Quelle est la signification d'un résumé de graphe ? Est ce que les LLMs peuvent décrire un backbone ?

 

- Sur la décomposition de graphes dans le but de trouver des structures compressibles, nos résultats sont :

* Un nouvel algorithme de détection de bicliques sur les graphes bi-partis

* Une nouvelle approche pour la détection de quasi-cliques pour la compression de graphes.

* Un algorithme de détection de motifs compressibles tenant compte des recouvrements entre structures.

- Sur la reconnaissance des classes de graphes en utilisant les parcours de graphes, , nos résultats sont :

* Pour deux classes de graphes où LexBFS constituait le meilleur algorithme de reconnaissance connu, nous montrons que trier les listes d’adjacence puis effectuer respectivement un parcours en largeur (BFS) et un parcours en profondeur (DFS) suffit.

* Reconnaissance de classes en utilisant les motifs d'un ordre total sur les graphes.

- Nous avons utilisé des langages de programmation innovants comme RUST pour accélérer la compression de grands graphes comme le graphe de Software Héritage. Ce travail a donné lieu à plusieurs logiciels de compression rapide de graphes disponibles via le site du projet.

- Sur le filtrage d'arêtes, qui est une compression avec perte mais qui permet de garder certaines propriétés du graphe initial, nos résultats sont :

* Une nouvelle approche de filtrage d'arêtes en utilisant le voisinage.

* Un état de l'art sur les méthodes de filtrage d'arêtes, avec comparaison et analyse sur plusieurs types de graphes.

* Construction d'une bibliothèque comprenant les méthodes existantes.

* Une nouvelle approche de construction de backbone basée sur la prédiction de liens.

- Proposition de plusieurs solutions d'embedding de graphes pour les applications d'apprentissage. Les embeddings sont des représentations vectorielles des nœuds, d’arêtes ou du graphe entier.

- Une nouvelle approche d'échantillonnage de sous-graphe avec application dans les "Graph Neural Networks" (GNNs).

- Une approche basée sur les grands modèles de langages (LLM) pour générer des interprétations des backbones.

 

- Prise en compte des graphes dynamiques : La gestion de graphes dynamiques constitue un verrou important. Les techniques actuelles peinent à s’adapter aux modifications fréquentes de la structure (ajouts/suppressions de nœuds ou d’arêtes, variations de poids), ce qui compromet la pertinence et la stabilité des représentations compressées dans un cadre dynamique. Le développement de méthodes incrémentales reste un défi majeur

- Outils d’évaluation d’une « bonne » compression à perte

Un axe de travail important concerne la conception et la formalisation d’outils d’évaluation adaptés pour qualifier la qualité d’une compression à perte. Au-delà des critères classiques de taux de compression, il s’agit de définir des métriques capables de rendre compte de la préservation des propriétés essentielles des graphes.

- Exploration de nouveaux cas d’usage en partenariat avec des industriels

Un autre axe de développement concerne l’identification et l’exploration de cas d’usage concrets, notamment en biologie, en chimie organique ou dans d’autres domaines industriels manipulant des graphes de grande taille. Ces collaborations appliquées offriraient un terrain d’expérimentation privilégié pour tester les méthodes de compression et de résumé dans des contextes réels, où les enjeux portent à la fois sur la performance algorithmique et sur l’interprétabilité des résultats.

- Utilisation de l’apprentissage par renforcement pour la construction de résumés ou de backbones, ce qui permet d'automatiser le processus de sélection des informations pertinentes dans un graphe. Cette approche permettrait d’obtenir des méthodes adaptatives, capables de s’ajuster aux caractéristiques propres d’un graphe donné, tout en offrant des garanties sur la qualité des résumés obtenus.

 

Les graphes sont omniprésents. Également appelés réseaux, les graphes servent à modéliser de nombreux problèmes et données du monde réel : réseaux sociaux, réseaux routiers, assemblage de fragments de génomes, images et objets 3D (pour la reconnaissance et la classification de formes), etc. De nos jours, bon nombre de ces applications, sont confrontées à un problème majeur : le volume de données augmente à tel point que même les solutions polynomiales ne suffisent plus. Les plateformes distribuées ou parallèles, comme MapReduce, qui sont des approches efficaces pour traiter les données massives, ne sont pas nécessairement adaptées aux traitement de grands graphes, principalement à cause de la structure inhérente des données de type graphe et à la nature itérative de leurs algorithmes.

Dans ce projet, nous plaçons la compression au cœur de la problématique du traitement des grands graphes de données. Notre objectif est de définir un cadre de réduction de graphes qui permet de construire des représentations plus simples et plus petites des graphes, i.e., des résumés, que l’on peut utiliser à la place des graphes initiaux. Pour cela, nous proposons de développer des algorithmes qui permettent d’effectuer de telles compressions, et de les affiner en fonction de la qualité des résumés obtenus, ainsi que des traitements qu’ils permettent d’entreprendre.
L’avantage d’une telle approche est de traiter les données massives de type graphe en temps linéaire ou quasi-linéaire. Notre méthodologie se base sur la recherche de régularité dans les graphes afin de les réduire et de les analyser.

Ainsi, le défi que nous abordons est de définir, prototyper et tester une telle approche pour proposer un outil efficace, évolutif et opérationnel pour l’analyse de graphes qui peut être étendu à toutes les données structurées de type graphe. Nous appliquerons principalement nos travaux à Software Heritage, la plus grande archive de logiciels, avec code source et historique de développement, fondée par l’INRIA. Le modèle de données de cette archive est un graphe en plein expansion consistant de 15 milliards de nœuds et 200 milliards de liens.

Les nouveaux outils et algorithmes produits par le projet, dont le code source sera ouvert, créeront une base pour le développement de nouveaux types d’algorithmes d’analyse de données et de recherche d’informations pour les données de type graphe et trouveront des applications dans divers domaines et disciplines utilisant des graphes ou des réseaux.

Coordination du projet

Hamida Seba (UMR 5205 - LABORATOIRE D'INFORMATIQUE EN IMAGE ET SYSTEMES D'INFORMATION)

L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.

Partenariat

Centre de Recherche Inria de Paris
IRIF Institut de Recherche en Informatique Fondamentale
LIRIS UMR 5205 - LABORATOIRE D'INFORMATIQUE EN IMAGE ET SYSTEMES D'INFORMATION
LIB Laboratoire d'Informatique de Bourgogne - EA 7534

Aide de l'ANR 459 928 euros
Début et durée du projet scientifique : mars 2021 - 48 Mois

Liens utiles

Explorez notre base de projets financés

 

 

L’ANR met à disposition ses jeux de données sur les projets, cliquez ici pour en savoir plus.

Inscrivez-vous à notre newsletter
pour recevoir nos actualités
S'inscrire à notre newsletter