Microsoft rend publique une nouvelle technologie appelée GraphRAG, qui permet aux chatbots et aux moteurs de réponse de relier les points sur un ensemble de données complet, surpassant de loin la génération standard de récupération augmentée (RAG).
Quelle est la différence entre RAG et GraphRAG ?
RAG (Retrieval-Augmented Generation) est une technologie qui permet à un LLM d'accéder à une base de données telle qu'un index de recherche et de l'utiliser comme base pour répondre à une question. Il peut être utilisé pour relier un grand modèle de langage et un index de moteur de recherche conventionnel.
L’avantage de RAG est qu’il peut utiliser des données faisant autorité et dignes de confiance pour répondre aux questions. RAG permet également aux chatbots d'IA générative d'utiliser des informations à jour pour répondre à des questions sur des sujets sur lesquels le LLM n'a pas été formé. Il s'agit d'une approche utilisée par les moteurs de recherche IA comme Perplexity.
L’avantage de RAG est lié à son utilisation des intégrations. Les intégrations sont une manière de représenter les relations sémantiques entre les mots, les phrases et les documents. Cette représentation permet à la partie récupération de RAG de faire correspondre une requête de recherche au texte d'une base de données (comme un index de recherche).
Mais l’inconvénient de l’utilisation des intégrations est qu’elle limite le RAG à la correspondance du texte à un niveau granulaire (par opposition à une portée globale à travers les données).
Microsoft explique :
« Étant donné que le RAG naïf ne considère que les k morceaux de texte d'entrée les plus similaires, il échoue. Pire encore, la question sera comparée à des morceaux de texte superficiellement similaires à cette question, ce qui entraînera des réponses trompeuses.
L'innovation de GraphRAG est qu'il permet à un LLM de répondre à des questions basées sur l'ensemble de données global.
GraphRAG crée un graphe de connaissances à partir des documents indexés, également appelés données non structurées. L’exemple évident de données non structurées sont les pages Web. Ainsi, lorsque GraphRAG crée un graphe de connaissances, il crée une représentation « structurée » des relations entre diverses « entités » (comme les personnes, les lieux, les concepts et les choses) qui est ensuite plus facilement comprise par les machines.
GraphRAG crée ce que Microsoft appelle des « communautés » de thèmes généraux (niveau élevé) et de sujets plus granulaires (niveau bas). Un LLM crée ensuite une synthèse de chacune de ces communautés, un « résumé hiérarchique des données » qui est ensuite utilisé pour répondre aux questions. Il s’agit d’une avancée majeure car elle permet à un chatbot de répondre à des questions basées davantage sur la connaissance (les résumés) que sur des intégrations.
Voici comment Microsoft l'explique :
« L'utilisation d'un LLM pour résumer chacune de ces communautés crée un résumé hiérarchique des données, fournissant un aperçu d'un ensemble de données sans avoir besoin de savoir quelles questions poser à l'avance. Chaque communauté sert de base à un résumé communautaire qui décrit ses entités et leurs relations.
… Les résumés communautaires aident à répondre à ces questions globales car l'index graphique des descriptions d'entités et de relations a déjà pris en compte tous les textes d'entrée dans sa construction. Par conséquent, nous pouvons utiliser une approche de réduction de carte pour répondre aux questions qui conserve tout le contenu pertinent du contexte de données global… »
Exemples de RAG et GraphRAG
Le document de recherche original de GraphRAG illustrait la supériorité de l'approche GraphRAG dans sa capacité à répondre à des questions pour lesquelles il n'existe pas de données de correspondance exacte dans les documents indexés. L'exemple utilise un ensemble de données limité d'actualités russes et ukrainiennes du mois de juin 2023 (traduit en anglais).
Question de correspondance de texte simple
La première question utilisée comme exemple était « Qu'est-ce que Novorossiya ? » et RAG et GraphRAG ont répondu à la question, GraphRAG offrant une réponse plus détaillée.
En passant, la réponse courte est que « Novorossiya » se traduit par Nouvelle Russie et fait référence aux terres ukrainiennes conquises par la Russie au XVIIIe siècle.
Le deuxième exemple de question exigeait que la machine établisse des liens entre les concepts au sein des documents indexés, ce que Microsoft appelle une « tâche de résumé axée sur les requêtes (QFS) » qui est différente d'une simple tâche de récupération basée sur du texte. Cela nécessite ce que Microsoft appelle « relier les points ».
La question posée aux systèmes RAG et GraphRAG :
« Qu’a fait Novorossiya ?
Voici la réponse du RAG :
"Le texte ne fournit pas d'informations précises sur ce qu'a fait Novorossiya."
GraphRAG a répondu à la question « Qu'a fait Novorossiya ? » avec une réponse en deux paragraphes qui détaille les résultats du mouvement politique Novorossiya.
Voici un court extrait de la réponse en deux paragraphes :
« Novorossiya, un mouvement politique ukrainien, a été impliqué dans une série d'activités destructrices, ciblant particulièrement diverses entités en Ukraine [Entités (6494, 912)]. Le mouvement a été lié aux projets de destruction des propriétés de plusieurs entités ukrainiennes, dont Rosen, l'usine de conserves d'Odessa, le centre régional de transmission radio-télévision d'Odessa et la Société nationale de télévision d'Ukraine [Relations (15207, 15208, 15209, 15210)] …
…Le Bureau du Procureur général d'Ukraine a fait état de la création de Novorossiya, indiquant que le gouvernement est conscient et potentiellement préoccupé par les activités de ce mouvement…”
Ce qui précède n'est qu'une partie des réponses extraites de l'ensemble de données limité d'un mois, qui illustre comment GraphRAG est capable de relier les points dans tous les documents.
GraphRAG est désormais accessible au public
Microsoft a annoncé que GraphRAG est accessible au public et peut être utilisé par n'importe qui.
« Aujourd'hui, nous sommes heureux d'annoncer que GraphRAG est désormais disponible sur GitHub , offrant une récupération d'informations plus structurée et une génération de réponses complètes que les approches RAG naïves. Le référentiel de code GraphRAG est complété par un accélérateur de solution , offrant une expérience API facile à utiliser hébergée sur Azure qui peut être déployée sans code en quelques clics.
Microsoft a publié GraphRAG afin de rendre les solutions basées sur celui-ci plus accessibles au public et d'encourager les commentaires sur les améliorations.
Lire l'annonce :
GraphRAG : nouvel outil de découverte de données complexes désormais sur GitHub
Image en vedette par Shutterstock/Deemerwha studio