MLOps: DevOps en el mundo del Machine Learning

En 2018, en círculos profesionales y en conferencias temáticas dedicadas a la IA, apareció el concepto de MLOps, que rápidamente se afianzó en la industria y ahora se está desarrollando como una dirección independiente. En el futuro, MLOps puede convertirse en una de las áreas más demandadas en TI. Qué es y con qué se come, lo entendemos bajo el corte.

MLOps: DevOps en el mundo del Machine Learning

¿Qué es MLOps?

MLOps (fusión de tecnologías y procesos de aprendizaje automático y enfoques para la implementación de modelos desarrollados en procesos comerciales) es una nueva forma de cooperación entre representantes comerciales, científicos, matemáticos, especialistas en aprendizaje automático e ingenieros de TI en la creación de sistemas de inteligencia artificial.

En otras palabras, es una forma de convertir los métodos y tecnologías de aprendizaje automático en una herramienta útil para resolver problemas comerciales. 

Debe entenderse que la cadena de productividad comienza mucho antes del desarrollo del modelo. Su primer paso es definir el objetivo de negocio, la hipótesis sobre el valor que se puede extraer de los datos y la idea de negocio para aplicarlo. 

El concepto mismo de MLOps surgió como una analogía con el concepto de DevOps en relación con los modelos y las tecnologías de aprendizaje automático. DevOps es un enfoque de desarrollo de software que le permite aumentar la velocidad de los cambios individuales al mismo tiempo que mantiene la flexibilidad y la confiabilidad utilizando una serie de enfoques, incluido el desarrollo continuo, la separación de funciones en una serie de microservicios independientes, pruebas automatizadas e implementación de cambios individuales, global monitorización de la salud, un sistema de respuesta rápida para fallos identificados, etc. 

DevOps definió el ciclo de vida del software y surgió la idea en la comunidad de software de aplicar la misma técnica al big data. DataOps es un intento de adaptar y ampliar la metodología, teniendo en cuenta las peculiaridades de almacenar, transmitir y procesar grandes cantidades de datos en una variedad de plataformas interactivas.
  
Con el advenimiento de una cierta masa crítica de modelos de aprendizaje automático integrados en los procesos comerciales de las empresas, se notó una gran similitud entre el ciclo de vida de los modelos matemáticos de aprendizaje automático y el ciclo de vida del software. La única diferencia es que los algoritmos del modelo se crean utilizando herramientas y métodos de aprendizaje automático. Por lo tanto, surgió naturalmente la idea de aplicar y adaptar enfoques ya conocidos para el desarrollo de software para modelos de aprendizaje automático. Así, se pueden distinguir las siguientes etapas clave en el ciclo de vida de los modelos de aprendizaje automático:

  • definir una idea de negocio;
  • formación de modelos;
  • prueba e implementación del modelo en el proceso de negocio;
  • modelo de operación.

Cuando durante la operación es necesario cambiar o volver a entrenar el modelo con nuevos datos, el ciclo comienza de nuevo: el modelo se finaliza, se prueba y se implementa una nueva versión.

Retiro. ¿Por qué reeducar y no reeducar? El término “reentrenamiento del modelo” tiene una doble interpretación: entre los especialistas significa un defecto en el modelo, cuando el modelo predice bien, en realidad repite el parámetro predicho en el conjunto de entrenamiento, pero funciona mucho peor en el conjunto de datos externos. Naturalmente, tal modelo es un defecto, ya que este defecto no permite su aplicación.

En este ciclo de vida, parece lógico utilizar herramientas DevOps: testing, implementación y monitoreo automatizados, registro del cálculo del modelo como microservicios separados. Pero hay una serie de características que impiden el uso directo de estas herramientas sin vinculación adicional de ML.

MLOps: DevOps en el mundo del Machine Learning

Cómo hacer que los modelos funcionen y obtengan ganancias

Como ejemplo, en el que demostraremos la aplicación del enfoque MLOps, tomaremos la ya clásica tarea de robotizar el chat de soporte para un producto bancario (o cualquier otro). Un proceso comercial típico de soporte por chat es el siguiente: un cliente ingresa una pregunta en un chat y recibe una respuesta de un especialista dentro de un árbol de diálogo predefinido. La tarea de automatizar un chat de este tipo generalmente se resuelve utilizando conjuntos de reglas definidos por expertos que son muy laboriosos de desarrollar y mantener. La eficiencia de dicha automatización, según el nivel de complejidad de la tarea, puede ser del 20-30%. Naturalmente, surge la idea de que es más beneficioso implementar un módulo de inteligencia artificial, un modelo desarrollado utilizando aprendizaje automático que:

  • capaz de procesar más solicitudes sin la participación de un operador (dependiendo del tema, en algunos casos, la eficiencia puede alcanzar el 70-80%);
  • se adapta mejor a la redacción no estándar en el diálogo: puede determinar la intención, el deseo real del usuario por una solicitud formulada de manera poco clara;
  • es capaz de determinar cuando la respuesta del modelo es adecuada, y cuando hay dudas sobre la “conciencia” de esta respuesta y es necesario hacer una pregunta aclaratoria adicional o cambiar al operador;
  • se puede volver a entrenar automáticamente (en lugar de que un grupo de desarrolladores adapte y corrija constantemente los escenarios de respuesta, un científico de datos vuelve a entrenar el modelo utilizando las bibliotecas de aprendizaje automático adecuadas). 

