GraphReader : Intelligents basés sur les graphes pour améliorer le traitement des textes longs pour les grands modèles de langage

GraphReader : Intelligents basés sur les graphes pour améliorer le traitement des textes longs pour les grands modèles de langage

Experts graphiquesC'est comme un tuteur qui sait faire des cartes mentales, transformant un texte long en un réseau de connaissances clair, de sorte que l'IA puisse facilement trouver les points clés nécessaires à la réponse, comme si elle explorait une carte, surmontant ainsi efficacement le problème de "se perdre" lorsqu'on traite un texte long.

  • Publié le : 2024.01.20
  • Nom de l'article : GraphReader : Building Graph-based Agent to Enhance Long-Context Abilities of Large Language Models (GraphReader : construction d'un agent basé sur les graphes pour améliorer les capacités des grands modèles linguistiques en matière de contexte)
  • Adresse du document : https://arxiv.org/abs/2406.14550

Cet article décrit GraphReader, un système de corps intelligent basé sur la structure des graphes, conçu pour relever les défis rencontrés par les grands modèles de langage (LLM) dans le traitement des textes longs et pour être performant dans des tâches telles que les quiz multi-sauts. Voici un résumé de l'article :

I. Motivation de la thèse

Avec les progrès des technologies de compréhension et de génération du langage naturel, l'une des principales limitations auxquelles sont confrontés les LLM est celle de la taille de la fenêtre contextuelle et de l'utilisation de la mémoire, ce qui les empêche de traiter efficacement de grandes quantités de texte. Pour résoudre ce problème, les chercheurs ont exploré diverses approches, notamment l'amélioration de la structure du modèle, l'introduction de mécanismes d'amélioration de la recherche et l'utilisation d'agents pour le raisonnement complexe. Cependant, chacune de ces approches présente certaines limites, telles que l'augmentation des coûts de formation, l'ignorance d'informations détaillées ou la rigidité des mécanismes de prise de décision.

II. Points novateurs du document

  • les objectifsGraphReader : En construisant des structures de graphe et en employant une stratégie d'exploration par un agent autonome, GraphReader est capable de capturer des dépendances à longue portée dans une fenêtre contextuelle limitée, permettant ainsi un traitement efficace de longs documents.
  • point d'innovation: :
    • Segmenter un texte long en morceaux distincts et en extraire les éléments clés et les faits atomiques ;
    • Utilisez ces éléments pour construire une structure graphique qui reflète les relations dans le texte ;
    • L'organisme intelligent navigue dans le graphique et recueille les informations nécessaires selon une fonction prédéfinie et un plan rationnel par étapes ;
    • L'ensemble du processus implique de prendre des notes et de réfléchir pour garantir l'exactitude et l'exhaustivité de la réponse finale.

III. idées de thèse

