MLOps, qué es y cómo implementarlo

Hasta no hace mucho tiempo, podríamos gestionar manualmente los datos disponibles dentro de nuestra empresa. Ahora, sin embargo, nos encontramos en un mundo basado en datos, un entorno de capturas automatizadas y llenos de flujos de información crecientes y cambiantes que inundan nuestros almacenes de datos sin descanso.

Nos hemos visto obligados a afrontar esta situación: crear Data Lakes, afrontar el procesamiento de datos en streaming y crear nuevos perfiles en nuestra empresa como ML Engineer y Data Engineer. Sin embargo, hay otro elemento fundamental en nuestro proceso que debe tenerse en cuenta: la toma de decisiones de la IA.

La automatización de decisiones (ML Model Assisted) ha ido adoptando cada vez más aplicaciones y niveles de nuestro modelo de negocio. Ha demostrado ser una herramienta importante para reducir problemas, tiempos y costes en nuestras operaciones. En resumen, la IA nos ha hecho más efectivos y eficientes . Sin embargo, el combustible de estos elementos automáticos es la información; su calidad y actualización depende de lo bien que funcione.

Durante la revolución de la información de finales del siglo pasado, las grandes empresas se encontraron en una situación muy similar con el auge de las soluciones informáticas. Ante la necesidad de adaptarse a ellos mismos y sus productos de software, surgieron las filosofías ágiles. Los nuevos productos y sus versiones comenzaron a producir una velocidad demasiado rápida para el paradigma de operaciones tradicionales, y las prácticas de DevOps surgieron como una solución. En correspondencia con esta situación, han surgido de prácticas de ciclos de vida de ML y MLOps (Machine Learning Operations) para superar el nuevo contexto y aprovechar el valor de negocio que surge de él.

Aquí tienes una completa guía sobre MLOps, qué es, beneficios, mejores prácticas y cómo implementarlo.

¿Qué es MLOps?

MLOps, el término derivado de aprendizaje automático o ML y operaciones u Ops, es un conjunto de prácticas de gestión para el ciclo de vida de aprendizaje profundo o ML de producción. Estas incluyen prácticas de ML y DevOps junto con procesos de ingeniería de datos diseñados para implementar de manera eficiente y confiable modelos ML en producción y mantenerlos. Para lograr de manera efectiva la gestión del ciclo de vida del modelo de aprendizaje automático, MLOps fomenta la comunicación y la colaboración entre los profesionales de operaciones y los científicos de datos.

Debido a que MLOps se enfoca en la operacionalización de modelos ML, es un subconjunto de ModelOps. ModelOps abarca la puesta en funcionamiento de modelos de IA de todo tipo, incluidos los modelos de ML.

Las operaciones de aprendizaje automático o MLOps se centran en mejorar la calidad de la producción de ML y aumentar la automatización mientras se mantiene la atención a los requisitos regulatorios y comerciales. Este enfoque equilibrado es similar a un enfoque DataOps o DevOps.

Sin embargo, mientras que los enfoques DataOps o DevOps son conjuntos sofisticados de mejores prácticas y MLOps comenzaron de manera similar, MLOps está experimentando un cambio evolutivo. MLOps incluye todo el ciclo de vida de ML, incluido: el ciclo de vida de desarrollo de software y la integración con la generación de modelos, incluidas la integración y la entrega continua; aplicación; orquestación; gobernanza; seguimiento de la salud y diagnostico; y análisis de métricas de negocio.

El resultado es un enfoque independiente para la gestión del ciclo de vida de ML y una cultura de ingeniería de ML que implementa las mejores prácticas de DevOps para un entorno de ML, unificando el desarrollo y las operaciones del sistema de ML para llegar a MLOps. La promoción continua para la monitorización y la automatización en todos los pasos de la construcción del sistema ML, incluidas las pruebas, la integración, la implementación, el lanzamiento y la administración de la infraestructura, es fundamental para practicar las operaciones de aprendizaje automático de MLOps.

Capacidades

MLOps, entonces, es esa comunicación profundamente colaborativa entre los componentes de ML del equipo (los científicos de datos ) y Ops, que son las partes del equipo enfocadas en la producción o las operaciones. Las operaciones de ML tienen la intención de automatizar tanto como sea posible, eliminar el desperdicio y producir conocimientos más profundos y consistentes utilizando el aprendizaje automático.

Grandes cantidades de datos y aprendizaje pueden ofrecer automáticamente grandes conocimientos a una empresa. Sin embargo, sin alguna forma de sistematización, ML puede perder el enfoque en el interés comercial y convertirse en un esfuerzo científico.

MLOps proporciona esa dirección clara y se centra en el interés de la organización para los científicos de datos con puntos de referencia medibles.

