Poussière de néon représentant des ondes pour illustrer le GraphRAG

En quoi la méthode GraphRAG révolutionne la recherche augmentée ?

Avec l'évolution rapide des technologies de l'intelligence artificielle, les entreprises cherchent constamment à améliorer la précision et la pertinence des réponses fournies par les chatbots et les moteurs de réponse. Pour surmonter les limitations des solutions RAG traditionnelles, de nouvelles approches émergent. L'une de ces innovations, développée par les équipes de recherche de Microsoft, est GraphRAG. 

Cette méthode combine la génération augmentée par récupération (RAG) avec une indexation basée sur les graphes pour répondre aux questions sur des corpus de texte privés. Contrairement aux méthodes RAG classiques, qui se concentrent sur la récupération de segments de texte spécifiques, GraphRAG construit un index textuel sous forme de graphe, permettant ainsi une summarisation globale et ciblée par requête.

GraphRAG : comprendre son fonctionnement

Extraction et découpage du texte

La première étape de GraphRAG consiste à extraire les documents sources, tels que des articles et des rapports, et à les diviser en morceaux de texte gérables, appelés "text chunks"

- Par exemple, un rapport de recherche de 3000 tokens peut être divisé en cinq morceaux de 600 tokens chacun, avec une superposition de 100 tokens pour assurer la continuité contextuelle entre les morceaux. 
- Autre exemple, un document sur les initiatives en intelligence artificielle de Microsoft pourrait être divisé en sections couvrant différents aspects comme les partenariats, les projets internes, et les déclarations officielles.

Instances d’éléments

Après le découpage en morceaux de texte, chaque morceau est analysé par un modèle de langage (LLM) pour extraire les éléments fondamentaux du texte, qui comprennent les entités, les relations et les covariates. 

- Par exemple, dans un extrait de texte sur Microsoft et l’intelligence artificielle, des entités comme "Microsoft", "Satya Nadella" et "OpenAI" seraient extraites. Les relations pourraient inclure "Satya Nadella est le PDG de Microsoft" et "Microsoft collabore avec OpenAI". 
Les covariates, comme "Annonce faite le 15 juin 2024", fournissent des informations contextuelles supplémentaires. Tous ces éléments sont formatés en tuples, tels que ("Satya Nadella", "PDG de", "Microsoft", "depuis 2014"), créant ainsi une base de données riche et interconnectée.

Sommaires des éléments

Une fois les entités, les relations et les covariates extraites et formatées en tuples, la méthode génère des sommaires pour chaque élément. Le modèle de langage crée des résumés concis et informatifs qui capturent les principales caractéristiques et interactions des éléments détectés. 

- Par exemple, pour le tuple ("Satya Nadella", "PDG de", "Microsoft", "depuis 2014"), le résumé pourrait être : "Satya Nadella est le PDG de Microsoft depuis 2014, jouant un rôle clé dans les initiatives en intelligence artificielle de l’entreprise." 
Pour une relation comme "Microsoft collabore avec OpenAI", le résumé pourrait être : "Microsoft et OpenAI collaborent sur le développement de technologies d’intelligence artificielle avancées, visant à intégrer ces solutions dans les produits Microsoft."

Communautés de graphe

Après avoir résumé les entités, les relations et les covariates, GraphRAG construit un graphe de connaissances où les nœuds représentent les entités et les arêtes représentent les relations entre elles

- Par exemple, un nœud pour "Microsoft" sera connecté à un nœud pour "Satya Nadella" par une arête indiquant qu’il est le PDG de l’entreprise. De même, une arête peut relier "Microsoft" à "OpenAI" pour indiquer une collaboration. Des algorithmes de détection de communautés, comme l'algorithme de Leiden, partitionnent ce graphe en communautés de nœuds étroitement liés. 
- Autre exemple, une communauté pourrait regrouper toutes les entités liées à l'intelligence artificielle, incluant des entreprises comme Microsoft et OpenAI, ainsi que des concepts comme "apprentissage automatique" et "réseaux neuronaux". Cela permet de créer des partitions bien définies et hiérarchisées, facilitant l'analyse et la summarisation.

