GraphReader: inteligencia basada en grafos para mejorar el procesamiento de textos largos en modelos lingüísticos de gran tamaño
Base de conocimientos de IAPublicado hace 7 meses Círculo de intercambio de inteligencia artificial 2K 00
GraphReader: inteligencia basada en grafos para mejorar el procesamiento de textos largos en modelos lingüísticos de gran tamaño
Expertos gráficosEs como un tutor que sabe hacer mapas mentales, transformando un texto largo en una red de conocimientos clara, de modo que la IA puede encontrar fácilmente los puntos clave necesarios para la respuesta como si explorara a lo largo de un mapa, superando eficazmente el problema de "perderse" cuando se trata de un texto largo.
- Publicado: 2024.01.20
- Nombre del artículo: GraphReader: Building Graph-based Agent to Enhance Long-Context Abilities of Large Language Models
- Dirección de la ponencia: https://arxiv.org/abs/2406.14550
Este artículo describe GraphReader, un sistema de cuerpo inteligente basado en estructuras de grafos y diseñado para hacer frente a los problemas que encuentran los modelos de lenguaje de gran tamaño (LLM, Large Language Models) en el procesamiento de textos largos y para obtener buenos resultados en tareas como los cuestionarios multisalto. He aquí un resumen del artículo:
I. Motivación de la tesis
Con el avance de las tecnologías de comprensión y generación de lenguaje natural, una de las principales limitaciones a las que se enfrentan los LLM es la limitación del tamaño de la ventana de contexto y el uso de memoria, lo que les dificulta procesar con eficacia grandes cantidades de texto de entrada. Para resolver este problema, los investigadores han explorado diversos enfoques, como la mejora de la estructura del modelo, la introducción de mecanismos de mejora de la recuperación y la utilización de agentes para el razonamiento complejo. Sin embargo, cada uno de estos enfoques tiene ciertas limitaciones, como el aumento de los costes de formación, la ignorancia de información detallada o la inflexibilidad de los mecanismos de toma de decisiones.
II. Puntos innovadores del documento
- objetivosGraphReader: Mediante la construcción de estructuras de grafos y el empleo de una estrategia de exploración de agentes autónomos, GraphReader es capaz de capturar dependencias de largo alcance dentro de una ventana de contexto limitada, lo que permite un procesamiento eficaz de documentos extensos.
- punto de innovación::
- Segmentar textos largos en trozos discretos y extraer elementos clave y hechos atómicos;
- Utiliza estos componentes para construir una estructura gráfica que refleje las relaciones existentes en el texto;
- El organismo inteligente navega por el gráfico y recoge la información necesaria de acuerdo con una función predefinida y un plan racional escalonado;
- Todo el proceso implica tomar notas y reflexionar para garantizar la exactitud e integridad de la respuesta final.
III. Ideas para la tesis
El funcionamiento de GraphReader se divide en tres etapas:
- construcción gráficaEl documento se divide en partes, cada una de las cuales se resume como un hecho atómico del que se extraen elementos clave para formar nodos; los nodos se enlazan entre sí en función de los elementos clave compartidos.
- exploración gráficaEl organismo inteligente selecciona el nodo de partida de acuerdo con un plan racional y recorre toda la estructura del grafo comprobando los nodos vecinos; en el proceso, el organismo inteligente registra hechos de apoyo para su posterior análisis.
- Exploración de hechos atómicos: Como no es posible incluir todos los bloques de texto en bruto asociados a un nodo en la ventana de contexto, el agente adopta una estrategia de grueso a fino, empezando por la lectura de los hechos atómicos y explorando progresivamente el texto en bruto. Todos los hechos atómicos caben en la ventana de contexto, por lo que el agente agrupa primero todos los hechos atómicos asociados a cada nodo por su bloque de texto correspondiente y los etiqueta con los ID de bloque de texto correspondientes, que luego se introducen en el agente. Esto permite al agente obtener una visión general de cada bloque de texto leyendo todos los grupos de hechos atómicos. Al mismo tiempo, el agente utiliza las preguntas, los planes racionales y las notas del cuaderno para reflexionar sobre las pistas necesarias y determinar qué bloques de texto pueden contener información útil. Posteriormente, el agente recibe dos funciones:
- read_neighbor_node, el agente selecciona un nodo vecino que podría ser útil para responder a la pregunta y vuelve a entrar en el proceso de exploración de los hechos atómicos y los bloques de texto;
- terminación, el agente determina que ningún nodo vecino contiene información útil y finalizará la exploración.
- Explorar bloques de texto: Cuando la cola de bloques de texto no está vacía, significa que el agente ha identificado varios bloques de texto de interés. A continuación, el GraphReader recorre la cola y lee cada bloque de texto uno a uno. Este paso es crucial porque los hechos atómicos sólo resumen la información clave y proporcionan pistas breves, mientras que los detalles específicos se obtienen mejor directamente del bloque de texto original. A medida que se leen los bloques de texto, el agente considerará el problema y planificará de nuevo, pensando en lo que puede añadirse al cuaderno actual. Cualquier dato de apoyo que encuentre se anotará en el cuaderno. En función del cuaderno actualizado, el agente elegirá una de las cuatro funciones siguientes:
- search_more, el agente seguirá explorando los bloques de texto de la cola si no hay suficientes datos de apoyo;
- read_previous_chunk y 3) read_subsequent_chunk, debido a problemas de truncamiento, los trozos de texto vecinos pueden contener información relevante y útil, y el agente puede insertar estos ID en la cola;
- terminación, si se ha reunido suficiente información para responder a la pregunta, el agente completará la exploración.
- EXPLORACIÓN DE NÓDULOS VECINOS: Cuando los hechos atómicos del nodo actual y la cola de bloques de texto se han procesado completamente, significa que este nodo ha sido explorado a fondo y el agente necesita visitar el siguiente nodo. Teniendo en cuenta el problema, el plan racional y el contenido del cuaderno, el agente examina todos los nodos vecinos, es decir, los elementos clave, y ejecuta una de las dos funciones siguientes:
- read_chunk, si el agente determina que ciertos trozos de texto merecen ser leídos, completa el argumento de la función con los IDs de los trozos, es decir, read_chunk(List[ID]), y añade esos IDs a la cola de trozos.
- stop_and_read_neighbor, en cambio, si el agente decide que no merece la pena seguir leyendo ningún trozo de texto, terminará de leer el nodo actual y empezará a explorar los nodos vecinos.
- Exploración de hechos atómicos: Como no es posible incluir todos los bloques de texto en bruto asociados a un nodo en la ventana de contexto, el agente adopta una estrategia de grueso a fino, empezando por la lectura de los hechos atómicos y explorando progresivamente el texto en bruto. Todos los hechos atómicos caben en la ventana de contexto, por lo que el agente agrupa primero todos los hechos atómicos asociados a cada nodo por su bloque de texto correspondiente y los etiqueta con los ID de bloque de texto correspondientes, que luego se introducen en el agente. Esto permite al agente obtener una visión general de cada bloque de texto leyendo todos los grupos de hechos atómicos. Al mismo tiempo, el agente utiliza las preguntas, los planes racionales y las notas del cuaderno para reflexionar sobre las pistas necesarias y determinar qué bloques de texto pueden contener información útil. Posteriormente, el agente recibe dos funciones:
- razonamiento en una respuesta: Recopila notas de diferentes inteligencias y utiliza el razonamiento en cadena para generar respuestas a preguntas dadas.