Algunas de las capacidades críticas de MLOps que permiten el aprendizaje automático en producción incluyen:

  • Despliegue simplificado. Los científicos de datos pueden usar muchos marcos, lenguajes y herramientas de modelado diferentes, lo que puede complicar el proceso de implementación. MLOps permite a los equipos de TI en entornos de producción implementar modelos más rápidamente desde varios marcos e idiomas.
  • Monitorización de AA. Las herramientas de monitorización de software no funcionan para la monitorización de aprendizaje automático. Por el contrario, la monitorización que permite MLOps está diseñada para el aprendizaje automático, las métricas requeridas específicas del modelo, la detección de deriva de datos para otras características importantes y funciones básicas.
  • Gestión del ciclo de vida. La implementación es simplemente el primer paso en un largo ciclo de vida de actualización. Para mantener un modelo de ML en funcionamiento, el equipo debe probar el modelo y sus actualizaciones sin interrumpir las aplicaciones comerciales; este es también el reino de MLOps.
  • Cumplimiento. MLOps ofrece trazabilidad, control de acceso y pistas de auditoría para minimizar el riesgo, evitar cambios no deseados y garantizar el cumplimiento normativo.

Por qué MLOps es importante

La gestión de modelos en producción es un desafío. Para optimizar el valor del aprendizaje automático, los modelos de aprendizaje automático deben mejorar la eficiencia en las aplicaciones comerciales o respaldar los esfuerzos para tomar mejores decisiones mientras se ejecutan en producción. Las prácticas y la tecnología de MLOps permiten a las empresas implementar, administrar, monitorizar y gobernar ML. Las empresas de MLOps ayudan a las empresas a lograr un mejor rendimiento de sus modelos y alcanzar la automatización de ML más rápidamente.

Las prácticas importantes de ciencia de datos están evolucionando para incluir más funciones de gestión y operaciones de modelos, lo que garantiza que los modelos no tendrán un impacto negativo en el negocio al producir resultados erróneos. El reentrenamiento de modelos con conjuntos de datos actualizados ahora incluye la automatización de ese proceso; reconocer la desviación del modelo y alertar cuando se vuelve significativa es igualmente vital. Mantener la tecnología subyacente, las plataformas MLOps y mejorar el rendimiento al reconocer cuándo los modelos exigen actualizaciones también son fundamentales para el rendimiento del modelo.

Esto no significa que el trabajo de los científicos de datos esté cambiando. Significa que las prácticas de operaciones de aprendizaje automático están eliminando los silos de datos y ampliando el equipo. De esta manera, permite que los científicos de datos se centren en crear e implementar modelos en lugar de tomar decisiones comerciales, y capacita a los ingenieros de MLOps para administrar ML que ya está en producción.

Beneficios

MLOps puede ayudar a las organizaciones de muchas maneras:

Escalada

MLOps es fundamental para escalar la cantidad de aplicaciones basadas en el aprendizaje automático de una organización.

Confianza

MLOps también genera confianza para administrar el aprendizaje automático en entornos dinámicos mediante la creación de un proceso repetible a través de la automatización, las pruebas y la validación. MLOps mejora la confiabilidad, la veracidad y la productividad del desarrollo de ML.

Integración perfecta, comunicación mejorada

Al igual que DevOps, MLOps sigue un patrón de prácticas que tiene como objetivo integrar el ciclo de desarrollo y el proceso de operaciones sin problemas. Por lo general, el equipo de ciencia de datos tiene una comprensión profunda de los datos, mientras que el equipo de operaciones tiene la perspicacia comercial. MLOps mejora la eficiencia de ML al combinar la experiencia de cada equipo, aprovechando ambos conjuntos de habilidades.

La colaboración mejorada y la división más adecuada de la experiencia para los equipos de datos y operaciones realizadas por MLOps reduce el cuello de botella producido por algoritmos complejos no intuitivos. Los sistemas MLOps crean canales de producción de aprendizaje automático adaptables y dinámicos que se flexionan para acomodar modelos basados ​​en KPI.

Mejor uso de los datos

MLOps también puede cambiar radicalmente la forma en que las empresas administran y capitalizan los grandes datos. Al mejorar los productos con cada iteración, MLOps acorta los ciclos de vida de producción, lo que genera información confiable que se puede usar más rápidamente. MLOps también permite una retroalimentación más enfocada al ayudar a descifrar qué es solo ruido y qué anomalías requieren atención.

Cumplimiento

La parte de operaciones regulatorias y de cumplimiento es una función cada vez más importante, particularmente a medida que el ML se vuelve más común. Regulaciones como el proyecto de ley de responsabilidad algorítmica en la ciudad de Nueva York y el RGPD en la UE destacan la creciente rigurosidad de las regulaciones de aprendizaje automático. MLOps mantiene a su equipo a la vanguardia de las mejores prácticas y la evolución de la ley.

Los sistemas MLOps pueden reproducir modelos de acuerdo con los estándares originales y cumplirlos para garantizar que tu sistema siga cumpliendo a medida que evolucionen los modelos consecuentes y las canalizaciones de aprendizaje automatico. Tu equipo de datos puede fortalecerse en crear e implementar modelos sabiendo que el equipo de operaciones tiene la propiedad de los procesos regulatorios.

