Una de las apuestas más claras de Avvale está relacionada con la IA, buscando siempre mejorar la productividad de las empresas y la toma de decisiones. Algunos de nuestros proyectos más exitosos destacan por los resultados que se obtienen al combinar los modelos de IA generativa con técnicas de recuperación de información, lo que permite mejorar la calidad y precisión de los contenidos generados.

Manuel Torres BraboLos modelos de inteligencia artificial (IA) que trabajan con el lenguaje han mejorado drásticamente en los últimos años. La aparición de los modelos tipo transformer —en 2017—revolucionó el procesamiento del lenguaje natural. Los transformers utilizan mecanismos de atención para recoger las relaciones entre las palabras de un texto y las reglas que modelan esas relaciones.

El conocimiento adquirido durante su entrenamiento se utiliza para generar texto prediciendo las palabras que mejor concuerden con las anteriormente utilizadas. A estos modelos se los denomina grandes modelos de lenguaje (LLM, por sus siglas en inglés).

En Avvale trabajamos con LLM para desarrollar soluciones que permitan a nuestros clientes generar información a partir de datos no estructurados, como, por ejemplo, documentos legales y financieros; y también de datos estructurados, tales como los procedentes de los ERP. Un ejemplo es nuestra solución Contract Intelligence for SAP by Avvale, que, a grandes rasgos, explora los contratos legales almacenados en un gestor documental y los cruza con los datos almacenados en el ERP del cliente.

Esta herramienta nos dota de la capacidad de mostrar rápidamente la información contenida en los contratos, responder a preguntas complejas sobre ellos y descubrir posibles problemas o errores. Entre sus beneficios destaca el ahorro de tiempo, que viene acompañado de una mayor seguridad jurídica para las empresas.

Entrenamiento de los modelos

Sin abandonar los LLM, es importante destacar que estos modelos están entrenados con cantidades ingentes de texto, lo que los dota de dos capacidades asombrosas: por un lado, son capaces de generar texto con sentido, coherente, en diversos estilos y tonos, y gramaticalmente correcto; por otro lado, almacenan la información contenida en los ejemplos de entrenamiento dentro del espacio latente que representan sus redes neuronales.

Los LLM permiten adecuar las respuestas a las preferencias del usuario, comprobar su veracidad y controlar también respuestas poco éticas, dañinas o inexactas. Por otro lado, hay que tener en cuenta que, debido a su alto coste, el entrenamiento es un modelo estático. Esto implica que los modelos no se actualizan continuamente, no aprenden de las interacciones del usuario y cuesta mucho añadir información a su conocimiento base.

RAG
Figura 1. Estructura de un sistema de RAG (retrieval augmented generation).

 

Toda esta información, junto con sus capacidades gramaticales, queda almacenada en los pesos de sus redes neuronales; el modelo de ChatGPT (Gpt3.5) tiene 175.000 millones de parámetros y ocupa unos 700 GB (en formato comprimido). Para hacernos una idea, todo el texto de Wikipedia en inglés ocupa 21 GB (también en formato comprimido). Es decir, ChatGPT es capaz de almacenar unas 30 wikipedias, aunque hay que tener en cuenta que parte de esa capacidad del modelo “almacena” también las reglas gramaticales del lenguaje.

De este modo, cuando preguntamos a un LLM sobre cualquier tema, nos responde basándose en la información con la que se ha entrenado; y si no dispone de ella, la genera (se la inventa) sobre la marcha. Esto es lo que se llama una alucinación del modelo base. Las aplicaciones basadas en LLM, como ChatGPT de OpenAI, utilizan diversas técnicas para evitar estas alucinaciones, como, por ejemplo, comprobar si aquello por lo que preguntamos está o no en el conocimiento con el que se entrenó el modelo.

Los LLM permiten adecuar las respuestas a las preferencias del usuario, comprobar su veracidad y controlar las respuestas poco éticas, dañinas o inexactas.

La generación aumentada con recuperación de información (RAG a partir de ahora, por las siglas en inglés de retrieval augmented generation) es una técnica híbrida que combina los puntos fuertes de la recuperación de información y la generación de lenguaje. Se divide en dos componentes principales: un componente de recuperación, que busca la información relevante, y otro de generación, que utiliza la información recuperada para generar texto.

El componente de recuperación de la RAG generalmente se usa para obtener información de documentos o páginas web con las que los modelos base no se han entrenado. Para ello utiliza una variedad de técnicas, como la búsqueda por palabras clave o la búsqueda por similitud semántica. Este componente deberá hacer búsquedas de datos directos en sistemas de negocio o bases de datos. Por ejemplo, Contract Intelligence for SAP by Avvale genera respuestas sobre datos documentales, pero también sobre datos estructurados.

El componente de generación de la RAG puede utilizar una amplia variedad de modelos, como los de generación de lenguaje o generación de código, modelos de imágenes o modelos híbridos para generar las respuestas.

Contract Intelligence for SAP by Avvale

La RAG ofrece una serie de beneficios sobre los modelos generativos tradicionales: mejora la calidad y precisión del texto producido, amplía el abanico de temas y tareas posibles y reduce la necesidad de reentrenar los modelos frecuentemente o para datos específicos.

De hecho, cuando se trata de datos no estructurados, como documentos en gestores documentales, la RAG se puede utilizar para extraer información relevante de estos documentos y utilizarla para generar texto. Por ejemplo, una aplicación de IA generativa que accede a datos no estructurados podría utilizar la RAG para crear informes automatizados basados en documentos legales o financieros complejos.

La RAG (retrieval augmented generation) combina los puntos fuertes de la recuperación de información y la generación de lenguaje

En el caso de datos estructurados, como los que proceden de los sistemas SAP, la RAG puede servir para recuperar información específica de estas soluciones y emplearla para generar texto. Por ejemplo, una aplicación de IA generativa que accede a datos estructurados podría servirse de la RAG para generar informes automatizados basados en datos de ventas o de producción. El modelo en sí genera el texto para el informe, una tabla de datos y el código necesario para presentarlos en una herramienta de informes.

Contract Intelligence for SAP by Avvale utiliza estas técnicas a la hora de analizar los contratos relevantes para cada pregunta y acceder a sus datos en los sistemas del cliente. Con la información obtenida mediante RAG, la solución compone un contexto de información que el LLM utiliza para responder a la pregunta del usuario.

RAG e IA generativa

La generación aumentada con recuperación de información es una técnica muy potente que puede mejorar la calidad y precisión de los contenidos generados por la IA. Se puede utilizar en una amplia variedad de aplicaciones, que incluyen la generación de texto, la traducción de idiomas, la respuesta a preguntas y el resumen. A medida que la IA generativa se vuelva más sofisticada, la RAG desempeñará un papel cada vez más importante, especialmente en el desarrollo de aplicaciones corporativas.