MLOps: DevOps en el mundo del Machine Learning

¿Cómo hacer que un modelo tan avanzado funcione? 

Como en la resolución de cualquier otra tarea, antes de desarrollar un módulo de este tipo, es necesario definir un proceso comercial y describir formalmente una tarea específica que resolveremos utilizando el método de aprendizaje automático. En este punto, comienza el proceso de operacionalización, denotado por la abreviatura Ops. 

El siguiente paso es que el científico de datos, en colaboración con el ingeniero de datos, compruebe la disponibilidad y suficiencia de los datos y la hipótesis empresarial sobre la viabilidad de la idea de negocio, desarrollando un prototipo del modelo y comprobando su eficacia real. Solo después de la confirmación por parte de la empresa, puede comenzar la transición desde el desarrollo del modelo hasta su integración en los sistemas que realizan un proceso empresarial específico. La planificación de la implementación de extremo a extremo, una comprensión profunda en cada etapa de cómo se utilizará el modelo y qué efecto económico traerá, es un momento fundamental en los procesos de introducción de enfoques MLOps en el panorama tecnológico de la empresa.

Con el desarrollo de las tecnologías de IA, la cantidad y variedad de tareas que se pueden resolver con la ayuda del aprendizaje automático están aumentando como una avalancha. Cada uno de estos procesos comerciales está salvando a la empresa al automatizar el trabajo de los empleados de puestos masivos (centro de llamadas, verificación y clasificación de documentos, etc.), está ampliando la base de clientes al agregar nuevas funciones atractivas y convenientes, ahorrando dinero debido a su óptimo uso y redistribución de recursos y mucho más. En última instancia, cualquier proceso está enfocado a la creación de valor y, como resultado, debe traer un efecto económico determinado. Aquí es muy importante articular claramente la idea de negocio y calcular el beneficio esperado de la implementación del modelo en la estructura general de creación de valor de la empresa. Hay situaciones en las que la implementación del modelo no se justifica, y el tiempo que dedican los especialistas en aprendizaje automático es mucho más costoso que el lugar de trabajo del operador que realiza esta tarea. Por eso es necesario tratar de identificar tales casos en las primeras etapas de creación de sistemas de IA.

En consecuencia, los modelos comienzan a generar ganancias solo cuando la tarea comercial se formuló correctamente en el proceso MLOps, se establecieron prioridades y el proceso de introducción del modelo en el sistema se formuló en las primeras etapas de desarrollo.

Nuevo proceso - nuevos retos

Una respuesta exhaustiva a la pregunta comercial fundamental de qué tan aplicables son los modelos ML para resolver problemas, la pregunta general de confianza en AI es uno de los desafíos clave en el desarrollo e implementación de enfoques MLOps. Inicialmente, las empresas se muestran escépticas acerca de la introducción del aprendizaje automático en los procesos: es difícil confiar en modelos en lugares donde la gente solía trabajar en el pasado. Para las empresas, los programas parecen ser una "caja negra", cuya relevancia de las respuestas aún debe probarse. Además, en la banca, en el negocio de los operadores de telecomunicaciones y otros, existen estrictos requisitos de los reguladores estatales. Todos los sistemas y algoritmos que se implementan en los procesos bancarios están sujetos a auditoría. Para resolver este problema, para demostrar a las empresas y los reguladores la validez y corrección de las respuestas de inteligencia artificial, se están introduciendo herramientas de monitoreo junto con el modelo. Además, existe un procedimiento de validación independiente, obligatorio para los modelos regulatorios, que cumple con los requisitos del Banco Central. Un grupo de expertos independientes audita los resultados obtenidos por el modelo, teniendo en cuenta los datos de entrada.

El segundo desafío es la evaluación y consideración de los riesgos del modelo al implementar un modelo de aprendizaje automático. Incluso si una persona no puede responder con absoluta certeza a la pregunta de si ese vestido era blanco o azul, entonces la inteligencia artificial también tiene derecho a cometer un error. También vale la pena considerar que los datos pueden cambiar con el tiempo y los modelos deben volver a entrenarse para producir un resultado suficientemente preciso. Para que el proceso comercial no sufra, es necesario administrar los riesgos del modelo y monitorear el rendimiento del modelo, reentrenándolo regularmente con nuevos datos.

MLOps: DevOps en el mundo del Machine Learning