Riesgo y sesgo reducidos

El riesgo comercial a través de la confianza del consumidor socavada o perdida puede ser el resultado de modelos inexactos y poco confiables. Desafortunadamente, los datos de entrenamiento y los datos complejos y volátiles de las condiciones del mundo real pueden ser muy diferentes, lo que lleva a los modelos a hacer predicciones de baja calidad. Esto los convierte en pasivos en lugar de activos; MLOps reduce este riesgo. Además, MLOps puede ayudar a prevenir algunos sesgos de desarrollo, incluidos algunos que pueden generar oportunidades perdidas, audiencias subrepresentadas o riesgos legales.

Muchos, si no la mayoría, de los procesos actuales de implementación de aprendizaje automático son complejos, manuales e interdisciplinarios, y tocan negocios, ciencia de datos y TI. Esto hace que la detección y resolución rápidas de los problemas de rendimiento del modelo sean un desafío.

El objetivo de MLOps es implementar el modelo y lograr la gestión del ciclo de vida del modelo ML de manera integral en toda la empresa, reducir la fricción técnica y pasar a la producción con el menor riesgo y lo más rápido posible en el mercado. Un modelo no tiene ROI hasta que se ejecuta en producción.

Mejores prácticas

Existen varias prácticas recomendadas de MLOps que ayudan a las organizaciones a alcanzar los objetivos de MLOps. Los sistemas MLOps deben ser colaborativos; continuos; reproducibles; y probados y monitorizados.

Colaborativo: Equipos Híbridos

Como se mencionó anteriormente, poner en producción un modelo de ML exige un conjunto de habilidades que, en el pasado, provino de varios equipos diferentes que estaban aislados y separados. Un sistema MLOps exitoso requiere un equipo híbrido que, como grupo, cubra esa amplia gama de habilidades.

Un equipo exitoso generalmente incluye un ingeniero de MLOps si es posible, un científico de datos o un ingeniero de ML, un ingeniero de datos y un ingeniero de DevOps. El problema clave es que un científico de datos que trabaja solo no puede lograr un conjunto completo de objetivos de MLOps. Si bien los títulos y la organización precisa de un equipo de MLOps variarán, se necesita un equipo híbrido y colaborativo.

Si bien un científico de datos puede usar R o Python para desarrollar modelos de ML sin ninguna entrada de operaciones comerciales, sin un caso unificado, puede volverse complicado y llevar mucho tiempo poner ese modelo en producción. MLOps garantiza que cada paso se audite por completo y que la colaboración comience desde el primer día. La transparencia organizativa que incluye la visibilidad y los permisos de toda la empresa garantiza que cada miembro del equipo conozca incluso los detalles más granulares, lo que permite una implementación más estratégica de los modelos de ML.

Continuo: canalizaciones de aprendizaje automático

La canalización de datos, una secuencia de acciones que el sistema aplica a los datos entre su destino y su origen, se encuentra entre los conceptos centrales de la ingeniería de datos. Las canalizaciones de datos, a veces denominadas canalizaciones de MLOps, generalmente se definen en forma de gráfico, en el que cada borde representa un orden de ejecución o dependencia y cada nodo es una acción. También conocido como canalizaciones de extracción, transformación y carga (ETL), existen herramientas especializadas para crear, administrar y ejecutar canalizaciones de datos.

Debido a que los modelos de ML siempre exigen la transformación de datos de alguna forma, pueden ser difíciles de ejecutar y administrar de manera confiable. El uso de canalizaciones de datos adecuados ofrece muchos beneficios en la gestión de operaciones de aprendizaje automático, visibilidad del tiempo de ejecución, reutilización de código y escalabilidad. ML es en sí mismo una forma de transformación de datos, por lo que al incluir pasos específicos de ML en la canalización de datos, se convierte en una canalización de ML.

Independientemente de las instancias de datos específicos, la canalización de ML permite realizar un seguimiento de las versiones en el control de código fuente y automatizar la implementación a través de una canalización de CI/CD normal. Esto permite la conexión automatizada y estructurada de planos de datos y código.

La mayoría de los modelos de aprendizaje automático requieren dos versiones de la canalización de ML: la canalización de capacitación y la canalización de servicio. Esto se debe a que aunque se realicen transformaciones de datos que deban producir datos en el mismo formato, sus implementaciones variarán significativamente. Particularmente para los modelos que evitan las ejecuciones de predicción por lotes para atender solicitudes en tiempo real, los medios de acceso y los formatos de datos son muy diferentes.

Por ejemplo, normalmente, la canalización de entrenamiento se ejecuta en archivos por lotes que incluyen todas las funciones. Sin embargo, la canalización de servicio a menudo recibe solo una parte de las funciones y se ejecuta en línea, recuperando el resto de una base de datos.

Por diferentes que sean las dos canalizaciones, es fundamental garantizar que sigan siendo coherentes. Para ello, los equipos deben intentar reutilizar los datos y el código siempre que sea posible.