Sommaires de communautés

Pour chaque communauté détectée, des résumés sont générés, encapsulant les informations de toutes les entités et relations au sein de chaque communauté. Le modèle de langage utilise des prompts spécifiques au domaine pour assurer une couverture complète et pertinente des données. 

- Par exemple, une communauté dans le domaine de la technologie regroupant "Microsoft", "Satya Nadella", "OpenAI", et "Intelligence Artificielle" peut avoir un résumé généré comme suit : "Cette communauté traite des initiatives de Microsoft en intelligence artificielle, sous la direction de Satya Nadella, en collaboration avec OpenAI. Les principaux sujets incluent le développement de solutions avancées et l'impact sur les produits futurs de l'entreprise." Dans le domaine de la santé, une communauté pourrait regrouper des entités comme "Traitement du cancer", "Essais cliniques", "Dr. Smith", et "Université de Médecine", avec un résumé indiquant : "Cette communauté se concentre sur les essais cliniques pour le traitement du cancer, dirigés par Dr. Smith à l'Université de Médecine."

Réponses de communautés

Lorsque GraphRAG reçoit une question, il utilise les sommaires des communautés pertinentes pour générer des réponses partielles. Chaque communauté fournit une réponse basée sur ses propres éléments et relations internes, assurant ainsi que toutes les perspectives importantes sont prises en compte. 

- Par exemple, pour une question sur les initiatives en IA chez Microsoft, les communautés pertinentes sont identifiées, et des réponses partielles sont générées à partir de leurs sommaires. Si la question est "Quels sont les principaux développements en intelligence artificielle chez Microsoft ?", les réponses partielles pourraient inclure : "Microsoft a lancé plusieurs initiatives en intelligence artificielle, dirigées par Satya Nadella, et travaille en collaboration avec OpenAI." et "Les développements incluent des solutions avancées en intelligence artificielle, résultant de la collaboration entre Microsoft et OpenAI."

Réponse globale

Après avoir généré des réponses partielles, GraphRAG les combine en une réponse globale via un processus de summarisation "map-reduce". Dans la phase "map", les sommaires de chaque communauté pertinente sont utilisés pour générer des réponses partielles spécifiques et contextuelles. Ensuite, dans la phase "reduce", ces réponses partielles sont combinées pour former une réponse globale cohérente. 

- Par exemple, les réponses partielles sur les initiatives en IA de Microsoft sont synthétisées pour fournir une réponse complète et intégrée : "Microsoft, sous la direction de Satya Nadella, a lancé plusieurs initiatives en intelligence artificielle, en partenariat avec OpenAI. Ces développements incluent des solutions avancées en IA qui joueront un rôle crucial dans les futurs produits de Microsoft." Ce processus assure que la réponse finale est exhaustive, couvrant tous les aspects importants de la question posée, tout en étant claire et facile à comprendre.

Exemple de comparaison RAG VS GraphRAG

Pour démontrer l’efficacité de GraphRAG, Microsoft a utilisé le dataset VIINA (Violent Incident Information From News Articles), composé de milliers d’articles de presse russes et ukrainiens de juin 2023, traduis en anglais. 

Dans le premier exemple de comparaison, les équipes de Microsoft ont posé la requête suivante : 

What is Novorossiya?

RAG de baseGraphRAG
The term “Novorossiya” is not mentioned in the provided context. However, to provide some information, Novorossiya, or New Russia, is a historical term referring to a region in the south of Ukraine that was conquered by the Russian Empire in the 18th century. In recent years, the term has been revived by Russian-backed separatists in Eastern Ukraine to refer to the territories they claim, but it is not officially recognized as a separate entity by international bodies.Novorossiya, also known as New Russia, is a term with historical and contemporary significance. Historically, it referred to a region in the southern part of the Russian Empire that is now part of Ukraine. In the contemporary context, it has been used by pro-Russian separatists to refer to certain areas of Ukraine [Data: Entities (6494, 912, 6493)]. The term Novorossiya has been used in the context of a political movement in Ukraine, particularly by Russian nationalists. This movement has been associated with efforts to destabilize Ukraine and create a so-called “Novorossiya” [Data: Entities (912); Relationships (15211, 15206)]. The term has also been used to denote a separatist state in Ukraine, known as the Federal Republic of Novorossiya (FRN) [Data: Entities (7690)].

