talón Una inmersión profunda en la generación de recuperación aumentada en LLM - Unite.AI
Contáctanos

Inteligencia artificial

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

mm

Publicado

 on

Recuperación de ilustración de generación aumentada usando Midjourney

Imagine que es analista y tiene acceso a un modelo de lenguaje grande. Está entusiasmado con las perspectivas que aporta a su flujo de trabajo. Pero luego, le preguntas sobre los últimos precios de las acciones o la tasa de inflación actual, y te responde:

“Lo siento, pero no puedo proporcionar datos en tiempo real o posteriores al corte. 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 absorbido muchos hechos y cifras. Cuando se ajustan con precisión, pueden lograr resultados notables en una variedad de tareas de PNL.

Pero aquí está el problema: su capacidad para acceder y manipular este conocimiento almacenado no es, a veces, perfecta. Especialmente cuando la tarea en cuestión requiere un uso intensivo de conocimientos, estos modelos pueden quedar rezagados respecto de arquitecturas más especializadas. Es como tener una biblioteca con todos los libros del mundo, pero sin catálogo para encontrar lo que necesitas.

ChatGPT de OpenAI obtiene una actualización de navegación

El reciente anuncio de OpenAI sobre la capacidad de navegación de ChatGPT es un salto significativo en la dirección de la generación aumentada de recuperación (RAG). Ahora que ChatGPT puede buscar en Internet información actual y autorizada, refleja el enfoque RAG de extraer datos dinámicamente de fuentes externas para proporcionar respuestas enriquecidas.

Actualmente disponible para usuarios Plus y Enterprise, OpenAI planea implementar esta función a todos los usuarios pronto. Los usuarios pueden activar esto seleccionando 'Navegar con Bing' en la opción GPT-4.

Nueva función de navegación de Chatgpt

Chatgpt Nueva función de navegación 'Bing'

 La ingeniería rápida es efectiva pero insuficiente

Las indicaciones sirven como puerta de entrada al conocimiento de LLM. Guían el modelo y proporcionan una dirección para la respuesta. Sin embargo, elaborar una propuesta eficaz no es la solución completa para obtener lo que desea de un LLM. Aún así, repasemos algunas buenas prácticas a considerar al escribir un mensaje:

  1. Claridad: Un mensaje bien definido elimina la ambigüedad. Debe ser sencillo y garantizar que el modelo comprenda la intención del usuario. Esta claridad a menudo se traduce en respuestas más coherentes y relevantes.
  2. 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.
  3. Precisión en la instrucción: La fuerza de la pregunta, a menudo transmitida a través del marco de “quién, qué, dónde, cuándo, por qué y cómo”, puede guiar el modelo hacia una respuesta más centrada. Además, especificar el formato o tamaño de salida deseado puede refinar aún más la salida del modelo.
  4. Manejando la incertidumbre: Es esencial guiar al modelo sobre cómo responder cuando no está seguro. Por ejemplo, indicarle al modelo que responda "No sé" cuando no esté seguro puede evitar que genere "inexactos o"alucinado” respuestas.
  5. 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 y solo requiere ajustes menores en el 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.
Alucinaciones en LLM

Alucinaciones en LLM

  • Límites de conocimiento: Todo modelo LLM tiene una fecha de finalización de la formación, publicación de la cual desconoce eventos o novedades. Esta limitación significa que el conocimiento del modelo se congela en el momento de su última fecha de entrenamiento. Por ejemplo, un modelo entrenado hasta 2022 no conocería los eventos de 2023.
Límite de conocimientos en LLMS

Límite de conocimientos en LLM

Generación de recuperación aumentada (RAG) ofrece una solución a estos desafíos. Permite que los modelos accedan a información externa, mitigando los problemas de alucinaciones al brindar acceso a datos propietarios o específicos de un dominio. Para los límites de conocimiento, RAG puede acceder a información actual más allá de la fecha de capacitación 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 de recuperación aumentada (RAG) es un marco, más que una tecnología específica, que permite a los modelos de lenguaje grandes aprovechar datos en los que no fueron entrenados. Hay varias formas de implementar RAG y la mejor opción depende de su tarea específica y la naturaleza de sus datos.

El marco RAG funciona de manera estructurada:

Entrada rápida

El proceso comienza con la entrada o solicitud de un usuario. Podría ser una pregunta o una declaración que busque 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 pertinente en respuesta a la entrada de un usuario. Este proceso se puede dividir en dos etapas:

  1. 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.
  2. 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

Luego, la información recuperada se combina con el mensaje original, creando un mensaje ampliado o aumentado. Este mensaje aumentado proporciona al modelo contexto adicional, lo cual es especialmente valioso si los datos son específicos de un 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 finalización o respuesta. Esta respuesta no se basa solo en el entrenamiento del modelo, sino que también se basa en los datos recuperados en tiempo real.

Generación aumentada de recuperación

Generación aumentada de recuperación

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:

  1. Memoria paramétrica: Este es su modelo de lenguaje tradicional, como un modelo seq2seq. Ha sido entrenado con grandes cantidades de datos y sabe mucho.
  2. Memoria no paramétrica: Piense en esto como un motor de búsqueda. Es un índice vectorial denso de, digamos, 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.

TRAPO MODELO ORIGNAL DE META

Modelo RAG original de Meta.

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.
  • Generación: Con los k documentos más relevantes en la mano, se canalizan a un generador de secuencia a secuencia junto con la consulta inicial. Luego, este generador elabora 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 un contexto extendido para el modelo de generación. Este modelo, a menudo basado en arquitecturas como Transformers, genera el resultado final, asegurando que sea coherente y contextualmente relevante.

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

Base de datos de vectores

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, milvusy piña. 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 a la vez. Si las fuentes de datos externas proporcionan información que excede esta ventana, es necesario dividirla en partes más pequeñas que encajen dentro de la ventana de contexto del modelo.

Beneficios de utilizar la generación de recuperación aumentada

  1. 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.
  2. Superar las lagunas de conocimiento: RAG aborda eficazmente 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.
  3. 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.
  4. 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.
  5. Escalabilidad: 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.

He pasado los últimos cinco años sumergiéndome en el fascinante mundo del aprendizaje automático y el aprendizaje profundo. Mi pasión y experiencia me han llevado a contribuir en más de 50 proyectos diversos de ingeniería de software, con un enfoque particular en AI/ML. Mi curiosidad constante también me ha atraído hacia el procesamiento del lenguaje natural, un campo que estoy ansioso por explorar más a fondo.