Reproducible: control de versiones de datos y modelos

El seguimiento de versiones consistente es esencial para lograr la reproducibilidad. Un mundo creado por el software tradicional define todo el comportamiento con el código de control de versiones y el seguimiento es suficiente. En ML, se debe rastrear información adicional, incluidas las versiones del modelo, los datos utilizados para entrenar cada uno y cierta metainformación, como los hiperparámetros de entrenamiento.

Los sistemas de control de versiones estándar a menudo son incapaces de rastrear datos de manera práctica y demasiado eficiente porque pueden ser mutables y masivos, aunque pueden rastrear modelos y metadatos. Debido a que el entrenamiento del modelo ocurre con frecuencia en un horario diferente, también es importante evitar vincular el código y los ciclos de vida del modelo. También es esencial versionar los datos y conectar cada modelo alterado a sus versiones precisas de datos, código e hiperparámetros.

Los modelos de ML generalmente están diseñados para ser únicos, porque no existe un modelo único para todas las empresas y todos los datos. Aun así, sin algún tipo de marco o herramientas de MLOps, puede ser imposible construir un modelo utilizado en el pasado por una sola empresa con un grado de precisión similar. Este tipo de proyecto de ML exige una pista de auditoría del conjunto de datos del modelo anterior y la versión del código, el marco, las bibliotecas, los paquetes y los parámetros.

Estos atributos, una parte clave del ciclo de vida de MLOps, garantizan la reproducibilidad: la diferencia entre un experimento interesante y un proceso confiable. Esto ha llevado al concepto emergente de ‘datos como código’, es decir, la capacidad de tratar modelos de datos en MLOps de la misma manera que el código en contenedores se trata en DevOps: modelos de datos versionados, reproducibles y portátiles que se pueden compartir entre equipos, departamentos o incluso organizaciones.

Probado y Supervisado: Validación

La automatización de pruebas es otra práctica recomendada central de DevOps que generalmente toma la forma de pruebas de integración y pruebas unitarias. Antes de implementar una nueva versión, pasar estas pruebas es un requisito previo. Las pruebas completas y automatizadas pueden aumentar la velocidad de las implementaciones de producción, lo que aumenta la confianza del equipo.

Debido a que ningún modelo produce resultados que sean 100% correctos, es más difícil probar los modelos de ML. Esto elimina la necesidad de un estado binario de aprobación/rechazo e introduce la necesidad de pruebas de validación de modelos estadísticos. Esto, a su vez, significa que el equipo debe seleccionar el umbral de sus valores aceptables y las métricas correctas para realizar un seguimiento. Y se hace utilizando evidencia empírica, así como comparando el modelo actual con puntos de referencia o modelos anteriores. Todos estos pasos preceden a la determinación de que el modelo ML está listo para su implementación.

La validación de los datos de entrada es el primer paso hacia una canalización de datos sólidos. Las validaciones comunes necesarias para el entrenamiento y la predicción de ML incluyen tipos de columna, formato y tamaño de archivo, valores no válidos y valores nulos o vacíos.

El seguimiento de una sola métrica a lo largo de la totalidad del conjunto de validación es insuficiente. La validación del modelo debe realizarse correctamente para porciones o segmentos relevantes de los datos, de forma similar a como se deben probar varios casos en una prueba de unidad sólida. Por ejemplo, es importante realizar un seguimiento de métricas separadas para hombres, mujeres y otros géneros si el género puede ser una de las características relevantes de un modelo, ya sea directa o indirectamente. No validar de esta manera podría conducir a un bajo rendimiento en segmentos importantes o problemas de imparcialidad/sesgo.

Las canalizaciones de ML también deben validar las cualidades de nivel superior de la entrada, además de las validaciones más simples realizadas por cualquier canalización de datos. Por ejemplo, es probable que afecte al modelo de funcionamiento y sus predicciones si la desviación estándar de una característica cambia con dificultad entre los conjuntos de datos de entrenamiento. Esto puede reflejar cambios reales en los datos, pero también puede ser el resultado de una anomalía en el procesamiento de datos, por lo que es importante identificar y descartar errores sistemáticos que podrían dañar el modelo y repararlos.

La monitorización de los sistemas de producción es fundamental para un buen rendimiento, y más aún para los sistemas de ML. Esto se debe a que el rendimiento de los sistemas de ML se basa tanto en factores que los usuarios pueden controlar en su mayoría, como el software y la infraestructura, como en los datos, que podemos controlar en mucha menor medida. Por lo tanto, es importante monitorizar el rendimiento de la predicción del modelo, así como las métricas estándar, como los errores, la latencia, la saturación y el tráfico.

