Generación aumentada de recuperación mediante el flujo de solicitudes de Azure Machine Learning (versión preliminar)
Importante
Esta característica actualmente está en su versión preliminar pública. Esta versión preliminar se ofrece sin un Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas.
Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
La Generación aumentada de recuperación (RAG) es un patrón que funciona con modelos de lenguaje grandes entrenados previamente (LLM) y sus propios datos para generar respuestas. En Azure Machine Learning, ahora puede implementar RAG en un flujo de solicitudes. La compatibilidad con RAG se encuentra actualmente en versión preliminar pública.
En este artículo se enumeran algunas de las ventajas de RAG, se proporciona información general técnica y se describe la compatibilidad con RAG en Azure Machine Learning.
Nota:
¿No está familiarizado con los conceptos de LLM y RAG? Este clip de vídeo de una presentación de Microsoft ofrece una explicación sencilla.
¿Por qué usar RAG?
Tradicionalmente, un modelo base se entrena con datos a un momento dado para garantizar su eficacia en la realización de tareas específicas y adaptación al dominio deseado. Sin embargo, a veces es necesario trabajar con datos más recientes o más actuales. Dos enfoques pueden complementar el modelo base: la optimización o el entrenamiento adicional del modelo base con nuevos datos, o el RAG que usa la ingeniería de solicitudes para complementar o guiar el modelo en tiempo real.
El ajuste fino es adecuado para la adaptación continua de dominios, lo que permite mejoras significativas en la calidad del modelo, pero a menudo implica mayores costos. Por el contrario, RAG ofrece un enfoque alternativo, permitiendo usar el mismo modelo como motor de razonamiento sobre nuevos datos proporcionados en una solicitud. Esta técnica permite el aprendizaje en contexto sin necesidad de un ajuste costoso, lo que permite a las empresas usar LLM de forma más eficaz.
RAG permite a las empresas desarrollar soluciones personalizadas al tiempo que mantienen la relevancia de los datos y optimizan los costos. Al adoptar RAG, las empresas pueden usar las funcionalidades de razonamiento de los LLM y aprovechar sus modelos existentes para procesar y generar respuestas basadas en nuevos datos. RAG facilita las actualizaciones periódicas de datos sin necesidad de ajustarlas, lo que simplifica la integración de los LLM en las empresas.
- Proporcionar datos complementarios como una directiva o una solicitud al LLM
- Agrega un componente de comprobación de hechos en los modelos existentes
- Entrene su modelo con datos actualizados sin incurrir en el tiempo y los costos adicionales asociados a la optimización.
- Entrenamiento en los datos específicos de su empresa
Información técnica sobre el uso de RAG en modelos de lenguaje grandes (LLM)
En la recuperación de información, RAG es un enfoque que le permite aprovechar el poder de los LLM con sus propios datos. La habilitación de un LLM para acceder a datos personalizados implica los pasos siguientes. En primer lugar, los datos grandes se deben fragmentar en partes administrables. En segundo lugar, los fragmentos deben convertirse a un formato que se pueda buscar. En tercer lugar, los datos convertidos deben almacenarse en una ubicación que permita un acceso eficaz. Además, es importante almacenar metadatos relevantes para citas o referencias cuando el LLM proporciona respuestas.
Veamos al diagrama con más detalle.
Datos de origen: aquí es donde existen los datos. Podría ser un archivo o carpeta en la máquina, un archivo en el almacenamiento en la nube, un recurso de datos de Azure Machine Learning, un repositorio de Git o una base de datos SQL.
Fragmentación de datos: los datos del origen deben convertirse en texto sin formato. Por ejemplo, hay que abrir documentos de Word o PDF y convertirlos en texto. A continuación, el texto se fragmenta en partes más pequeñas.
Conversión del texto a vectores: llamadas incrustaciones. Los vectores son representaciones numéricas de conceptos convertidos en secuencias numéricas, lo que facilita a los equipos comprender las relaciones entre ellos.
Vínculos entre datos de origen e inserciones: esta información se almacena como metadatos en los fragmentos creados, que luego se usan para ayudar a los LLM a generar citas mientras elaboran respuestas.
RAG con Azure Machine Learning (versión preliminar)
RAG en Azure Machine Learning está habilitado mediante la integración con Azure OpenAI Service para grandes modelos de lenguaje y vectorización, con compatibilidad con Faiss y Azure AI Search (formalmente conocido como Cognitive Search) como almacenes de vectores y compatibilidad con herramientas y marcos de trabajo de oferta de código abierto como LangChain para fragmentación de datos.
Para implementar RAG, se deben cumplir algunos requisitos clave. En primer lugar, los datos deben tener un formato que permita una búsqueda eficaz antes de enviarlos al LLM, lo que, en última instancia, reduce el consumo de tokens. Para garantizar la eficacia de RAG, también es importante actualizar periódicamente los datos. Además, tener la capacidad de evaluar la salida del LLM mediante los datos le permite medir la eficacia de las técnicas. Azure Machine Learning no solo le permite empezar a trabajar fácilmente en estos aspectos, sino que también le permite mejorar y producir RAG. Ofertas de Azure Machine Learning:
- Ejemplos para iniciar escenarios de preguntas y respuestas basados en RAG.
- Experiencia de interfaz de usuario basada en asistentes para crear y administrar datos e incorporarlos en flujos de solicitudes.
- Capacidad para medir y mejorar los flujos de trabajo de RAG, incluida la generación de datos de prueba, la creación automática de mensajes y las métricas de evaluación de solicitudes visualizadas.
- Escenarios avanzados con más control mediante los nuevos componentes RAG integrados para crear canalizaciones personalizadas en cuadernos.
- Experiencia en código, que permite usar datos creados con ofertas de código abierto como LangChain.
- Integración perfecta de flujos de trabajo de RAG en flujos de trabajo de MLOps mediante canalizaciones y trabajos.
Conclusión
Azure Machine Learning permite incorporar RAG en la inteligencia artificial mediante Azure Machine Learning Studio o el uso de código con canalizaciones de Azure Machine Learning. Ofrece varias adiciones de valor, como la capacidad de medir y mejorar los flujos de trabajo de RAG, la generación de datos de prueba, la creación automática de solicitudes y la visualización de métricas de evaluación rápida. Permite usar canalizaciones para la integración de flujos de trabajo de RAG en flujos de trabajo de MLOps. También puede usar sus datos con ofertas de código abierto como LangChain.
Pasos siguientes
Use almacenes de vectores con Azure Machine Learning (versión preliminar)
Cómo crear un índice vectorial en el flujo de solicitudes de Azure Machine Learning (versión preliminar)