Diferencias entre la generación aumentada por recuperación (RAG) y el perfeccionamiento del modelo
Tanto la RAG como el perfeccionamiento cumplen la función de mejorar los modelos de lenguaje de gran tamaño (LLM). En el caso de la RAG, no se modifica el LLM fundamental, mientras que el perfeccionamiento requiere del ajuste de sus parámetros y pesos. Por lo general, se puede personalizar un modelo con la arquitectura de ambos métodos.
Diseño a partir de modelos de lenguaje de gran tamaño
Un LLM es un tipo de inteligencia artificial que emplea técnicas de machine learning (aprendizaje automático) para comprender y producir lenguaje humano. Estos modelos de machine learning pueden generar, resumir, reescribir, traducir, clasificar, ordenar por categorías y analizar texto, entre otras tareas. El uso más común de los modelos en el ámbito empresarial es la creación de sistemas que respondan preguntas, como los chatbots.
Los modelos base de los LLM están entrenados con conocimiento general para respaldar una gran cantidad de casos prácticos. Sin embargo, es probable que no contengan el conocimiento específico de un área que es exclusivo de tu empresa. La RAG y el perfeccionamiento son dos formas de incorporar datos a los LLM y ajustarlos según tus preferencias para que generen ciertos resultados.
Por ejemplo, imagina que diseñas un chatbot para que interactúe con tus clientes. En este caso, el chatbot representa a tu empresa, así que debería responder como un empleado con muy buen desempeño y conocer distintos detalles, como los productos en venta y las políticas aplicadas. De la misma manera en la que capacitarías al personal brindándole material de estudio o indicaciones, puedes entrenar chatbots con la RAG y el perfeccionamiento para que se desarrolle a partir de la base de conocimiento con la que se diseñó.
¿Qué es la RAG y cómo funciona?
La RAG permite complementar los datos que se encuentran en los LLM con información que proviene de fuentes de tu preferencia, ya sean repositorios de datos, conjuntos de textos o documentación. Una vez que las arquitecturas de RAG obtienen los datos, se encargan de procesarlos en el contexto de los LLM y generar una respuesta basada en las fuentes combinadas.
La RAG es ideal para complementar tu modelo con información que se actualiza de forma periódica. Si creas una vía de comunicación entre el LLM y las fuentes externas elegidas, obtendrás resultados mucho más precisos. Además, al configurar la RAG para que indique su fuente, resulta más sencillo comprender la obtención de un determinado resultado, lo cual aporta más transparencia y confiabilidad.
Volvamos a nuestro ejemplo. Si tuvieras que diseñar un chatbot que respondiera preguntas como "¿cuál es la política de devoluciones?", podrías usar una arquitectura de RAG. Podrías conectar el LLM a un documento con los detalles de la política de devoluciones de la empresa e indicar al chatbot que extraiga la información de allí. Incluso podrías indicarle que mencione la fuente y brinde un enlace para obtener más información. Además, si el documento sobre la política de devoluciones cambiara, el modelo de RAG extraería la información más reciente y se la proporcionaría al usuario.
Casos prácticos de la RAG
La RAG permite obtener información y organizarla de manera tal que facilite la interacción de las personas con los datos. Con las arquitecturas de RAG, los modelos pueden buscar información y proporcionar contexto a los LLM a partir de fuentes de datos locales y de la nube. Esto significa que se pueden utilizar datos externos, documentos internos e incluso feeds de redes sociales para responder preguntas, aportar contexto y fundamentar la toma de decisiones.
Por ejemplo, puedes crear una arquitectura de RAG que brinde respuestas específicas con relación a las políticas, los procedimientos y la documentación de una empresa cuando se las soliciten. De esta manera, ahorrarás el tiempo que implicaría buscar un determinado documento e interpretarlo de forma manual.
¿Qué es el perfeccionamiento del modelo?
Piensa en el perfeccionamiento como una forma de comunicarle una determinada intención al LLM para que este desarrolle un resultado que se ajuste a tus objetivos. Es un proceso que implica entrenar un modelo que ya fue entrenado previamente con un conjunto de datos más reducido y específico para que realice tareas puntuales de un área determinada con mayor eficiencia. Los datos de este entrenamiento adicional se integran a la arquitectura del modelo.
Regresemos al ejemplo del chatbot. Imagina que quieres que el chatbot interactúe con pacientes en un contexto de atención médica. Entonces, es importante que el modelo conozca terminología médica relacionada con tu trabajo. Con las técnicas del perfeccionamiento, tendrás la seguridad de que cuando un paciente le consulte al chatbot sobre "servicios de FT", este comprenderá que se refiere a "servicios de fisioterapia" y le proporcionará los recursos adecuados.
Casos prácticos del perfeccionamiento del modelo
El perfeccionamiento es ideal para entrenar modelos con el objetivo de que interpreten la información a la que tienen acceso. Por ejemplo, puedes entrenar un modelo para que comprenda los detalles y la terminología de tu sector particular, como los acrónimos o los valores empresariales.
Además, el perfeccionamiento es recomendable para clasificar imágenes. Por ejemplo, si trabajas con imágenes de resonancia magnética (IRM), puedes entrenar tu modelo con este método para identificar anomalías.
El perfeccionamiento también permite que tu empresa utilice el tono correcto cuando se comunique con otras personas, especialmente en casos de atención al cliente. Puedes entrenar al chatbot para que analice los sentimientos o las emociones de la persona con la que interactúa. Además, puedes entrenarlo para que brinde una respuesta satisfactoria al cliente y, a la vez, promueva los valores de la empresa.
Aspectos que deben considerarse para elegir entre la RAG y el perfeccionamiento del modelo
A la hora de tomar decisiones estratégicas sobre los recursos de inteligencia artificial que debes implementar para cumplir tus objetivos, es importante que comprendas las diferencias entre la RAG y el perfeccionamiento del modelo. Estos son algunas preguntas básicas que debes tener en cuenta:
¿Cuáles son las habilidades de tu equipo?
Para personalizar un modelo con la RAG, se requieren habilidades de codificación y arquitectura. En comparación con los métodos tradicionales de perfeccionamiento, con la RAG, recibir comentarios, solucionar problemas y corregir aplicaciones se hace de forma más accesible y directa. Por otro lado, el perfeccionamiento requiere de experiencia en el procesamiento del lenguaje natural (NLP), el deep learning (aprendizaje profundo), la configuración de modelos, el reprocesamiento de datos y las evaluaciones, por lo cual demanda más tiempo y habilidades técnicas.
¿Tus datos son estáticos o dinámicos?
Con el perfeccionamiento, el modelo aprende patrones comunes que no se modifican con el tiempo. Al basarse en instantáneas estáticas de conjuntos de datos de entrenamiento, la información del modelo puede volverse obsoleta, y el modelo necesitaría un reentrenamiento. Por el contrario, con la RAG se indica al LLM que obtenga información específica inmediata de las fuentes que elijas. Es decir, el modelo extrae los datos más actualizados para dotar a tu aplicación de resultados precisos y relevantes.
¿Cuál es tu presupuesto?
El perfeccionamiento del modelo siempre ha sido una técnica de deep learning que requiere muchos recursos informáticos y datos. Para alimentar el modelo, debes etiquetar los datos y llevar a cabo el entrenamiento en hardware costoso de alta gama. Además, el rendimiento del modelo con este método depende de la calidad de tus datos y, para que estos sean óptimos, debes invertir mucho dinero.
En cambio, la RAG suele ser más rentable que el perfeccionamiento del modelo. Para aplicarla, debes diseñar sistemas de canales que conecten los datos con tu LLM. Gracias a esta conexión directa, se reducen los costos en recursos, ya que se utilizan los datos que ya posees para abastecer al LLM, en lugar de dedicar tiempo, energía y recursos a la generación de datos nuevos.
Red Hat puede ayudarte
El ecosistema de partners de inteligencia artificial y las soluciones open source de Red Hat te permiten implementar la RAG y el perfeccionamiento en el proceso de tus operaciones de modelos de lenguaje de gran tamaño (LLMOps).
Prueba el perfeccionamiento del modelo con InstructLab
InstructLab es un proyecto de la comunidad open source creado por IBM y Red Hat para contribuir a los LLM utilizados en las aplicaciones de inteligencia artificial generativa. Proporciona un marco que emplea datos sintéticos para que el perfeccionamiento de LLM sea más accesible.
How InstructLab’s synthetic data generation enhances LLMs
Crea tu propio modelo base con Red Hat Enterprise Linux AI
Cuando tu empresa esté lista para diseñar aplicaciones con inteligencia artificial generativa, Red Hat® Enterprise Linux® AI proporcionará la plataforma de modelo base que necesitas para abordar los casos prácticos con tus datos más rápido.
Red Hat Enterprise Linux AI reúne los LLM con licencia open source de Granite y las herramientas de ajuste de modelos de InstructLab en un solo entorno de servidor. Por lo tanto, a la hora de perfeccionar un modelo de inteligencia artificial que se pueda ampliar a la nube híbrida y de colaborar en él, es una opción más accesible para los especialistas en el área sin experiencia en análisis de datos.
Además, Red Hat Enterprise Linux AI cuenta con el respaldo de los beneficios de la suscripción a Red Hat, la cual incluye la distribución de productos empresariales, soporte permanente para la producción, soporte extendido del ciclo de vida del modelo y protección en el ámbito legal con Open Source Assurance.
Ajusta las aplicaciones con Red Hat OpenShift AI
Una vez que hayas entrenado tu modelo con Red Hat Enterprise Linux AI, podrás ajustarlo para enviarlo a la etapa de producción mediante Red Hat OpenShift® AI.
Se trata de una plataforma adaptable y flexible de operaciones de machine learning (MLOps) con herramientas que permiten diseñar, implementar y gestionar aplicaciones que utilizan inteligencia artificial. Brinda la infraestructura fundamental de las cargas de trabajo, como un LLM para crear integraciones, los mecanismos de recuperación necesarios para generar resultados, y el acceso a una base de datos de vectores.