Dado que los modelos funcionan con datos nuevos, monitorizar su desempeño presenta un desafío obvio. Por lo general, no hay una etiqueta verificada para comparar con los resultados del modelo. Ciertas situaciones presentes medios indirectos para evaluar la efectividad del modelo; por ejemplo, el rendimiento de un modelo de recomendación podría evaluarse indirectamente midiendo la tasa de clics. Sin embargo, en muchos casos, las comparaciones estadísticas pueden ser la forma de realizar estas evaluaciones, como calcular un porcentaje de clasificaciones positivas durante un único período de tiempo determinado y alertar sobre cualquier desviación significativa durante el período de tiempo.

Para poder identificar con éxito los problemas que surgen a segmentos específicos, es importante monitorizar no solo globalmente, sino monitorizar las métricas en todos los sectores.

MLOps frente a AIOps

La inteligencia artificial para operaciones de TI, o AIOps, es una tecnología de varias capas que mejora las operaciones de TI y permite que las máquinas resuelvan problemas de TI sin asistencia humana. AIOps utiliza análisis y aprendizaje automático para analizar grandes datos y detectar y responder a problemas de TI en tiempo real, automáticamente. Para las funciones de tecnología central en big data y aprendizaje automático, AIOps funciona como integración e implementación continua. El análisis de operaciones de TI, o ITOA, es una parte de AIOps que examina los datos de AIOps para mejorar las prácticas de TI.

Además de asumir desafíos de TI complejos, AIOps permite a las organizaciones manejar el crecimiento exponencial de los datos. AIOps eficaz permite que las máquinas correlacionen de forma independiente los puntos de datos mediante la creación de un inventario preciso y automatiza el proceso de operaciones de manera integral en entornos híbridos. Se utiliza para reducir el ruido, aplicado al aprendizaje automático para detectar anomalías y patrones. Los equipos también usan AIOps para administrar dependencias y pruebas, y para lograr el mapeo del sistema y una mayor observabilidad.

En comparación con MLOps, AIOps es una práctica más limitada que automatiza las funciones de TI mediante el aprendizaje automático. El objetivo de MLOps es cerrar la brecha entre los equipos de operaciones y los científicos de datos y, en consecuencia, entre la ejecución y el desarrollo de modelos de ML. Por el contrario, el enfoque de AIOps es el análisis inteligente de las causas raíz y la gestión automatizada de los incidentes de TI.

MLOps frente a DevOps

DevOps es un conjunto de prácticas en el mundo del desarrollo de software tradicional que permite un desarrollo de software más rápido y confiable en producción. DevOps se basa en la automatización, las herramientas y los flujos de trabajo para abstraer la complejidad accidental y permitir que los desarrolladores se centren en problemas más críticos.

La razón por la que DevOps no se aplica simplemente a ML es que ML no es simplemente código, sino código y datos. Un científico de datos crea un modelo de ML que eventualmente se pone en producción al aplicar un algoritmo a los datos de entrenamiento. Esta enorme cantidad de datos afecta el comportamiento del modelo en producción. El comportamiento del modelo también depende de los datos de entrada que recibe en el momento de la predicción, y esto no se puede saber de antemano. Sin embargo, tecnologías como Kubeflow permiten la portabilidad, el control de versiones y la reproducción de modelos ML, lo que permite comportamientos y beneficios similares a los que se encuentran en DevOps. Esto se llama ‘datos como código’.

DevOps logra beneficios como aumentar la velocidad de implementación, reducir los ciclos de desarrollo y aumentar la confiabilidad de los lanzamientos mediante la introducción de dos conceptos el desarrollo del sistema de software:

  • Integración Continua (CI)
  • Entrega continua (CD)

Los sistemas ML son similares a otros sistemas de software en muchos aspectos, pero existen algunas diferencias importantes:

  • CI incluye probar y validar datos, esquemas de datos y modelos, en lugar de limitarse a probar y validar código y componentes.
  • CD se refiere a una canalización de capacitación de ML, un sistema que debe implementar un servicio de predicción de modelos automáticamente, en lugar de un solo paquete o servicio de software.
  • Además, los sistemas ML cuentan con pruebas continuas (CT), una propiedad que se ocupa de volver a entrenar modelos para garantizar que el equipo pueda evaluar mejores los riesgos comerciales utilizando comentarios inmediatos todo el proceso.

Los sistemas ML difieren de otros sistemas de software en varias otras formas, distinguiendo aún más a DevOps y MLOps .

Equipos

El equipo que trabaja en un proyecto de ML generalmente incluye científicos de datos que se enfocan en el desarrollo de modelos, el análisis exploratorio de datos, la investigación y la experimentación. A diferencia de los miembros del equipo del lado de DevOps, es posible que estos miembros del equipo no sean capaces de crear servicios de clase de producción como lo son los ingenieros de software experimentados.

Desarrollo

Para identificar rápidamente qué aborda mejor el problema, ML es no obstante experimental. Los miembros del equipo prueban y modifican varios algoritmos, características, técnicas de modelado y configuraciones de parámetros en este sentido, pero esto crea desafíos. Maximizar la reutilización del código y mantener la reproducibilidad mientras se rastrea qué cambios funcionan y fallaron son los principales.

