Inteligencia Artificial
Una inmersión profunda en la generación de recuperación aumentada en LLM

Imagina que eres analista y tienes acceso a un Modelo de Lenguaje Grande. Te entusiasman las perspectivas que ofrece a tu flujo de trabajo. Pero entonces, le preguntas sobre los últimos precios de las acciones o la tasa de inflación actual, y te sorprende:
Lo siento, pero no puedo proporcionar datos en tiempo real ni posteriores a la fecha límite. Mis últimos datos de entrenamiento solo llegan hasta enero de 2022.
Los modelos de lenguaje grande, a pesar de todo su poder lingüístico, carecen de la capacidad de captar el 'ahora'. Y en el mundo acelerado, 'ahora' es todo.
Las investigaciones han demostrado que los grandes modelos de lenguaje previamente entrenados (LLM) también son depósitos de conocimiento fáctico.
Han sido entrenados con tantos datos que han asimilado muchos datos y cifras. Al perfeccionarlos, pueden lograr resultados extraordinarios en diversas tareas de PNL.
Pero aquí está el problema: su capacidad para acceder y manipular este conocimiento almacenado a veces no es perfecta. Especialmente cuando la tarea requiere un uso intensivo de conocimiento, estos modelos pueden quedar rezagados respecto a arquitecturas más especializadas. Es como tener una biblioteca con todos los libros del mundo, pero sin catálogo para encontrar lo que se necesita.
ChatGPT de OpenAI obtiene una actualización de navegación
El reciente anuncio de OpenAI sobre la capacidad de navegación de ChatGPT supone un avance significativo en la Generación Aumentada por Recuperación (RAG). Ahora que ChatGPT puede explorar internet en busca de información actualizada y fiable, refleja el enfoque de RAG de extraer datos dinámicamente de fuentes externas para proporcionar respuestas enriquecidas.
ChatGPT ahora puede navegar por Internet para brindarle información actualizada y autorizada, completa con enlaces directos a fuentes. Ya no se limita a datos anteriores a septiembre de 2021. pic.twitter.com/pyj8a9HWkB
- OpenAI (@OpenAI) 27 de Septiembre de 2023
Actualmente disponible para usuarios Plus y Enterprise, OpenAI planea implementar esta función para todos los usuarios próximamente. Los usuarios pueden activarla seleccionando "Navegar con Bing" en la opción GPT-4.
La ingeniería rápida es efectiva pero insuficiente
Las indicaciones sirven como puerta de entrada al conocimiento del Máster en Derecho (LLM). Guían el modelo y proporcionan una dirección para la respuesta. Sin embargo, elaborar una indicación eficaz no es la solución definitiva para obtener lo que se busca en un LLM. Aun así, veamos algunas buenas prácticas a tener en cuenta al escribir una indicación:
- Claridad:Una indicación bien definida elimina la ambigüedad. Debe ser directa, lo que garantiza que el modelo comprenda la intención del usuario. Esta claridad suele traducirse en respuestas más coherentes y relevantes.
- Contexto: Especialmente para entradas extensas, la ubicación de la instrucción puede influir en la salida. Por ejemplo, mover la instrucción al final de un mensaje largo a menudo puede producir mejores resultados.
- Precisión en la instrucciónLa fuerza de la pregunta, a menudo transmitida mediante el marco "quién, qué, dónde, cuándo, por qué, cómo", puede guiar al modelo hacia una respuesta más precisa. Además, especificar el formato o tamaño de salida deseado puede refinar aún más la salida del modelo.
- Manejando la incertidumbreEs fundamental guiar al modelo sobre cómo responder cuando no está seguro. Por ejemplo, indicarle que responda "No sé" cuando no esté seguro puede evitar que genere respuestas inexactas o "alucinado” respuestas.
- Pensamiento paso a paso: Para instrucciones complejas, guiar el modelo para que piense sistemáticamente o dividir la tarea en subtareas puede generar resultados más completos y precisos.
En relación con la importancia de las indicaciones para guiar ChatGPT, se puede encontrar un artículo completo en un artículo en Unirse.ai.
Desafíos en los modelos de IA generativa
La ingeniería rápida implica ajustar las directivas dadas a su modelo para mejorar su rendimiento. Es una forma muy rentable de aumentar la precisión de su aplicación de IA generativa, requiriendo solo pequeños ajustes de código. Si bien la ingeniería rápida puede mejorar significativamente los resultados, es crucial comprender las limitaciones inherentes de los modelos de lenguaje grandes (LLM). Dos desafíos principales son alucinaciones y límites de conocimiento.
- Alucinaciones: Esto se refiere a casos en los que el modelo devuelve con confianza una respuesta incorrecta o inventada. Aunque el LLM avanzado tiene mecanismos integrados para reconocer y evitar dichos resultados.
- Límites de conocimientoCada modelo LLM tiene una fecha de finalización de entrenamiento, tras la cual desconoce eventos o desarrollos. Esta limitación significa que el conocimiento del modelo se congela en la fecha de su último entrenamiento. Por ejemplo, un modelo entrenado hasta 2022 desconocería los eventos de 2023.
Generación de recuperación aumentada (RAG) ofrece una solución a estos desafíos. Permite a los modelos acceder a información externa, mitigando los problemas de alucinaciones al proporcionar acceso a datos propietarios o específicos del dominio. Para los cortes de conocimiento, RAG puede acceder a información actualizada más allá de la fecha de entrenamiento del modelo, lo que garantiza que el resultado esté actualizado.
También permite al LLM extraer datos de varias fuentes externas en tiempo real. Podrían ser bases de conocimientos, bases de datos o incluso la gran extensión de Internet.
Introducción a la generación aumentada de recuperación
La generación aumentada por recuperación (RAG) es un marco, más que una tecnología específica, que permite a los grandes modelos lingüísticos aprovechar datos con los que no fueron entrenados. Existen múltiples maneras de implementar RAG, y la mejor opción depende de la tarea específica y la naturaleza de los datos.
El marco RAG funciona de manera estructurada:
Entrada rápida
El proceso comienza con una entrada o solicitud del usuario. Esta puede ser una pregunta o una afirmación que solicita información específica.
Recuperación de fuentes externas
En lugar de generar directamente una respuesta basada en su entrenamiento, el modelo, con la ayuda de un componente de recuperación, busca en fuentes de datos externas. Estas fuentes pueden variar desde bases de conocimientos, bases de datos y almacenes de documentos hasta datos accesibles por Internet.
Comprender la recuperación
En esencia, la recuperación refleja una operación de búsqueda. Se trata de extraer la información más relevante en respuesta a la entrada del usuario. Este proceso se puede dividir en dos etapas:
- Indexación: Podría decirse que la parte más desafiante de todo el recorrido de RAG es indexar su base de conocimientos. El proceso de indexación se puede dividir en dos fases: carga y división. En herramientas como LangChain, estos procesos se denominan "cargadoras" y "divisores“. Los cargadores obtienen contenido de varias fuentes, ya sean páginas web o archivos PDF. Una vez obtenido, los divisores segmentan este contenido en fragmentos pequeños, optimizándolos para su incrustación y búsqueda.
- Consulta: Este es el acto de extraer los fragmentos de conocimiento más relevantes en función de un término de búsqueda.
Si bien hay muchas formas de abordar la recuperación, desde la simple coincidencia de texto hasta el uso de motores de búsqueda como Google, los sistemas modernos de recuperación de generación aumentada (RAG) se basan en la búsqueda semántica. En el corazón de la búsqueda semántica se encuentra el concepto de incrustaciones.
Las incrustaciones son fundamentales para la forma en que los modelos de lenguaje grandes (LLM) entienden el lenguaje. Cuando los humanos intentan articular cómo obtienen significado de las palabras, la explicación a menudo regresa a la comprensión inherente. En lo profundo de nuestras estructuras cognitivas, reconocemos que "niño" y "niño" son sinónimos, o que "rojo" y "verde" denotan colores.
Aumentar el aviso
La información recuperada se combina con la instrucción original, creando una instrucción aumentada o expandida. Esta instrucción aumentada proporciona contexto adicional al modelo, lo cual resulta especialmente valioso si los datos son específicos del dominio o no forman parte del corpus de entrenamiento original del modelo.
Generando la finalización
Con el mensaje aumentado en la mano, el modelo genera una respuesta. Esta respuesta no solo se basa en el entrenamiento del modelo, sino que también se basa en los datos recuperados en tiempo real.
Arquitectura del Primer RAG LLM
El artículo de investigación de Meta publicado en 2020 “Generación aumentada de recuperación para tareas de PNL intensivas en conocimientos” proporciona una mirada en profundidad a esta técnica. El modelo de recuperación-generación aumentada aumenta el proceso de generación tradicional con un mecanismo externo de recuperación o búsqueda. Esto permite que el modelo extraiga información relevante de vastos corpus de datos, mejorando su capacidad para generar respuestas contextualmente precisas.
Así es como funciona:
- Memoria paramétricaEste es un modelo de lenguaje tradicional, como un modelo seq2seq. Se ha entrenado con grandes cantidades de datos y tiene un amplio conocimiento.
- Memoria no paramétricaPiense en esto como un motor de búsqueda. Es un índice vectorial denso de, por ejemplo, Wikipedia, al que se puede acceder mediante un recuperador neuronal.
Cuando se combinan, estos dos crean un modelo preciso. El modelo RAG primero recupera información relevante de su memoria no paramétrica y luego utiliza su conocimiento paramétrico para dar una respuesta coherente.
1. Proceso de dos pasos:
El RAG LLM opera en un proceso de dos pasos:
- Recuperación: El modelo primero busca documentos o pasajes relevantes de un gran conjunto de datos. Esto se hace mediante un mecanismo de recuperación denso, que emplea incrustaciones para representar tanto la consulta como los documentos. Luego, las incrustaciones se utilizan para calcular puntuaciones de similitud y se recuperan los documentos mejor clasificados.
- GenerationCon los k documentos relevantes disponibles, se canalizan a un generador secuencial junto con la consulta inicial. Este generador genera el resultado final, extrayendo el contexto tanto de la consulta como de los documentos obtenidos.
2. Recuperación densa:
Los sistemas de recuperación tradicionales a menudo se basan en representaciones escasas como TF-IDF. Sin embargo, RAG LLM emplea representaciones densas, donde tanto la consulta como los documentos están incrustados en espacios vectoriales continuos. Esto permite realizar comparaciones de similitudes más matizadas, capturando relaciones semánticas más allá de la mera concordancia de palabras clave.
3. Generación de secuencia a secuencia:
Los documentos recuperados actúan como contexto extendido para el modelo de generación. Este modelo, a menudo basado en arquitecturas como Transformers, genera el resultado final, garantizando su coherencia y relevancia contextual.
Búsqueda de documentos
Indexación y recuperación de documentos
Para una recuperación eficaz de la información, especialmente de documentos grandes, los datos suelen almacenarse en una base de datos vectorial. Cada dato o documento se indexa en función de un vector de incrustación, que captura la esencia semántica del contenido. La indexación eficiente garantiza la recuperación rápida de información relevante según el mensaje de entrada.
Bases de datos vectoriales