Pero después de la primera etapa de desconfianza, comienza a aparecer el efecto contrario. Cuantos más modelos se introduzcan con éxito en los procesos, más apetito tendrá la empresa por el uso de la inteligencia artificial: hay tareas nuevas y nuevas que se pueden resolver utilizando métodos de aprendizaje automático. Cada tarea pone en marcha todo un proceso que requiere ciertas competencias:

  • los ingenieros de datos preparan y procesan datos;
  • los científicos de datos aplican herramientas de aprendizaje automático y desarrollan un modelo;
  • TI implementa el modelo en el sistema;
  • El ingeniero de ML determina cómo integrar correctamente este modelo en el proceso, qué herramientas informáticas utilizar en función de los requisitos del modo de aplicación del modelo, teniendo en cuenta el flujo de solicitudes, el tiempo de respuesta, etc. 
  • Un arquitecto de ML diseña cómo se puede implementar físicamente un producto de software en un sistema industrial.

Todo el ciclo requiere un gran número de especialistas altamente cualificados. En un determinado punto de desarrollo y el grado de penetración de los modelos ML en los procesos de negocio, resulta que escalar linealmente el número de especialistas en proporción al crecimiento del número de tareas se vuelve costoso e ineficiente. Por lo tanto, surge la cuestión de automatizar el proceso MLOps: definir varias clases estándar de problemas de aprendizaje automático, desarrollar canalizaciones típicas de procesamiento de datos y modelos de reentrenamiento. En la imagen ideal, para resolver tales problemas, se requieren profesionales que estén igualmente bien versados ​​en competencias en el cruce de BigData, Data Science, DevOps y TI. Por lo tanto, el mayor problema en la industria de la ciencia de datos y el mayor desafío en la organización de los procesos de MLOps es la falta de dicha competencia en el mercado de capacitación existente. Los especialistas que cumplen tales requisitos son actualmente escasos en el mercado laboral y valen su peso en oro.

A la cuestión de las competencias

En teoría, todas las tareas de MLOps se pueden resolver con las herramientas clásicas de DevOps y sin recurrir a una extensión de modelo de rol especializada. Entonces, como señalamos anteriormente, un científico de datos no solo debe ser matemático y analista de datos, sino también un gurú de todo el proceso: desarrollo de arquitectura, modelos de programación en varios lenguajes según la arquitectura, preparación de un data mart e implementación. cae sobre sus hombros la propia aplicación. Sin embargo, la creación de un enlace tecnológico implementado en el proceso MLOps de extremo a extremo consume hasta el 80 % de los costos laborales, lo que significa que un matemático calificado, que es un científico de datos de alta calidad, dedicará solo el 20 % del tiempo a su especialidad. Por lo tanto, la diferenciación de los roles de los especialistas que implementan el proceso de implementación de modelos de aprendizaje automático se vuelve vital. 

El nivel de detalle con el que deben delinearse las funciones depende del tamaño de la empresa. Una cosa es cuando una startup tiene un especialista, un trabajador en la reserva de ingenieros energéticos, un ingeniero, un arquitecto y DevOps por derecho propio. Es un asunto completamente diferente cuando, en una gran empresa, todos los procesos de desarrollo de modelos se concentran en unos pocos científicos de datos de alto nivel, mientras que un programador o especialista en bases de datos, una competencia más común y menos costosa en el mercado laboral, puede asumir la mayoría de las tareas rutinarias.

Así, donde el límite está en la elección de especialistas para asegurar el proceso MLOps y cómo se organiza el proceso de operacionalización de los modelos desarrollados, afecta directamente la velocidad y calidad de los modelos desarrollados, la productividad del equipo y el microclima en el mismo.

Lo que ya ha hecho nuestro equipo

Recientemente comenzamos a construir el marco de competencias y los procesos de MLOps. Pero ya ahora, nuestros proyectos sobre la gestión del ciclo de vida de los modelos y sobre el uso de modelos como servicio se encuentran en la etapa de prueba de MVP.

También determinamos la estructura óptima de competencias para una gran empresa y la estructura organizacional de interacción entre todos los participantes en el proceso. Se organizaron equipos ágiles para resolver problemas para todo el espectro de clientes comerciales y se estableció un proceso de interacción con los equipos de proyecto para crear plataformas e infraestructura, que es la base del edificio MLOps en construcción.

Preguntas para el futuro

MLOps es un área en crecimiento que está experimentando una falta de competencias y ganará impulso en el futuro. Mientras tanto, es mejor basarse en los desarrollos y prácticas de DevOps. El objetivo principal de MLOps es usar modelos ML de manera más efectiva para resolver problemas comerciales. Pero esto plantea muchas preguntas:

  • ¿Cómo reducir el tiempo de lanzamiento de modelos en producción?
  • ¿Cómo reducir la fricción burocrática entre equipos de diferentes competencias y aumentar el enfoque en la cooperación?
  • ¿Cómo rastrear modelos, gestionar versiones y organizar un seguimiento efectivo?
  • ¿Cómo crear un ciclo de vida verdaderamente circular para un modelo de ML moderno?
  • ¿Cómo estandarizar el proceso de aprendizaje automático?

Las respuestas a estas preguntas determinarán en gran medida la rapidez con la que MLOps revelará todo su potencial.

Fuente: habr.com

Añadir un comentario