Pruebas

En comparación con otros sistemas de software, probar un sistema ML es mucho más complicado. Ambos tipos de sistemas requieren pruebas unitarias y de integración típicas, pero los sistemas ML también exigen la validación del modelo, la validación de datos y la evaluación de la calidad del modelo perturbado.

Despliegue

Los modelos de ML alterados fuera de línea no se implementan en sistemas de ML en condiciones del mundo real para obtener predicciones y resultados confiables. Muchas situaciones exigen una canalización de varios pasos para volver a entrenar automáticamente el modelo antes de la implementación. Para crear e implementar este tipo de canalización de proyectos de aprendizaje automático, es necesario automatizar los pasos de ML que los científicos de datos completan manualmente antes de la implementación a medida que validan y entrenan los nuevos modelos, y esto es muy complejo.

Producción

Los ML están sujetos a más fuentes de emisión que los sistemas de software convencionales, como perfiles de datos que cambian constantemente modelos y codificación subóptima, y ​​es esencial considerar esta degradación y rendimiento reducido. El seguimiento de las estadísticas de datos resumidos y la supervisión del rendimiento del modelo en línea son fundamentales, y el sistema debe configurarse para detectar valores que se desvían de las expectativas y enviar notificaciones o retroceder cuando comienzan.

Cómo implementar modelos ML en producción

En cualquier proyecto de ML, el proceso de entrega de un modelo de ML a producción implica los siguientes pasos. Estos pasos de administración del ciclo de vida del modelo de aprendizaje automático se pueden completar manualmente o mediante una canalización automática.

Base

El equipo, incluida la gerencia y todas las partes interesadas, define el caso de uso comercial de los datos y establece los criterios de éxito para medir el rendimiento del modelo.

Extracción de datos

Los científicos de datos del equipo seleccionan datos relevantes de una variedad de fuentes y los integran para la tarea de ML.

Análisis de los datos

Los científicos de datos del equipo realizan análisis de datos exploratorios (EDA) para analizar los datos disponibles para crear el modelo ML. El proceso de análisis de datos permite que el equipo comprenda las características y el esquema de datos que esperará el modelo. También permite al equipo identificar qué características de ingeniería y preparación de datos necesita el modelo.

Preparación de datos

El equipo prepara los datos para la tarea de ML, produciendo las divisiones de datos en su formato preparado como salida. La preparación de datos implica aplicar ingeniería de características y transformación de datos al modelo, y realizar una limpieza de datos, en la que el científico de datos divide los datos en conjuntos para validación, capacitación y prueba.

Estos pasos de ciencia de datos le permiten al equipo ver cómo se ven los datos, dónde se originan y qué pueden predecir. A continuación, comienza el ciclo de vida de las operaciones del modelo, a menudo gestionado por ingenieros de aprendizaje automático.

Formación de modelos

Para entrenar diferentes modelos de ML, el científico de datos implementa varios algoritmos con los datos preparados. A continuación, para lograr el mejor rendimiento del modelo ML, el equipo realiza un ajuste de hiperparámetros en los algoritmos implementados.

Evaluación del modelo

El equipo evalúa la calidad del modelo alterado en un conjunto de prueba de reserva. Esto produce un conjunto de métricas para evaluar la calidad del modelo como resultado.

Modelo de validación

Luego, el equipo confirma que el poder predictivo del modelo excede una línea de base específica, lo que lo hace adecuado para su implementación.

Servicio modelo

El equipo implementa el modelo validado en un entorno de destino para ofrecer predicciones como parte de un sistema de predicción por lotes; como modelo incrustado para un dispositivo móvil o dispositivo perimetral; o para servir predicciones en línea como servicios web o microservicios con una API REST.

Seguimiento de modelos

El equipo supervisa el rendimiento predictivo del modelo para determinar cuándo invocar una nueva iteración.

Existe una conexión directa entre la madurez del proceso de ML y el nivel de automatización de los pasos de implementación. Esto refleja la rapidez con la que el equipo puede entrenar nuevos modelos con nuevos datos o implementaciones.

Google reconoce tres niveles de MLOps, comenzando con un nivel de proceso manual que no implica automatización y es el más común, lo que lleva a canalizaciones de ML y CI/CD que están automatizadas. Estos son los tres:

  • El nivel 0 de MLOps refleja un proceso manual. En este nivel, el equipo puede tener un modelo de ML de última generación creado por un científico de datos, pero el proceso de creación e implementación de los modelos de ML es completamente manual.
  • El nivel 1 de MLOps refleja un marco de canalización de aprendizaje automático que permite la prueba continua (CT) del modelo ML y la entrega continua del servicio de predicción del modelo. El equipo debe agregar gestión de metadatos, activadores de canalización y datos automatizados y pasos de validación de modelos a la canalización para automatizar el proceso de reentrenamiento de modelos en producción utilizando nuevos datos.
  • El nivel 2 de MLOps refleja un sistema de canalización de CI/CD robusto y completamente automatizado que puede ofrecer actualizaciones rápidas y confiables sobre las canalizaciones en producción. Un sistema de canalización de CI/CD automatizado permite a los científicos de datos explorar e implementar rápidamente nuevas ideas sobre ingeniería de características, hiperparámetros y arquitectura de modelos, y crear automáticamente nuevos componentes de canalización, probarlos e implementarlos en el entorno de destino.