RAG de base 

Fournit une réponse basique expliquant que "Novorossiya" est un terme historique désignant une région de l'Ukraine conquise par la Russie au XVIIIe siècle, et utilisé récemment par les séparatistes pro-russes.

GraphRAG 

Offre une réponse plus détaillée, incluant le contexte historique et moderne du terme, et mentionne ses implications politiques et ses associations avec des activités déstabilisatrices en Ukraine.

What has Navorossiya done?

Dans le deuxième exemple, la requête nécessite de relier les points : 

RAG de baseGraphRAG
The text does not provide specific information on what Novorossiya has done.Novorossiya, a political movement in Ukraine, has been involved in a series of destructive activities, particularly targeting various entities in Ukraine [Entities (6494, 912)]. The movement has been linked to plans to destroy properties of several Ukrainian entities, including Rosen, the Odessa Canning Factory, the Odessa Regional Radio Television Transmission Center, and the National Television Company of Ukraine [Relationships (15207, 15208, 15209, 15210)]. In addition to these, Novorossiya has also been associated with plans to destroy properties of Roshen, the Odessa Conservatory Factory, the Odesa Regional Radio Television Transmission Center, and the National Telecommunications Company of Ukraine [Relationships (8329, 8330, 8331, 8332)]. Furthermore, Novorossiya has been implicated in plans to blow up ATMs of PrivatBank, the largest state bank in Ukraine [Relationships (8335, 8335)].  The Office of the General Prosecutor in Ukraine has reported on the creation of Novorossiya, indicating the government’s awareness and potential concern over the activities of this movement [Relationships (8264, 8264)]. The destructive activities of Novorossiya have had significant impacts on the targeted entities and have likely contributed to the ongoing tensions and conflicts in the region. In summary, Novorossiya has been involved in a series of destructive activities targeting various entities in Ukraine. These activities have had significant impacts on the targeted entities and have likely contributed to the ongoing tensions and conflicts in the region. The Ukrainian government, through the Office of the General Prosecutor, has acknowledged the existence and activities of Novorossiya, indicating a level of concern over the movement’s actions.

RAG de base 

Échoue à fournir une réponse précise car aucun segment de texte spécifique ne traite des actions de Novorossiya.

GraphRAG 

Fournit une réponse détaillée décrivant les activités destructrices de Novorossiya en Ukraine, incluant des plans pour détruire des propriétés et des attaques ciblées, tout en citant des sources précises et vérifiables.

What are the top 5 themes in the data?

Dans le dernier exemple, on requête sur l’ensemble du dataset :

RAG de baseGraphRAG
The text does not provide specific information on what Novorossiya has done.Novorossiya, a political movement in Ukraine, has been involved in a series of destructive activities, particularly targeting various entities in Ukraine [Entities (6494, 912)]. The movement has been linked to plans to destroy properties of several Ukrainian entities, including Rosen, the Odessa Canning Factory, the Odessa Regional Radio Television Transmission Center, and the National Television Company of Ukraine [Relationships (15207, 15208, 15209, 15210)]. In addition to these, Novorossiya has also been associated with plans to destroy properties of Roshen, the Odessa Conservatory Factory, the Odesa Regional Radio Television Transmission Center, and the National Telecommunications Company of Ukraine [Relationships (8329, 8330, 8331, 8332)]. Furthermore, Novorossiya has been implicated in plans to blow up ATMs of PrivatBank, the largest state bank in Ukraine [Relationships (8335, 8335)].  The Office of the General Prosecutor in Ukraine has reported on the creation of Novorossiya, indicating the government’s awareness and potential concern over the activities of this movement [Relationships (8264, 8264)]. The destructive activities of Novorossiya have had significant impacts on the targeted entities and have likely contributed to the ongoing tensions and conflicts in the region. In summary, Novorossiya has been involved in a series of destructive activities targeting various entities in Ukraine. These activities have had significant impacts on the targeted entities and have likely contributed to the ongoing tensions and conflicts in the region. The Ukrainian government, through the Office of the General Prosecutor, has acknowledged the existence and activities of Novorossiya, indicating a level of concern over the movement’s actions.