Fuente: Redis
Las bases de datos vectoriales, a veces denominadas almacenamiento vectorial, son bases de datos personalizadas expertas en almacenar y recuperar datos vectoriales. En el ámbito de la inteligencia artificial y la informática, los vectores son esencialmente listas de números que simbolizan puntos en un espacio multidimensional. A diferencia de las bases de datos tradicionales, que están más en sintonía con los datos tabulares, las bases de datos vectoriales destacan en la gestión de datos que se ajustan naturalmente a un formato vectorial, como las incrustaciones de modelos de IA.
Algunas bases de datos de vectores notables incluyen Annoy, Faiss por meta, milvus y Pinecone. Estas bases de datos son fundamentales en las aplicaciones de inteligencia artificial y ayudan en tareas que van desde sistemas de recomendación hasta búsquedas de imágenes. Plataformas como AWS también ofrecen servicios adaptados a las necesidades de bases de datos vectoriales, como Amazon OpenSearch Service y Amazon RDS para PostgreSQL. Estos servicios están optimizados para casos de uso específicos, lo que garantiza una indexación y consultas eficientes.
Fragmentación por relevancia
Dado que muchos documentos pueden ser extensos, se suele utilizar una técnica conocida como “fragmentación”. Esto implica dividir documentos grandes en partes más pequeñas y semánticamente coherentes. Luego, estos fragmentos se indexan y recuperan según sea necesario, lo que garantiza que las partes más relevantes de un documento se utilicen para un aumento rápido.
Consideraciones sobre la ventana de contexto
Cada LLM opera dentro de una ventana de contexto, que es esencialmente la cantidad máxima de información que puede considerar simultáneamente. Si las fuentes de datos externas proporcionan información que excede esta ventana, es necesario desglosarla en fragmentos más pequeños que encajen en la ventana de contexto del modelo.
Beneficios de utilizar la generación de recuperación aumentada
- Precisión mejorada: Al aprovechar fuentes de datos externas, RAG LLM puede generar respuestas que no solo se basan en sus datos de capacitación, sino que también se basan en la información más relevante y actualizada disponible en el corpus de recuperación.
- Superar las lagunas de conocimiento:RAG aborda de manera eficaz las limitaciones de conocimiento inherentes de LLM, ya sea debido al límite de entrenamiento del modelo o a la ausencia de datos específicos del dominio en su corpus de entrenamiento.
- Versatilidad: RAG se puede integrar con varias fuentes de datos externas, desde bases de datos patentadas dentro de una organización hasta datos de Internet de acceso público. Esto lo hace adaptable a una amplia gama de aplicaciones e industrias.
- Reducir las alucinaciones: Uno de los desafíos del LLM es la posibilidad de que se produzcan "alucinaciones" o la generación de información objetivamente incorrecta o fabricada. Al proporcionar un contexto de datos en tiempo real, RAG puede reducir significativamente las posibilidades de que se produzcan dichos resultados.
- Escalabilidad organizacional: Uno de los principales beneficios de RAG LLM es su capacidad de escalar. Al separar los procesos de recuperación y generación, el modelo puede manejar de manera eficiente grandes conjuntos de datos, lo que lo hace adecuado para aplicaciones del mundo real donde los datos abundan.
Desafíos y Consideraciones
- Gastos generales computacionales: El proceso de dos pasos puede ser computacionalmente intensivo, especialmente cuando se trata de grandes conjuntos de datos.
- Dependencia de datos: La calidad de los documentos recuperados impacta directamente en la calidad de generación. Por lo tanto, es fundamental contar con un corpus de recuperación completo y bien seleccionado.
Conclusión
Al integrar procesos de recuperación y generación, Recuperación-Generación Aumentada ofrece una solución sólida para tareas intensivas en conocimiento, garantizando resultados que sean tanto informados como contextualmente relevantes.
La verdadera promesa de RAG radica en sus posibles aplicaciones en el mundo real. Para sectores como el de la atención sanitaria, donde la información oportuna y precisa puede ser fundamental, RAG ofrece la capacidad de extraer y generar conocimientos a partir de una amplia literatura médica sin problemas. En el ámbito de las finanzas, donde los mercados evolucionan minuto a minuto, RAG puede proporcionar información basada en datos en tiempo real, lo que ayuda a tomar decisiones informadas. Además, en el ámbito académico y de investigación, los académicos pueden aprovechar RAG para escanear vastos depósitos de información, haciendo que las revisiones de la literatura y el análisis de datos sean más eficientes.

