Consideraciones

Existen numerosas consideraciones importantes para cualquier equipo de MLOps durante la implementación del modelo.

Complejidad

La complejidad del modelo es un factor crítico que afecta el coste, el almacenamiento y los problemas relacionados. Los modelos como la regresión logística y las regresiones lineales normalmente requieren menos espacio de almacenamiento y son bastante fáciles de aplicar. Sin embargo, los modelos más complejos, como un árbol de decisión de conjunto o una red neuronal, requieren más tiempo para cargarse en la memoria en el arranque en frío y, en general, más tiempo de computación y, en última instancia, costarán más .

Fuentes de datos y marco de experimentación

Puede haber diferencias entre las fuentes de datos de entrenamiento y producción. Los datos utilizados en el entrenamiento deben ser contextualmente similares a los datos de producción, pero por lo general no es práctico volver a calcular todos los valores para garantizar una calibración total. La creación de un marco para la experimentación generalmente incluye pruebas A/B del rendimiento de diferentes modelos, evaluación de su rendimiento y realización de un seguimiento suficiente para depurar con precisión.

Supervisión del rendimiento: Desviación del modelo

Una vez implementado en producción, es necesario monitorizar qué tan bien está funcionando el modelo para garantizar que continúe brindando utilidad al negocio. Cada aspecto del rendimiento tiene sus propias medidas y métricas que reemplazan el ciclo de vida del modelo ML.

La deriva del modelo se refiere al cambio en el poder predictivo del modelo a lo largo del tiempo. La desviación del modelo responde a la pregunta: «¿Qué tan preciso es este modelo hoy en día, en comparación con cuando se implementó por primera vez?» Los datos pueden cambiar significativamente en poco tiempo en un sistema que adquiere nuevos datos con mucha regularidad. Esto también cambia las funciones para entrenar el modelo.

Por ejemplo, una interrupción de la red, la escasez de mano de obra, un cambio en los precios o una falla en la cadena de suministro pueden tener un impacto grave en la tasa de abandono de un minorista que utiliza un modelo. Las predicciones no serán precisas a menos que el modelo tenga en cuenta estos nuevos datos.

Por lo tanto, un proceso que prueba la precisión del modelo midiendo el rendimiento del modelo frente a nuevos datos o una métrica de rendimiento comercial importante es esencial para el ciclo de vida de las operaciones del modelo.

Si el modelo no alcanza un umbral de rendimiento aceptable, el sistema inicia un nuevo proceso para volver a entrenar el modelo y luego implementar el modelo recién dañado. Varias herramientas de MLOps y herramientas desarrolladas específicamente para la gestión del ciclo de vida del aprendizaje automático rastrean qué conjunto de parámetros de configuración y archivo de modelo se implementan actualmente en producción. La mayoría de estas herramientas incluyen algún proceso para medir el rendimiento del modelo en datos nuevos y volver a entrenar en datos nuevos cuando un modelo queda fuera de las marcas de rendimiento.

¿Qué es ModelOps ?

ModelOps, abreviatura de modelo de operaciones, es la puesta en funcionamiento del modelo de IA. Está centrado principalmente en la gestión del ciclo de vida y la gobernanza de una amplia gama de modelos de decisión e inteligencia artificial operacionalizados, incluidos los modelos de aprendizaje automático, lo que permite su reentrenamiento, reajuste o reconstrucción. El resultado es un flujo fluido dentro de los sistemas basados ​​​​en IA entre el desarrollo, la puesta en funcionamiento y el mantenimiento del modelo de IA.

ModelOps es una estrategia holística para implementar modelos más rápidamente y brindar valor comercial previsto para las organizaciones de IA empresarial basada en mover modelos a través del ciclo de vida analítico de forma iterativa y más rápida. Se basa en los enfoques DevOps y Data Ops. Pero lo que DevOps y DataOps lograron con el desarrollo de software y aplicaciones frente al análisis de datos, respectivamente, ModelOps lo lograron en el ámbito de los modelos. El enfoque de ModelOps se enfoca en acelerar cada fase de mover modelos desde el laboratorio a través de la validación, prueba e implementación, manteniendo los resultados esperados. También garantiza el máximo rendimiento al cumplir en la supervisión y el reciclaje continuo del modelo.

ModelOps es fundamental para cualquier estrategia de IA empresarial porque organiza todos los ciclos de vida del modelo en producción que abarcan toda la organización. Comenzando con la puesta en producción del modelo y continuando con la aplicación de KPI comerciales y técnicos y otras reglas de gobierno para evaluar el modelo y actualizarlo según sea necesario, ModelOps permite a los profesionales comerciales evaluar de forma independiente los de IA en producción.