RAG de base 

Liste des thèmes génériques et non pertinents par rapport au conflit en Ukraine, en raison d'une recherche vectorielle inefficace.

GraphRAG 

Identifie précisément les cinq thèmes principaux liés au conflit et à la situation en Ukraine, incluant les activités militaires, les entités politiques, les préoccupations environnementales, les analyses communautaires, et les préoccupations humanitaires. Chaque thème est accompagné de détails pertinents et de références aux rapports sources.

Microsoft explique que la méthode RAG traditionnelle se limite à rechercher les segments de texte les plus similaires, ce qui conduit souvent à des réponses trompeuses en raison de correspondances superficielles. En revance, GraphRAG construit un graphe de connaissance qui permet de connecter les points à travers l’ensemble des données, fournissant ainsi des réponses plus précises et contextuelles en considérant l’intégralité du corpus et les relations entre les entités.

Quels sont les avantages et les limites de la méthode GraphRAG ?

Quels sont les avantages d’utiliser la méthode GraphRAG ?

Précision Améliorée 

GraphRAG améliore la précision des réponses en construisant un graphe de connaissances qui représente les relations entre les entités dans le corpus de données. Cela permet de fournir des réponses contextuelles et détaillées, basées sur une compréhension globale des informations, contrairement à la méthode RAG traditionnelle qui se limite à des correspondances textuelles superficielles.

Capacité de Synthèse Globale 

En utilisant des résumés hiérarchiques des communautés détectées dans le graphe, GraphRAG peut répondre efficacement à des questions complexes qui nécessitent une vue d'ensemble. Cela inclut des questions qui demandent une synthèse des thèmes principaux ou des connexions entre différents concepts au sein du dataset, ce que la méthode RAG ne peut pas faire de manière fiable.

Provenance des Données 

GraphRAG assure la transparence et la vérifiabilité des réponses en fournissant des informations sur l'origine des données utilisées. Chaque assertion est soutenue par des liens vers les documents sources, permettant ainsi aux utilisateurs de vérifier facilement l'exactitude des réponses générées par le modèle.

Quelles sont les limites de la méthode GraphRAG ?

Complexité de Mise en Œuvre 

La construction et la maintenance d'un graphe de connaissances demandent des ressources computationnelles et techniques considérables. Cela inclut l'utilisation de modèles de langage avancés pour extraire et résumer les entités et relations, ainsi que l'application d'algorithmes sophistiqués pour détecter les communautés dans le graphe.

Scalabilité 

Bien que GraphRAG soit conçu pour traiter de grandes quantités de données, la scalabilité peut devenir un défi à mesure que la taille du dataset augmente. La gestion de graphes très volumineux peut nécessiter des optimisations supplémentaires pour maintenir des performances élevées.

Dépendance aux Modèles de Langage 

GraphRAG repose fortement sur les capacités des modèles de langage pour extraire et résumer les informations de manière précise. Toute limitation ou biais dans ces modèles peut affecter la qualité des graphes de connaissances et, par conséquent, des réponses générées.

GraphRAG représente une avancée majeure dans le domaine de l'intelligence artificielle, en particulier pour les chatbots et les moteurs de réponse. En combinant les approches de génération augmentée par récupération avec une indexation basée sur les graphes, GraphRAG surmonte les limitations des méthodes RAG traditionnelles. Il permet une compréhension et une synthèse globales des données, offrant des réponses plus précises, contextualisées et vérifiables. 

Bien que sa mise en œuvre puisse être complexe et exigeante en termes de ressources, les avantages qu'il apporte en termes de qualité des réponses et de capacité à traiter des questions complexes justifient pleinement son adoption. GraphRAG ouvre ainsi de nouvelles perspectives pour l'utilisation des données non structurées, rendant les interactions avec les systèmes d'IA plus fiables et pertinentes.

VOUS SOUHAITEZ ECHANGER AVEC UN EXPERT ?