Le fonctionnement de GraphReader est divisé en trois étapes :

  • construction graphiqueLe document est divisé en sections, chacune d'entre elles étant résumée sous la forme d'un fait atomique dont les éléments clés sont extraits pour former des nœuds ; les liens entre les nœuds sont créés sur la base d'éléments clés partagés.
  • exploration graphiqueL'organisme intelligent sélectionne le nœud de départ selon un plan rationnel et parcourt l'ensemble de la structure du graphe en vérifiant les nœuds voisins ; au cours de ce processus, l'organisme intelligent enregistre les faits à l'appui en vue d'une analyse ultérieure.
    • Exploration des faits atomiques : comme il n'est pas possible d'inclure tous les blocs de texte brut associés à un nœud dans la fenêtre contextuelle, l'agent adopte une stratégie grossière à fine, en commençant par la lecture des faits atomiques et en explorant progressivement le texte brut. Tous les faits atomiques pouvant tenir dans la fenêtre contextuelle, l'agent regroupe d'abord tous les faits atomiques associés à chaque nœud en fonction du bloc de texte correspondant et les étiquette avec les ID des blocs de texte correspondants, qui sont ensuite transmis à l'agent. Cela permet à l'agent d'avoir une vue d'ensemble de chaque bloc de texte en lisant tous les groupes de faits atomiques. Dans le même temps, l'agent utilise les questions, les plans rationnels et les notes du carnet pour réfléchir aux indices requis et déterminer les blocs de texte susceptibles de contenir des informations utiles. Ensuite, l'agent se voit confier deux fonctions :
      • read_neighbor_node, l'agent sélectionne un nœud voisin susceptible d'apporter une réponse à la question et reprend le processus d'exploration des faits atomiques et des blocs de texte ;
      • l'agent détermine qu'aucun nœud voisin ne contient d'informations utiles et il termine l'exploration.
    • Explorer les blocs de texte : lorsque la file d'attente des blocs de texte n'est pas vide, cela signifie que l'agent a identifié plus d'un bloc de texte intéressant. Le GraphReader parcourt alors la file d'attente et lit chaque bloc de texte un par un. Cette étape est cruciale car les faits atomiques ne font que résumer les informations clés et fournir de courts indices, tandis que les détails spécifiques sont mieux obtenus directement à partir du bloc de texte original. Au fur et à mesure de la lecture des blocs de texte, l'agent examine le problème et le plan à nouveau, en réfléchissant à ce qui peut être ajouté au carnet de notes actuel. Tout fait justificatif trouvé sera consigné dans le carnet. En fonction du carnet mis à jour, l'agent choisira l'une des quatre fonctions suivantes :
      • search_more, l'agent continuera à explorer les blocs de texte dans la file d'attente s'il n'y a pas suffisamment de faits justificatifs ;
      • read_previous_chunk et 3) read_subsequent_chunk, en raison de problèmes de troncature, les morceaux de texte voisins peuvent contenir des informations pertinentes et utiles, et l'agent peut insérer ces ID dans la file d'attente ;
      • à la fin, si suffisamment d'informations ont été recueillies pour répondre à la question, l'agent achèvera l'exploration.
    • EXPLORATION DES NODES VOISINS : Lorsque les faits atomiques du nœud actuel et la file d'attente des blocs de texte ont été entièrement traités, cela signifie que ce nœud a été entièrement exploré et que l'agent doit visiter le nœud suivant. Compte tenu du problème, du plan rationnel et du contenu du carnet, l'agent examine tous les nœuds voisins, c'est-à-dire les éléments clés, et exécute l'une des deux fonctions suivantes :
      • read_chunk, si l'agent détermine que certains morceaux de texte méritent d'être lus, il complète l'argument de la fonction avec les ID des morceaux, c'est-à-dire read_chunk(List[ID]), et ajoute ces ID à la file d'attente des morceaux.
      • stop_and_read_neighbor, si l'agent décide qu'aucun morceau de texte ne mérite d'être lu plus avant, il terminera la lecture du nœud actuel et commencera à explorer les nœuds voisins.
  • le raisonnement dans une réponseLes personnes qui ont des besoins particuliers en matière d'éducation et de formation sont celles qui ont le plus besoin d'aide pour répondre à leurs questions et pour trouver des solutions.
GraphReader:基于图的智能体,增强大型语言模型的长文本处理能力

 

IV. l'évaluation des performances

En expérimentant avec plusieurs ensembles de données provenant d'analyses comparatives en contexte long, GraphReader démontre des performances nettement supérieures à celles d'autres méthodes. Par exemple, sur l'ensemble de données HotpotQA, GraphReader atteint un EM de 55,01 TP3T et un score F1 de 70,01 TP3T, surpassant GPT-4-128k et d'autres méthodes existantes. En outre, GraphReader conserve également de bonnes performances lorsqu'il traite des contextes très longs, en particulier dans le benchmark LV-Eval, où il présente une amélioration relative des performances de 75,001 TP3T par rapport à GPT-4-128k.

GraphReader:基于图的智能体,增强大型语言模型的长文本处理能力

 

GraphReader:基于图的智能体,增强大型语言模型的长文本处理能力

 

Les résultats expérimentaux montrent que GraphReader permet d'améliorer considérablement les performances dans le traitement des textes longs, en particulier pour les problèmes de sauts multiples et les textes très longs.

GraphReader:基于图的智能体,增强大型语言模型的长文本处理能力

 

V. Impact et perspectives

GraphReader représente non seulement une avancée importante dans la résolution des défis du traitement des contextes longs dans les LLM, mais ouvre également la voie à des modèles de langage plus avancés à l'avenir. Il démontre que les dépendances à longue portée peuvent être capturées et exploitées efficacement même avec une petite fenêtre de contexte, ce qui a des implications importantes pour les tâches impliquant des documents longs et un raisonnement complexe en plusieurs étapes. Ce travail pourrait révolutionner plusieurs domaines tels que l'analyse de documents et l'aide à la recherche, en ouvrant de nouvelles possibilités pour les applications de l'IA.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...