Aún más crítico, ModelOps trae al equipo comercial a la conversación de una manera significativa al ofrecer información sobre los resultados y el rendimiento del modelo de una manera clara y transparente sin explicaciones de ingenieros de aprendizaje automático o científicos de datos . Este impulso hacia la transparencia puede ayudar a implementar la IA a escala, así como fomentar la confianza en la IA empresarial.

Cómo hacer operativos los proyectos de aprendizaje automático y ciencia de datos

En el ámbito de la puesta en funcionamiento del aprendizaje automático, hay varios puntos débiles comunes que las empresas deben resolver, como la demora a menudo prolongada entre el inicio de un proyecto de ciencia de datos y su implementación. Para abordar estos puntos débiles, muchas organizaciones adoptan un enfoque de cuatro pasos.

Fase de construcción

Para una transición más fluida a través de la fase de construcción, el equipo de ciencia de datos debe establecer una conversación significativa y continúa con sus contrapartes en el equipo de inteligencia comercial. Solo con ese aporte colaborativo pueden desarrollar un proceso sistemático de operacionalización de ML.

Los científicos de datos crean canalizaciones de análisis utilizando aplicaciones comerciales y lenguajes como R y Python. Para el poder predictivo del modelo y representar con mayor precisión el problema empresarial que intenta resolver, diseñan nuevas funciones, crean modelos predictivos y utilizan algoritmos de aprendizaje automático innovadores.

Las condiciones en los entornos de producción en tiempo real también deben dar forma al trabajo de los científicos de datos. Los científicos de datos deben considerar la estructura de los datos en los entornos de producción a medida que construyen modelos predictivos y asegurarse de que las condiciones reales de producción en tiempo real permiten la creación de características lo suficientemente rápidas a medida que se dedican a la ingeniería de nuevas características.

Fase de Gestión

Para maximizar la funcionalidad del proceso del ciclo de operacionalización, los equipos deben administrar el ciclo de vida del modelo desde un repositorio central y una plataforma de automatización de aprendizaje automático. El repositorio debe realizar un seguimiento de la aprobación, el control de versiones, la procedencia, las pruebas, la implementación y el reemplazo de los modelos a lo largo de su ciclo de vida junto con las métricas de precisión, los metadatos asociados con los artefactos del modelo y las dependencias entre los conjuntos de datos y los modelos.

Fase de implementación/lanzamiento

El objetivo de la implementación es poder probar el modelo en condiciones comerciales reales. Esto implica expresar una canalización de ciencia de datos eliminada de su entorno original donde se desarrollará e implementará en el entorno de tiempo de ejecución de destino. Para hacer esto, la canalización debe expresarse en un lenguaje y formato que sea apropiado para ese entorno y pueda integrarse en las aplicaciones comerciales y ejecutarse de forma independiente.

Fase de Monitorización/Activación

Después de la implementación, el modelo ingresa a la fase de monitorización o activación, cuando opera en condiciones comerciales reales y el equipo lo supervisa para conocer su impacto comercial y la precisión de sus predicciones. La supervisión, el ajuste, la reevaluación y la gestión continua de los modelos implementados son fundamentales, ya que los modelos deben ajustarse a los datos subyacentes cambiantes y seguir siendo precisos.

Para una fase de monitorización exitosa, involucra tanto al personal analítico como al no analítico como partes interesadas. Monitoriza y revalida el valor que el modelo ML entrega al negocio constantemente. Este proceso debe tener en cuenta varios tipos de aportes, como los de los expertos humanos y los bucles de campeón-desafiante de reentrenamiento aprobados por expertos.

Conclusión

Un modelo de aprendizaje automático es un elemento de software que se basa en datos para cumplir con su deber. Al igual que con el software tradicional, el modelo ML, cuando se implementa en producción, sigue de forma natural el proceso DevOps para acortar el ciclo de vida de desarrollo del sistema al tiempo que proporciona una entrega continua de software de alta calidad. Cuando el proceso DevOps se aplica explícitamente al aprendizaje automático, se denomina Operaciones de aprendizaje automático. La principal diferencia entre los dos es que la calidad subyacente de los datos define la calidad del modelo ML. Por lo tanto, MLOps tiene como objetivo comprender, monitorizar y mejorar los conjuntos de datos para mejorar la precisión y la solidez del modelo ML.

MLOps, cuando se implementa correctamente, tiene el poder de automatizar completamente el flujo de trabajo de ML desde la preparación de datos hasta la implementación y la monitorización del modelo. Sin embargo, implementar MLOps en la realidad requiere conocimiento y experiencia tanto en aprendizaje automático como en el proceso de desarrollo de software. La falta de experiencia en estos dominios a menudo impide que las empresas logren el éxito en la implementación de modelos sólidos de aprendizaje automático.