Los grandes modelos lingüísticos (LLM) han despertado un nuevo interés en la inteligencia artificial, especialmente en el procesamiento del lenguaje natural. Pero, por otro lado, los LLM no están exentos de limitaciones. Sobre todo porque los LLM no razonan y pueden generar fácilmente alucinaciones. Precisamente porque los LLM pueden alucinar con facilidad han evolucionado nuevos paradigmas que pueden limitar este comportamiento involuntario. La Generación Mejorada por Recuperación o Retrieval-Augmented Generation (RAG) es la que ha tenido más éxito. En este caso, a las LLM se les proporciona una memoria externa que les permite recuperar un contexto y utilizarlo para la generación.
Lo que la oruga llama fin del mundo, el maestro lo llama mariposa. – Richard Bach
Por supuesto, el RAG tampoco está exento de defectos, sobre todo en casos reales:
- No tiene en cuenta las relaciones. RAG no capta las relaciones de conocimiento que no pueden representarse únicamente mediante la similitud semántica.
- Información redundante. Los LLM tienen un problema cuando hay demasiado ruido en el contexto y la RAG puede encontrar diferentes contextos irrelevantes, lo que perjudica a la generación.
- Falta de información global. RAG encuentra un subconjunto de documentos pero no aporta información global.
En cambio, los grafos de conocimiento (KG) pueden aportar un punto de vista diferente. Un documento en un KG es un conjunto de relaciones entre sus entidades, y estas entidades pueden luego interconectarse con las de otros documentos. En otras palabras, sólo extraemos las relaciones entre varias entidades y, por tanto, tenemos un enfoque global.
La principal ventaja de las KG reside en su capacidad para ofrecer una representación estructurada, lo que facilita la consulta y el razonamiento eficientes. – fuente
Los KG no están exentos de problemas:
Sin embargo, la construcción y el mantenimiento de los KG y la integración de datos de distintas fuentes, como documentos, artículos de noticias y otras fuentes externas, en un grafo de conocimiento coherente plantean importantes retos. – fuente
En los últimos tiempos esto se ha simplificado gracias a los LLM. En efecto, los LLM pueden extraer información de un texto y presentarla en el formato deseado. Por ello, varios trabajos se han centrado en utilizar un LLM para poblar un grafo de conocimiento. A continuación, este KG se utiliza para diversos análisis con el fin de extraer entidades y relaciones que puedan utilizarse para tareas posteriores.
Una vez que se crearon KG cada vez más completos, se empezó a pensar en la posibilidad de utilizar estos KG para proporcionar contexto a los LLM. Graph Retrieval-Augmented Generation (GraphRAG) es una solución innovadora que ha empezado a tomar fuerza en los últimos meses. En este artículo hablaremos de qué es, cómo funciona y veremos con un poco más de detalle dos casos particulares.
GraphRAG es un marco que aprovecha los gráficos de conocimientos estructurados externos para mejorar la comprensión contextual de los LM y generar respuestas más informadas – fuente
KG puede utilizarse en todo el proceso de RAG:
- Indexación basada en grafos (G-Indexing). Normalmente, el objetivo es constituir una indexación adaptada a las tareas posteriores (recuperación y generación).
- Recuperación guiada por grafos (G-Retrieval). En respuesta a una consulta, necesitamos ser capaces de extraer entidades y relaciones para responder a la consulta de un usuario.
- Generación mejorada por grafos (G-Generation). En esta fase, el LLM utiliza tripletas para generar una respuesta, y el objetivo es optimizar el uso de estas tripletas para generar una respuesta precisa.
Normalmente, muchas organizaciones disponen hoy en día de una KG propia, y ésta puede ser la base para crear un pipeline graphRAG. Alternativamente, como ya se ha mencionado, se puede utilizar un LLM para extraer entidades y relaciones del texto. Estas entidades y relaciones se utilizan a continuación para construir el KG.
GraphRAG tiene varias aplicaciones, especialmente en aquellos dominios que son ricos en entidades. Por ejemplo, en el comercio electrónico, donde disponemos de información histórica sobre el comportamiento de los usuarios y los productos que compran. Esta información puede modelarse fácilmente en forma de grafo (y, por tanto, de KG). En cualquier caso, los KG se utilizan en los campos biomédico, literario, académico y jurídico.
En un artículo anterior hablamos de GraphRAG (de Microsoft). Este enfoque utiliza un LLM para construir los KG y luego generar resúmenes. Este sistema ha despertado el interés de la comunidad, pero es intrínsecamente caro (muchas llamadas al LLM).
En cambio, en este artículo hablaremos de dos enfoques diferentes que están más centrados y tienen un interés de dominio específico. Al mismo tiempo, los sistemas del futuro se parecerán más a estas propuestas que al modelo propuesto por Microsoft.
En los dominios especializados (finanzas, derecho y medicina) hay tres retos principales para los LLM: el contexto largo, el coste excesivo del ajuste fino y las alucinaciones. En teoría, el RAG resuelve los tres. En realidad, cuando se manejan datos médicos sensibles es de suma importancia que la respuesta generada sea fiable y esté basada en pruebas. Los LLM y la RAG siguen generando alucinaciones que dan lugar a problemas de seguridad.
Medical Graph RAG pretende abordar las limitaciones de RAG con un enfoque Graph RAG (mejorando la búsqueda de citas, la interpretación de términos médicos, la interpretabilidad y la transparencia). Para ello, los autores utilizan un gráfico jerárquico de tres niveles:
Inicialmente, se utilizan documentos proporcionados por los usuarios como fuente de primer nivel para extraer entidades. A continuación, estas entidades se conectan a un segundo nivel formado por entidades más básicas previamente extraídas de libros y documentos médicos fiables. Posteriormente, estas entidades se conectan a un tercer nivel -el gráfico del diccionario médico fundamental- que proporciona explicaciones detalladas de cada término médico y sus relaciones semánticas. – fuente
Los autores utilizan un enfoque híbrido estático-semántico para el chunking (para asegurarse de que pueden llevar a cabo una detección del cambio de tema en el documento). A continuación, utilizan un indicador para extraer las entidades del documento (a las que luego asignan un ID único para su seguimiento). A continuación, empiezan a conectar las distintas entidades entre niveles (para asegurarse de que el sistema utiliza terminología específica, como síntomas de enfermedades o efectos secundarios). En este punto, empiezan a unir las distintas entidades (aristas horizontales en el nivel). A continuación, unen varios subgrafos generados por documento, añadiendo etiquetas para mantener el origen y mejorar la búsqueda sucesivamente. La etiqueta es una especie de resumen que luego se utiliza para ofrecer una mejor visión general del modelo
Para realizar la recuperación utilizan U-retrieve, encontrando los subgrafos más relevantes. A continuación, encuentran las entidades y las relacionadas y se las proporcionan al LLM para que genere la respuesta. En este contexto, se añade la etiqueta. Este enfoque híbrido estático-semántico. También es superior al efecto del ajuste fino y, según los autores, supera la precisión de los expertos humanos. Esto demuestra su potencial uso en flujos de trabajo clínicos.
La RAG clásica también se denomina RAG vectorial, y ahora hemos visto cómo la RAG gráfica puede ser un posible sustituto.
Pero, ¿tienen que ser antagónicas? ¿No pueden trabajar en sinergia?
En este estudio proponen HybridRAG, en el que se utilizan tanto la RAG vectorial como la RAG gráfica. De nuevo, se trata de una solución para un dominio especializado en el que se utilizan fuentes de datos heterogéneas. KG es útil para poder almacenarlos y utilizarlos en modelos predictivos, creando así una visión completa de las entidades financieras y sus relaciones. Por otro lado, KG es una visión reductivista que pierde muchos de los matices de las relaciones.
GraphRAG permite generar respuestas más precisas y conscientes del contexto a partir de la información estructurada extraída de los documentos financieros. Pero GraphRAG suele rendir peor en tareas de preguntas y respuestas abstractivas o cuando no se menciona explícitamente una entidad en la pregunta – fuente
Combinar estos dos sistemas es posible, y pueden considerarse dos componentes complementarios:
El componente VectorRAG proporciona una amplia recuperación de información relevante basada en similitudes, mientras que el elemento GraphRAG aporta datos contextuales estructurados y ricos en relaciones – fuente
A continuación, los autores dividen los documentos en trozos y utilizan un modelo lingüístico para extraer la información de interés y sus relaciones (empresas, métricas e indicadores financieros, ejecutivos corporativos, productos, ejecutivos geográficos e incluso normativas). De este modo, crean su KG financiera. Como señalan en el artículo, el proceso requiere después pasos adicionales para mejorar la coherencia, desambiguar las entidades, etcétera. Al mismo tiempo, crean un RAG vectorial y realizan chunking e embedding.
En el momento de la consulta, buscan tanto en la base de datos KG como en la vectorial y, a continuación, concatenan los resultados de los dos modelos y los proporcionan a un LLM para su generación.
El rendimiento superior de HybridRAG en cuanto a fidelidad, relevancia de la respuesta y recuperación del contexto subraya su eficacia. – fuente
El sistema demuestra así que toma lo mejor de ambos mundos. Los sistemas futuros utilizarán probablemente un enfoque híbrido. En este trabajo, se combinaron los dos marcos de forma bruta. Pero en el futuro, seguramente habrá alternativas más elegantes para combinar el grafo Rag y el vector RAG.
Al mismo tiempo, MedRAG nos muestra cómo puede utilizarse KG de forma refinada y cómo es flexible (construyendo varias capas, extrayendo subgrafos, añadiendo etiquetas, etc.). Probablemente los sistemas del futuro serán híbridos, pero los RAG para sistemas especializados tendrán KG extremadamente especializados y multinivel para controlar la información y el aliento del contexto tomado.
¿Qué opinas? ¿Tienes curiosidad por probar estos sistemas? házmelo saber en los comentarios
Si has encontrado esto interesante:
Puedes buscar mis otros artículos, y también puedes conectarte o ponerte en contacto conmigo en LinkedIn. Consulta este repositorio con noticias actualizadas semanalmente sobre ML e IA. Estoy abierto a colaboraciones y proyectos y puedes contactar conmigo en LinkedIn. También puedes suscribirte gratuitamente para recibir notificaciones cuando publique un nuevo artículo.