

Descubra más de 📬 Newsletter SEO / IA en Español
#61 Retrieval Augmented Generation (RAG): el futuro de los Grandes Modelos de Lenguaje
RAG es una técnica usada en el procesamiento de lenguaje natural que une la potencia de los modelos basados en la recuperación y los generativos para mejorar la calidad y relevancia de las respuestas.
🤖 Los avances recientes en el llamado Procesamiento del Lenguaje Natural (PLN) que comenzaron con la mejora de las búsquedas nos han traído los exitosos Grandes Modelos de Lenguaje (LLM). Los LLM nos han permitido extrapolar contenido en respuesta a consultas basadas en datos de los resultados de búsqueda.
Una de las limitaciones de estos modelos es que suelen entrenarse fuera de línea, lo que hace que el modelo sea independiente de cualquier dato que se produzca después del entrenamiento. Además, los modelos básicos se entrenan con datasets muy generales, lo que los hace menos eficaces para tareas específicas de un dominio.
Además, los LLM pueden entender las relaciones estadísticas entre los términos, pero el significado real de los mismos a menudo se difumina en el proceso. Junto a esto, no hay que olvidar que los LLM a veces ofrecen información aleatoria y no relacionada en respuesta a consultas, lo que se conoce como alucinaciones.
👉 RAG (Retrieval Augmented Generation) nace de la necesidad de mitigar estas limitaciones intrínsecas a los LLM. Si bien mucha gente piensa que esta innovación la presentó Microsoft con el nuevo Bing, realmente fue el equipo de investigación de inteligencia artificial de Facebook quien publicó por primera vez el concepto en mayo de 2020 en el artículo "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks" [EN].
¿Qué es RAG y cómo funciona?
Este nuevo paradigma recopila documentos en base a una consulta o prompt y los agregan como un few-shot prompt para refinar la respuesta del modelo de lenguaje.
Few-shot prompting [EN] consiste en en mostrar al modelo algunos ejemplos (llamados shots) de lo que quieres que haga.
Mediante este mecanismo, un modelo de lenguaje puede basarse en “hechos” o aprender de contenido preexistente, para producir, a la postre, respuestas más relevantes con menor afectación de alucinaciones.
Se entenderá mejor cuando explique sus fases:
Fase de codificación de la entrada: se codifica el prompt de entrada del usuario en una serie de vectores para futuras operaciones.
Fase de recuperación: es la búsqueda y localización de fragmentos de información relevantes en la base de conocimiento externa. Estos fragmentos pueden ser documentos indexados online o fuentes de información específicas.
Fase de generación de contenido: los fragmentos recuperados relevantes se “adjuntan” a la consulta del usuario y se envían al modelo de lenguaje. Ahora el modelo de lenguaje utiliza la consulta ampliada y la representación interna de sus datos de entrenamiento para procesar una respuesta.
Como decía más arriba, este paradigma cambia por completo las reglas del juego porque, mientras que los LLM pueden memorizar hechos, están muy limitados en último término a los datasets iniciales de entrenamiento. Este modelo permite que la nueva información provista se tenga en consideración para mejorar las futuras respuestas del modelo de lenguaje.
A esto hay que añadir que RAG proporciona a los usuarios un método para verificar la precisión de las respuestas generadas al extraer hechos de fuentes de conocimiento externas y verificables.
Por lo general, RAG usa como fuente de conocimiento externa un índice vectorial, pero sobre todo se emplean Grafos de Conocimiento. Esta es la implementación más efectiva y eficiente con diferencia, porque limita los datos adjuntos únicamente a hechos verificados. De hecho, algunos estudios recientes [EN] apuntan a que la superposición entre los LLM y los Grafos de Conocimiento (KG) da como resultado una relación simbiótica que libera el potencial de ambos.
Problemas intrínsecos al modelo
Con RAG se consiguen mejores resultados de forma automatizada ampliando el conocimiento disponible para el modelo de lenguaje. Aún así, pueden aparecer problemas:
Es esencial que el motor de recuperación no falle: debe recuperar los documentos correctos o el resto del proceso se verá afectado.
Los datos del Grafo de Conocimiento deben mantenerse actualizados.
Efecto “cámara de eco”: puede darse cierta redundancia en los resultados cuando hay superposiciones.
Cuidado con la longitud de los prompts, que pueden acabar jugando malas pasadas.
Aún con toda la mejora que supone el modelo RAG, no se puede descartar la aparición eventual de alguna alucinación.
¿Está usando Google ya RAG en su nueva experiencia de búsqueda generativa (SGE)?
La gente tiende a pensar que Google presentó su chatbot Bard como respuesta al nuevo Bing. Es cierto que tal vez haya ayudado a adelantar su lanzamiento, pero también lo es que habían presentado ya una implementación de RAG en agosto de 2020, en su artículo: “REALM: Integrating Retrieval into Language Representation Models” [EN]
De hecho, Google ha desarrollado hasta tres implementaciones de RAG, cada una con sus propias fortalezas y debilidades:
REALM: este modelo identifica los documentos completos, encuentra los fragmentos más relevantes dentro de cada uno y extrae de ellos la información. Durante el pre-entrenamiento, REALM es capaz de predecir tokens enmascarados en una oración, pero también está entrenado para recuperar documentos relevantes de un corpus textual y prestar atención a estos documentos al realizar predicciones. Esto permite a REALM aprender a generar textos más informativos y precisos que los modelos de lenguaje tradicionales.
RETRO: atiende los documentos recuperados de una manera más jerárquica, lo que le permite comprender mejor el contexto de los documentos. Esto da como resultado un texto más fluido y coherente que el texto generado por REALM.
RARR: este es un enfoque diferente al modelado de lenguaje tradicional, ya que no genera textos desde cero. En lugar de ello, recupera un conjunto de pasajes candidatos de un corpus textual y luego los reorganiza para seleccionar el mejor pasaje para la tarea dada. Este enfoque permite a RARR generar textos más relevantes e informativos que otros modelos de lenguaje, pero puede resultar más costoso desde el punto de vista computacional.
Ahora bien, en base a la información que la propia Google ha compartido [EN], sabemos que SGE emplea una combinación de los modelos de lenguaje PaLM 2 y MuM con el motor de Búsqueda de Google como su recuperador de documentos. Esto implica que, tanto el índice de documentos de Google como el Knowledge Vault, pueden estar usándose por debajo para refinar las respuestas.
El futuro de RAG
En la actualidad, los modelos basados en RAG se limitan a las consultas de texto y recuperan fragmentos de información de bases de conocimiento textuales, pero es posible que en el futuro sean capaces de interactuar con bases de datos más complejas y multidimensionales.
Aunque de momento RAG está siendo empleado sobre todo por grandes corporaciones con recursos considerables, es de esperar que en un futuro próximo se vuelvan cada vez más accesibles, llegando también a pequeñas y medianas empresas.
Por lo tanto, el paradigma RAG tiene la capacidad de revolucionar el futuro de los modelos de generación de lenguaje y el procesamiento de lenguaje natural. Al ser capaz de ofrecer respuestas verificables, actuales e informativas, puede llevar la generación de lenguaje artificial a un nuevo nivel de precisión y eficacia.
Fuentes:
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks [EN] [PDF]
Few-Shot Prompting [EN]
How Search Generative Experience works and why retrieval-augmented generation is our future [EN]
🔎 Google expande la nueva experiencia generativa de búsqueda (SGE) a 120 países nuevos. Aquí el anuncio oficial [EN]
👉 Aunque se incluye el español, de momento no llega a España y tampoco veo que llegue a ningún otro país europeo, aunque parece obvio que no tardará mucho ya. Junto a la nueva experiencia, se incluyen un par de funciones adicionales:
Ayuda las traducciones con IA.
Más definiciones de conceptos con SGE.
También se está probando un nuevo método para que el buscador haga preguntas de seguimiento para que sigas explorando el área temática de tu consulta.
🦁 Brave ha lanzado Leo [EN], un nuevo asistente generativo para su buscador centrado en la privacidad del usuario.
👉 Se basa en dos modelos de lenguaje: Claude [EN] de la empresa Anthropic y Llama 2 de Meta. Leo no guarda un historial de nuestros chats ni usa nuestros datos para entrenar al chatbot. Junto a la experiencia gratuita (ya disponible para todos los usuarios de Brave), ofrecen una versión de pago llamada Leo Premium con varias mejoras y a la que pretenden incorporar nuevos modelos de lenguaje adicionales en el futuro.
📉 El Core Update de Google de noviembre está resultando ser especialmente volátil y rápido [EN]
👉 Al menos es como ha comenzado, pero es de esperar que las aguas vuelvan a su cauce en los próximos días. Sólo recordaros que está en pleno despliegue y queda aproximadamente otra semana para que éste finalice.
🏛️ Los tres pilares del ranking de Google según el Departamento de Justicia de Estados Unidos [EN].
👉 El proceso antimonopolio al que se enfrenta Google sigue dando réditos a los interesados en estas cuestiones. Una de las diapositivas presentadas en el juicio llamada "Los 3 pilares del ranking" y analiza el cuerpo, los anclajes (anchors) y las interacciones del usuario:
Cuerpo (body): lo que dice el documento sobre sí mismo.
Anclas (anchors): lo que dice la Web sobre el documento.
Interacciones de usuario (user-interactions): lo que los usuarios dicen sobre el documento.
Muchos están viendo el último punto como una evidencia de que Google usa datos de clics directamente en su algoritmo de clasificación de búsqueda. Técnicamente, no se puede decir que esto lo pruebe, únicamente dice que Google lo usa para obtener comentarios sobre lo bien están funcionando los algoritmos.
¿Estaríamos hablando de aprendizaje en tiempo real, en el sentido de que el algoritmo cambia inmediatamente los resultados en función de esos datos de clics? Probablemente no, pero ese aprendizaje sí influye en la clasificación futura y en los cambios algorítmicos.