GenAIOps para profesionales de MLOps
En este artículo se proporcionan instrucciones para los equipos de carga de trabajo que tienen inversiones existentes en MLOps y están interesados en ampliar esas inversiones para incluir inteligencia artificial generativa en su carga de trabajo. Para poner en marcha una carga de trabajo de IA generativa, debe ampliar las inversiones de MLOps con GenAIOps (a veces conocidas como LLMOps). En este artículo se describen los patrones técnicos que son comunes entre las cargas de trabajo tradicionales de aprendizaje automático y la inteligencia artificial generativa, y patrones específicos para la inteligencia artificial generativa. El artículo le ayuda a comprender dónde puede aplicar las inversiones existentes en operacionalización y dónde necesita ampliar esas inversiones.
Patrones técnicos de IA generativa
Las cargas de trabajo de IA generativa difieren de las cargas de trabajo de aprendizaje automático tradicionales de varias maneras:
Enfoque en los modelos generativos: las cargas de trabajo de aprendizaje automático tradicionales se centran en el entrenamiento de nuevos modelos entrenados para realizar tareas específicas. Las cargas de trabajo de IA generativa consumen modelos generativos que se pueden usar para abordar una variedad más amplia de casos de uso y, en algunos casos, son multimodal.
Enfoque en extender los modelos: el activo clave en el aprendizaje automático tradicional es el modelo implementado. El acceso al modelo se proporciona al código de cliente en una o varias cargas de trabajo, pero la carga de trabajo no forma parte del proceso de MLOps. Con las soluciones de IA generativa, una faceta clave de la solución es el mensaje que se proporciona al modelo generativo. La solicitud debe estar compuesta y puede contener datos de uno o varios almacenes de datos. El sistema que organiza la lógica llama a los distintos servidores back-end, genera la solicitud y las llamadas al modelo generativo forman parte del sistema de IA generativa que debe controlar con GenAIOps.
Aunque algunas soluciones de inteligencia artificial generativa usan prácticas tradicionales de aprendizaje automático, como el entrenamiento del modelo y el ajuste, todas presentan nuevos patrones que debe estandarizar. En esta sección se proporciona información general sobre las tres categorías generales de patrones técnicos para soluciones de IA generativa:
- Entrenamiento previo y ajuste
- Ingeniería de solicitudes
- Generación aumentada de recuperación (RAG)
Entrenamiento y ajuste de modelos de lenguaje
Actualmente, muchas soluciones de inteligencia artificial generativa usan modelos de lenguaje base existentes que no requieren un ajuste antes de su uso. Dicho esto, hay casos de uso que pueden beneficiarse, y de hecho lo hacen, de ajustar un modelo básico o entrenar un nuevo modelo de IA generativa, como un modelo de lenguaje pequeño (SLM).
Entrenar un nuevo SLM o ajustar un modelo base generativo son lógicamente los mismos procesos que el entrenamiento de modelos de aprendizaje automático tradicionales. Estos procesos deben usar las inversiones existentes en MLOps.
Ingeniería de solicitudes
La ingeniería de solicitudes incluye todos los procesos implicados en la generación de un mensaje que se envía como entrada a un modelo generativo. Por lo general, hay un orquestador que controla un flujo de trabajo que genera el mensaje. El orquestador puede llamar a cualquier número de almacenes de datos para recopilar información, como datos de base, y aplicar la lógica necesaria para generar la solicitud más eficaz. A continuación, el orquestador se implementa como un punto de conexión de API al que accede el código de cliente en una aplicación inteligente.
Figura 1. Arquitectura de ingeniería de solicitudes
Esta categoría de patrones técnicos puede abordar muchos casos de uso, entre los que se incluyen:
- clasificación
- Traducción
- Resumen
- Generación aumentada de recuperación que se describe en la sección siguiente
Generación aumentada por recuperación
La generación aumentada de recuperación (RAG) es un patrón de arquitectura que usa la ingeniería de solicitudes y cuyo objetivo es usar datos específicos del dominio como datos básicos para un modelo de lenguaje. El modelo de lenguaje se entrena con un conjunto específico de datos. La carga de trabajo puede requerir razonar sobre los datos específicos de su empresa, clientes o dominio. Con las soluciones de RAG, los datos se consultan y los resultados se proporcionan al modelo de lenguaje como parte de la solicitud, normalmente a través de una capa de orquestación.
Una implementación de RAG común consiste en dividir los documentos en fragmentos y almacenarlos en un almacén vectorial junto con los metadatos. Los almacenes de vectores, como Búsqueda de Azure AI, permiten realizar búsquedas de similitud textual y vectorial para devolver resultados contextualmente relevantes. Las soluciones de RAG también pueden usar otros almacenes de datos para devolver datos de base.
Ilustración 2. Arquitectura de generación aumentada de recuperación (RAG)
Extensión de MLOps para patrones técnicos de IA generativa
En esta sección, examinamos los siguientes aspectos clave de las fases de bucle interno y externo para los patrones técnicos de IA generativa para ver dónde puede aplicar las inversiones existentes en MLOps y dónde necesita ampliarlas:
Bucle interno
bucle externo
- Implementación
- Inferencia/supervisión
- Bucle de comentarios
DataOps
Tanto MLOps como GenAIOps usan los fundamentos de DataOps para crear flujos de trabajo extensibles y reproducibles que garanticen que los datos se limpian, transforman y formatean correctamente para la experimentación y la evaluación. La reproducibilidad del flujo de trabajo y el control de versiones de datos son características importantes para DataOps para todos los patrones técnicos, mientras que los orígenes, los tipos y la intención de los datos dependen del patrón.
Entrenamiento previo y ajuste
Este patrón técnico debe usar completamente las inversiones existentes en DataOps realizadas como parte de la implementación de MLOps. La reproducibilidad y el control de versiones de datos le permiten experimentar con diferentes datos de ingeniería de características, comparar el rendimiento del modelo diferente y reproducir los resultados.
RAG e ingeniería de solicitudes
La intención de los datos de las soluciones de RAG es proporcionar datos de base que se presentan al modelo de lenguaje como parte de una solicitud. Las soluciones de RAG suelen requerir el procesamiento de documentos grandes en una colección de fragmentos de tamaño correcto, semánticamente relevantes y conservar esos fragmentos en un almacén de vectores. Consulte Diseño y desarrollo de una solución de RAG para obtener más información. La reproducibilidad y el control de versiones de datos para las soluciones de RAG le permiten experimentar con diferentes estrategias de fragmentación e inserción, comparar el rendimiento y revertir a versiones anteriores.
Las canalizaciones de datos para la fragmentación de documentos no forman parte de DataOps en MLOps tradicionales, por lo que tiene que ampliar la arquitectura y las operaciones. Las canalizaciones de datos pueden leer datos de varios orígenes dispares con datos estructurados y no estructurados. También pueden escribir los datos transformados en distintos destinos. Debe ampliar la arquitectura para incluir los almacenes de datos que use para loa datos de base. Los almacenes de datos comunes para estos patrones son almacenes de vectores como Búsqueda de Azure AI. Al igual que con el entrenamiento y el ajuste, puede aprovechar las canalizaciones de Azure Machine Learning u otras herramientas de canalización de datos para orquestar las fases de fragmentación. Puede aprovechar los flujo de avisos de las canalizaciones de Azure Machine Learning para procesar y enriquecer los datos de forma coherente y reproducible. También debe ampliar las operaciones para mantener la actualización y validez de los índices de búsqueda en los almacenes de datos.
Experimentación
Como parte del bucle interno, la experimentación es el proceso iterativo de crear, evaluar (tratado en la sección siguiente) y ajustar la solución. En las secciones siguientes se describe la experimentación para los patrones técnicos comunes de IA generativa.
Entrenamiento previo y ajuste
Al ajustar un modelo de lenguaje existente o al entrenar un modelo de lenguaje pequeño, puede usar las inversiones actuales en MLOps. Por ejemplo, las canalizaciones de Azure Machine Learning ofrecen un kit de herramientas sólido para realizar experimentos de forma efectiva y eficaz. Estas canalizaciones permiten administrar todo el proceso de ajuste, desde el preprocesamiento de datos hasta el entrenamiento y la evaluación del modelo.
RAG e ingeniería de solicitudes
La experimentación con cargas de trabajo de ingeniería de solicitudes y RAG requiere ampliar las inversiones en MLOps. Para estos patrones técnicos, la carga de trabajo no termina con el modelo. La carga de trabajo requiere un orquestador que es un sistema que sabe cómo ejecutar lógica, llamar a almacenes de datos para obtener información necesaria, como los datos de base, generar solicitudes, llamar a modelos de lenguaje, etc. Los almacenes de datos y los índices de los almacenes también forman parte de la carga de trabajo. Las operaciones tienen que extenderse para controlar estos aspectos de la carga de trabajo.
Hay varias dimensiones sobre las que experimentar para encontrar soluciones de ingeniería de solicitudes, incluyendo diferentes instrucciones, personas, ejemplos, restricciones y técnicas avanzadas como el encadenamiento de solicitudes. Al experimentar con soluciones de RAG, hay áreas adicionales con las que experimentar, incluidas las áreas siguientes:
- Estrategia de fragmentación
- Qué y cómo se deben enriquecer los fragmentos
- El modelo de inserción
- Configuración del índice de búsqueda
- Qué búsquedas se realizan (vector, texto completo, híbrido, etc.)
Como se describe en DataOps, las claves para la experimentación son reproducibilidad y control de versiones de datos. Un buen marco de experimentación permite almacenar entradas, como cambios en hiperparámetros o solicitudes, junto con salidas que se usarán al evaluar el experimento.
Al igual que con el entorno de MLOps existente, puede aprovechar los marcos, como las canalizaciones de Azure Machine Learning. Las canalizaciones de Azure Machine Learning tienen características que admiten la indexación, la integración con almacenes de vectores, como Búsqueda de Azure AI. El entorno de GenAIOps puede aprovechar estas características de canalizaciones y combinarlas con características de flujo de avisos que administran la ingeniería de solicitudes y la lógica de preprocesamiento personalizada.
Evaluación y experimentación
La evaluación es clave en el proceso de experimentación iterativa de creación, evaluación y ajuste de la solución. La evaluación de los cambios le proporciona los comentarios necesarios para realizar sus ajustes o validar que la iteración actual cumple sus requisitos. En las secciones siguientes se describe la evaluación en la fase de experimentación para los patrones técnicos comunes de IA generativa.
Entrenamiento previo y ajuste
La evaluación de modelos de IA generativa ajustados o entrenados debe usar las inversiones existentes en MLOps. Por ejemplo, si usa canalizaciones de Azure Machine Learning para orquestar el entrenamiento del modelo de Machine Learning, puede aprovechar las mismas características de evaluación para ajustar los modelos de lenguaje básicos o entrenar nuevos modelos de lenguaje pequeño. Estas características incluyen aprovechar el componente de evaluar modelo, que calcula métricas de evaluación estándar del sector para tipos de modelo específicos y comparar resultados entre modelos.
RAG e ingeniería de solicitudes
Tiene que ampliar las inversiones existentes en MLOps para evaluar las soluciones de IA generativa. Puede aprovechar las herramientas, como el flujo de avisos, que ofrece un marco sólido para la evaluación. Los flujos de avisos permiten a los equipos definir lógica de evaluación personalizada, especificando criterios y métricas para evaluar el rendimiento de varias variantes de solicitud y modelos de lenguaje (LLM). Este enfoque estructurado permite la comparación en paralelo de diferentes configuraciones, como ajustes de hiperparámetros o variaciones de arquitectura, para identificar la configuración óptima para tareas específicas.
Los trabajos en el flujo de avisos capturan automáticamente los datos de entrada y salida en todo el proceso de experimentación, creando un registro de prueba completo. El análisis de estos datos le permitirá obtener información e identificar configuraciones prometedoras para futuras iteraciones. Puede acelerar el desarrollo de sus soluciones de IA generativa llevando a cabo una experimentación eficiente y sistemática utilizando flujo de avisos.
El proceso de experimentación es el mismo independientemente del caso de uso de la solución de IA generativa, como la clasificación, el resumen, la traducción o incluso RAG. La diferencia importante radica en las métricas que se usan para evaluar los distintos casos de uso. A continuación se muestran algunos ejemplos de métricas que debe tener en cuenta por caso de uso:
- Traducción: BLEU
- Resumen: ROUGE. BLEU, BERTScore, METEOR
- Clasificación: Precisión, Recuperación, Precisión, Entropía cruzada
- RAG: Solidez, Relevancia
Nota:
Consulte Evaluación de un extremo a otro de LLM para obtener más información sobre cómo evaluar modelos de lenguaje y soluciones de RAG.
En general, las soluciones de inteligencia artificial generativa amplían las responsabilidades del equipo de aprendizaje automático de los modelos de entrenamiento a la ingeniería de solicitudes y administración de datos de base. Dado que la ingeniería de solicitudes y la experimentación y evaluación de RAG no requieren necesariamente científicos de datos, resulta tentador realizar estas funciones con otros roles, como ingenieros de software e ingenieros de datos. Se encontrará con desafíos al omitir los científicos de datos de experimentar con la ingeniería de solicitudes y soluciones de RAG. Otros roles no suelen estar entrenados sobre cómo evaluar científicamente los resultados, como muchos científicos de datos. Lea la serie de artículos de siete partes Diseño y desarrollo de una solución de RAG para comprender la complejidad del diseño de soluciones de IA generativa.
Invertir en soluciones de IA generativa le permite aliviar parte de la presión sobre sus recursos de ciencia de datos. El papel de los ingenieros de software crece en estas soluciones. Por ejemplo, los ingenieros de software son excelentes recursos para administrar la responsabilidad de orquestación en las soluciones de inteligencia artificial generativa y son expertos en la configuración de las métricas de evaluación en herramientas como el flujo de avisos. Es importante que este trabajo se realice bajo la atenta mirada de sus científicos de datos. Los científicos de datos tienen el entrenamiento y la experiencia para comprender cómo evaluar correctamente los experimentos.
Implementación
Algunas soluciones de IA generativa implican implementar modelos entrenados personalizados o ajustar los modelos existentes, mientras que otras no. Las soluciones de IA generativa agregan responsabilidad adicional para implementar los orquestadores y los almacenes de datos. En las secciones siguientes se describe la implementación de los patrones técnicos comunes de IA generativa.
Entrenamiento previo y ajuste
En la implementación de modelos de inteligencia artificial generativa y los modelos básicos de ajuste se deben usar las inversiones existentes en MLOps, con algunos posibles ajustes. Por ejemplo, para ajustar un modelo de lenguaje grande en Azure OpenAI, debe asegurarse de que los conjuntos de datos de entrenamiento y validación están en formato JSONL y debe cargar los datos a través de una API REST. También debe crear un trabajo de ajuste. La implementación de un modelo de lenguaje pequeño entrenado puede aprovechar las inversiones existentes en MLOps.
RAG e ingeniería de solicitudes
En el caso de RAG y la ingeniería de solicitudes, hay cuestiones adicionales que debe implementar, incluida la lógica de orquestación, los cambios en los almacenes de datos, como índices o esquemas, y los cambios en la lógica de canalización de datos. La lógica de orquestación normalmente se encapsula en marcos como el flujo de avisos, el kernel semántico o LangChain. Puede implementar el orquestador en distintos recursos de proceso, incluidos esos recursos en los que actualmente puede implementar modelos personalizados. Consulte Arquitectura de referencia de chat de un extremo a otro de Azure OpenAI de línea base para ver ejemplos de implementación del flujo de mensajes en puntos de conexión en línea administrados de Azure Machine Learning o App de Azure Service. Para implementar en Azure App Service, la arquitectura de chat de Azure OpenAI de línea base empaqueta el flujo y sus dependencias como contenedor, una práctica que aumenta la portabilidad y la coherencia en distintos entornos.
Las implementaciones de cambios en los recursos de base de datos, como los cambios en los modelos de datos o los índices, son nuevas responsabilidades que deben controlarse en GenAIOps. Una práctica habitual al trabajar con modelos de lenguaje grande es usar una puerta de enlace delante de LLM.
Muchas arquitecturas de IA generativa que consumen modelos de lenguaje hospedados en la plataforma, como los que se sirven desde Azure OpenAI, incluyen una puerta de enlace como Azure API Management. Los casos de uso de la puerta de enlace incluyen equilibrio de carga, autenticación, supervisión y mucho más. La puerta de enlace puede desempeñar un papel en la implementación de modelos recién entrenados o ajustados, lo que le permite implementar progresivamente nuevos modelos. El uso de una puerta de enlace, junto con el control de versiones del modelo, permite minimizar el riesgo al implementar cambios y revertir a versiones anteriores cuando hay problemas.
Las implementaciones de cuestiones específicas de la IA generativa, como el orquestador, deben seguir procedimientos operativos adecuados, como:
- Pruebas rigurosas, incluidas las pruebas unitarias
- Pruebas de integración
- Pruebas A/B
- Pruebas de principio a fin
- Implementación de estrategias como implementaciones controladas o azules o verdes
Dado que las responsabilidades de implementación de las aplicaciones de IA generativa se extienden más allá de la implementación del modelo, es posible que necesite roles de trabajo adicionales para administrar la implementación y la supervisión de elementos como la interfaz de usuario, el orquestador y los almacenes de datos. Estos roles a menudo se alinean con los conjuntos de aptitudes de ingeniero de DevOps.
Inferencia y supervisión
La inferencia es el proceso de pasar la entrada a un modelo entrenado e implementado, que luego genera una respuesta. Debe supervisar tanto las soluciones de aprendizaje automático tradicional como las de inteligencia artificial generativa desde tres perspectivas: supervisión operativa, aprendizaje de producción y administración de recursos.
Supervisión operativa
La supervisión operativa se ocupa de observar las operaciones en curso del sistema, incluidas las operaciones de datos (DataOps) y el entrenamiento del modelo. Debe buscar desviaciones, como errores, cambios en las tasas de error y cambios en los tiempos de procesamiento.
En el caso del entrenamiento y ajuste del modelo, los procesos operativos que generalmente observa son las operaciones de datos en torno al procesamiento de datos de características, el entrenamiento del modelo y el ajuste. La supervisión de estas cuestiones de bucle interno debe usar las inversiones existentes en MLOps y DataOps.
Para la ingeniería de solicitudes en soluciones de inteligencia artificial generativa, existen cuestiones de supervisión adicionales. Debe supervisar las canalizaciones de datos que procesan los datos de base u otros datos que se usan para generar solicitudes. Este procesamiento puede incluir operaciones de almacén de datos, como compilar o volver a generar índices.
Aprendizaje de producción
Un aspecto crítico para la supervisión en la fase de inferencia es aprender de producción. La supervisión de modelos de aprendizaje automático tradicionales realiza un seguimiento de las métricas, como la exactitud, la precisión y la recuperación. Un objetivo clave es protegerse contra el desfase de predicción. Las soluciones que usan modelos generativos para realizar predicciones, por ejemplo, mediante un modelo GPT para la clasificación, deben usar las inversiones existentes en supervisión de MLOps.
Las soluciones que usan modelos generativos para razonar sobre los datos de base usan métricas como la base, la integridad, el uso y la relevancia. El objetivo es asegurarse de que el modelo responde completamente a la consulta y basa la respuesta en su contexto. Aquí, va a protegerse frente a aspectos como el desfase de datos. Quiere asegurarse de que los datos de base y la solicitud que proporcione el modelo son lo más relevantes posible para la consulta del usuario.
Las soluciones que usan modelos generativos para tareas no predictivas, como las soluciones de RAG, a menudo se benefician de los comentarios de personas para evaluar opiniones de utilidad de los usuarios finales. Las interfaces de usuario pueden capturar comentarios, como pulgares hacia arriba y abajo, y estos datos se pueden usar para evaluar periódicamente las respuestas.
Un patrón común para las soluciones de inteligencia artificial generativa es implementar una puerta de enlace delante de los modelos generativos. Uno de los casos de uso de la puerta de enlace es supervisar los modelos básicos. La puerta de enlace se puede usar para registrar mensajes de entrada y salida.
Otro área clave para supervisar las soluciones generativas es la seguridad del contenido. El objetivo es moderar las respuestas y detectar contenido dañino o no deseado. Seguridad del contenido de Azure AI Studio es un ejemplo de una herramienta que puede usar para moderar el contenido.
Administración de recursos
Para las soluciones generativas que usan modelos expuestos como servicio, como Azure OpenAI, la administración de recursos es diferente a la de los modelos que implemente usted mismo. No le preocupa la infraestructura, sino el rendimiento del servicio, la cuota y la limitación. Azure OpenAI usa el concepto de tokens para la facturación, la limitación y las cuotas. Debe supervisar el uso de cuotas para la administración de los costes y la eficiencia del rendimiento. Azure OpenAI permite registrar el uso de tokens.
Herramientas
Muchos profesionales de MLOps se han estandarizado en un kit de herramientas para organizar las diversas actividades en torno a la automatización, el seguimiento, la implementación, la experimentación, etc. para abstraer los muchos problemas comunes y detalles de implementación de esos procesos. Una plataforma unificada común es MLflow. Antes de buscar nuevas herramientas para admitir patrones de GenAIOps, debe buscar las herramientas de MLOps existentes para evaluar su compatibilidad con la inteligencia artificial generativa. Por ejemplo, MLflow admite una amplia gama de características para los modelos de lenguaje.
Modelos de madurez de MLOps y GenAIOps
Como parte de las inversiones actuales de MLOps, es posible que haya usado el modelo de madurez de MLOps para evaluar la madurez de las operaciones y el entorno de aprendizaje automático. A medida que amplía las inversiones en MLOps para cargas de trabajo de IA generativa, debe usar el modelo de madurez de GenAIOps para evaluar esas operaciones. Es posible que le resulte tentador intentar combinar los dos modelos de madurez, pero se recomienda medir cada uno de ellos de forma independiente. MLOps y GenAIOps evolucionarán independientemente entre sí. Por ejemplo, puede estar en el nivel cuatro del modelo de madurez de MLOps, pero acaba de empezar con la IA generativa y puede que solo esté en el nivel uno.
Resumen
A medida que empiece a ampliar las inversiones en MLOps para incluir inteligencia artificial generativa, es importante comprender que no es necesario empezar de nuevo. Puede usar las inversiones existentes en MLOps para algunos de los patrones técnicos de ia generativa. El ajuste de modelos generativos es un buen ejemplo. Hay áreas de soluciones de inteligencia artificial generativa, como la ingeniería de solicitudes y RAG, que son procesos nuevos, por lo que tendrá que ampliar sus inversiones en operaciones existentes y adquirir nuevas aptitudes.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
- Paulo Lacerda | Arquitecto de soluciones en la nube - Microsoft
- Marco Aurelio Cardoso | Ingeniero sénior de software - Microsoft
- Luiz Braz | Especialista técnico sénior - Microsoft
- Ritesh Modi | Ingeniero principal de software - Microsoft
Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.