IV. Evaluación de resultados
Al experimentar con múltiples conjuntos de datos de pruebas comparativas de contexto largo, GraphReader demuestra un rendimiento significativamente mejor que otros métodos. Por ejemplo, en el conjunto de datos HotpotQA, GraphReader alcanza un EM de 55,01 TP3T y una puntuación F1 de 70,01 TP3T, superando a GPT-4-128k y a otros métodos existentes. Además, GraphReader también mantiene un buen rendimiento cuando se trata de contextos muy largos, especialmente en el benchmark LV-Eval, donde muestra una mejora relativa del rendimiento de 75,00% con respecto a GPT-4-128k.


Los resultados experimentales demuestran que GraphReader consigue mejoras significativas de rendimiento en el procesamiento de textos largos, especialmente en problemas multisalto y textos muy largos.

V. Impacto y perspectivas
GraphReader no sólo representa un importante avance en la resolución de los retos que plantea el procesamiento de contextos largos en los LLM, sino que también allana el camino para modelos lingüísticos más avanzados en el futuro. Demuestra que las dependencias de largo alcance pueden captarse y explotarse eficazmente incluso con una ventana de contexto pequeña, lo que tiene importantes implicaciones para tareas que implican documentos extensos y razonamientos complejos de varios pasos. Este trabajo puede revolucionar varios campos, como el análisis de documentos y la ayuda a la investigación, abriendo nuevas posibilidades para las aplicaciones de la IA.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...