View a markdown version of this page

Comprensión LLMs y RAG - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Comprensión LLMs y RAG

Para comprender cómo mejorar la calidad del documento fuente mejora la calidad de la respuesta de un RAG, debe comprender el funcionamiento interno de un LLM. Su verdadero poder LLMs reside en su capacidad para utilizar mecanismos de autoatención y arquitecturas transformadoras. Estas técnicas avanzadas permiten a los modelos procesar y relacionar eficazmente diferentes partes de la secuencia de entrada, independientemente de su posición o distancia dentro del texto. Esta capacidad contrasta marcadamente con los modelos lingüísticos tradicionales, que suelen tener dificultades con las dependencias de largo alcance y con la comprensión del contexto. Además, LLMs están entrenados a una escala sin precedentes. Algunos de los modelos más grandes están compuestos por billones de parámetros y han absorbido terabytes de datos textuales de diversas fuentes. Esta escala masiva permite LLMs desarrollar una comprensión profunda del lenguaje, capturando matices sutiles, expresiones idiomáticas y claves contextuales que antes suponían un desafío para los sistemas de inteligencia artificial. El resultado es una clase de modelos que pueden generar textos coherentes y fluidos y que demuestran una capacidad extraordinaria en tareas como la respuesta a preguntas, el resumen de textos e incluso la generación de código.

Para utilizar estos modelos, podemos recurrir a servicios como Amazon Bedrock, que proporciona acceso a una variedad de modelos básicos de Amazon y de proveedores externos, incluidos Anthropic, Cohere y Meta. Puede usar Amazon Bedrock para experimentar con state-of-the-art modelos, personalizarlos y ajustarlos, o incorporarlos a sus soluciones generativas impulsadas por IA a través de una sola API.

Si bien se LLMs destacan en la captura de patrones y en la generación de texto coherente, a menudo carecen de acceso a información especializada o de acceso a ella. up-to-date El RAG combina el poder generativo LLMs con un componente de recuperación que permite acceder a información relevante de fuentes externas e incorporarla, como parte del mensaje LLM materializado. Algunos ejemplos de fuentes externas son las bases de conocimiento de Amazon Bedrock, los sistemas de búsqueda inteligente como Amazon Kendra o las bases de datos vectoriales como Amazon OpenSearch Service.

El flujo de trabajo de cómo una aplicación basada en RAG responde a la consulta de un usuario.

El diagrama describe el siguiente flujo de trabajo:

  1. El usuario envía una consulta a la aplicación RAG.

  2. La aplicación RAG consulta una base de datos vectorial que contiene fuentes de conocimiento, como documentos, datos o medios.

  3. La aplicación RAG recupera la información relevante de la base de datos vectorial en función de las similitudes semánticas entre la consulta y los documentos almacenados.

  4. La aplicación RAG amplía la solicitud original con el contexto recuperado y la envía al punto final de LLM.

  5. El punto final LLM genera una respuesta y la devuelve a la aplicación RAG.

  6. La aplicación RAG devuelve la respuesta generada al usuario.

En esencia, RAG emplea un proceso de dos etapas. En la primera etapa, un modelo de recuperación identifica y recupera los documentos o pasajes relevantes en función de la consulta de entrada. Este modelo de recuperación puede ser un sistema de recuperación de información tradicional, un modelo de recuperación densa o una combinación de ambos. En la segunda etapa, la información recuperada y la consulta original se introducen en un LLM como una plantilla de solicitud totalmente materializada. LLMs dependen en gran medida de la calidad del contenido fuente entregado por el componente de recuperación. Aplican un mecanismo de autoatención para codificar matemáticamente la relación entre el contenido recuperado y la tarea. Luego, el LLM genera una respuesta basada tanto en la consulta como en la información recuperada. En el RAG, controlar la calidad de los documentos fuente recuperados representa un medio directo de mejorar la representación interna de una tarea por parte de un LLM. El RAG amplía eficazmente los datos de formación del LLM con datos externos relevantes. Este enfoque permite a RAG aprovechar las ventajas tanto de los sistemas de recuperación como de los sistemas de recuperación, lo que permite generar respuestas más precisas LLMs e informadas que incorporan conocimientos actuales y especializados.

Vectores e incrustaciones

Los vectores y las incrustaciones son conceptos fundamentales en el aprendizaje automático y el procesamiento del lenguaje natural. Los vectores son objetos matemáticos que representan cantidades que tienen magnitud y dirección. En el contexto del procesamiento del lenguaje natural (PNL), las palabras, las oraciones o los documentos suelen representarse como vectores en espacios vectoriales de alta dimensión. Las incrustaciones, por otro lado, son una forma de representar objetos como palabras o documentos en un espacio vectorial de dimensiones inferiores donde las relaciones entre los vectores capturan similitudes semánticas o sintácticas. Las incrustaciones de palabras, por ejemplo, permiten que palabras con significados similares tengan representaciones vectoriales similares. Esto ayuda a los algoritmos a entender y procesar el lenguaje de forma más eficaz.

bases de datos vectoriales

En la IA generativa, una base de datos vectorial es una base de datos que almacena y gestiona representaciones vectoriales de documentos, consultas u otros objetos. Está diseñada para almacenar y recuperar vectores de manera eficiente. Esto permite operaciones rápidas y escalables, como la búsqueda semántica y la coincidencia de similitudes. Las bases de datos vectoriales indexan los vectores mediante estructuras de datos especializadas, como los gráficos de mundos pequeños navegables jerárquicos (HNSW) o los algoritmos K-Nearest Neighbors (KNN). Estas estructuras de datos permiten realizar búsquedas rápidas de los vecinos más cercanos, lo que permite encontrar rápidamente vectores similares en la base de datos.

La búsqueda semántica es una técnica que mejora la relevancia de los resultados de búsqueda al comprender la intención y el contexto de la consulta, en lugar de limitarse a hacer coincidir las palabras clave. En términos técnicos, la búsqueda semántica implica comparar las representaciones vectoriales de la consulta y los documentos de la base de datos para encontrar las coincidencias más relevantes. Se pueden utilizar diferentes estrategias de recuperación para la búsqueda semántica, que incluyen, entre otras:

  • HNSW: estructura de datos basada en gráficos que organiza los vectores de manera que sea eficiente buscar los vecinos más cercanos.

  • KNN: algoritmo que busca los K vectores más cercanos a un vector de consulta en función de una métrica de distancia, como la similitud de cosenos.

  • Similitud de coseno: medida de similitud entre dos vectores distintos de cero que mide el coseno del ángulo que los separa. Suele utilizarse en la búsqueda semántica para comparar la dirección de los vectores en un espacio de alta dimensión.

  • Hash sensible a la localidad (LSH): técnica que utiliza códigos hash de vectores similares en los mismos cubos o en áreas cercanas con una alta probabilidad. Esto permite realizar búsquedas aproximadas de los vecinos más cercanos, que pueden ser más rápidas que las búsquedas exactas en espacios de alta dimensión.