Modelo de madurez de operaciones de Machine Learning

Azure Machine Learning

El propósito de este modelo de madurez es ayudar a aclarar las prácticas y los principios de las operaciones de Machine Learning (MLOps). El modelo de madurez muestra la mejora continua en la creación y el funcionamiento de un entorno de aplicación de Machine Learning de nivel de producción. Puede usarlo como una métrica para establecer los requisitos progresivos necesarios para medir la madurez de un entorno de producción de aprendizaje automático y sus procesos asociados.

Modelo de madurez

El modelo de madurez de MLOps ayuda a aclarar las prácticas y los principios de las operaciones de desarrollo (DevOps) necesarios para ejecutar un entorno de MLOps correcto. Está diseñado para identificar brechas en el intento de implementación de un entorno de este tipo por parte de una organización existente. También es una manera de mostrar cómo aumentar la capacidad de MLOps en incrementos en lugar de abrumarle con los requisitos de un entorno totalmente maduro. Úselo como una guía para:

  • Estimar el ámbito del trabajo para nuevas involucraciones.

  • Establecer criterios de éxito realistas.

  • Identificar las entregas que transferirá al término de la involucración.

Al igual que con la mayoría de los modelos de madurez, el modelo de madurez de MLOps realiza la evaluación cualitativa de personas o cultura, procesos o estructuras y objetos o tecnología. A medida que el nivel de madurez aumenta, crece la probabilidad de que incidentes o errores den lugar a mejoras en la calidad de los procesos de desarrollo y producción.

El modelo de madurez de MLOps abarca cinco niveles de funcionalidad técnica:

Nivel Descripción Aspectos destacados Technology
0 Sin MLOps
  • Ciclo de vida del modelo de Machine Learning completo difícil de administrar
  • Los equipos son dispares y los lanzamientos son complicados
  • La mayoría de los sistemas existen como "cajas negras", pocos comentarios durante y después de la implementación
  • Compilaciones e implementaciones manuales
  • Pruebas manuales de modelo y aplicación
  • Sin seguimiento centralizado del rendimiento del modelo
  • El entrenamiento del modelo es manual
1 DevOps sin MLOps
  • Los lanzamientos son menos complicados que sin MLOps, pero dependen del equipo de datos para cada nuevo modelo
  • Los comentarios sobre la ejecución de un modelo en producción siguen siendo limitados
  • Dificultad para trazar o reproducir resultados
  • Compilaciones automatizadas
  • Pruebas automatizadas para el código de aplicación
2 Aprendizaje automatizado
  • El entorno de entrenamiento es totalmente administrado y rastreable
  • Modelo fácil de reproducir
  • Los lanzamientos son manuales, pero de baja fricción
  • Entrenamiento de modelos automatizado
  • Seguimiento centralizado del rendimiento del entrenamiento del modelo
  • Administración de modelos
3 Implementación de modelo automatizada
  • Los lanzamientos son de baja fricción y automáticos
  • Rastreabilidad completa desde la implementación hasta los datos originales
  • Todo el entorno administrado: entrenamiento > prueba > producción
  • Pruebas A/B integradas del rendimiento del modelo para la implementación
  • Pruebas automatizadas para todo el código
  • Seguimiento centralizado del rendimiento del entrenamiento del modelo
4 Operaciones automatizadas de MLOps completas
  • Totalmente automatizado por el sistema y supervisado con facilidad
  • Los sistemas de producción proporcionan información sobre cómo mejorar y, en algunos casos, mejorar automáticamente con nuevos modelos
  • Enfoque de un sistema sin tiempo de inactividad
  • Entrenamiento y pruebas de modelos automatizados
  • Métricas detalladas y centralizadas del modelo implementado

Las tablas siguientes identifican las características detalladas de ese nivel de madurez del proceso. El modelo continuará evolucionando. Esta versión se actualizó por última vez en junio de 2020.

Nivel 0: sin MLOps

Personas Creación del modelo Lanzamiento del modelo Integración de aplicaciones
  • Científicos de datos: en silos, no en comunicaciones regulares con el equipo más grande
  • Ingenieros de datos (si existen): en silos, no en comunicaciones regulares con el equipo más grande
  • Ingenieros de software: en silos, reciben el modelo de forma remota de los demás miembros del equipo
  • Datos recopilados manualmente
  • Es probable que el proceso no esté administrado
  • No se realiza un seguimiento previsible de los experimentos
  • El resultado final puede ser un único archivo de modelo que se entrega manualmente con entradas o salidas
  • Proceso manual
  • El script de puntuación puede crearse manualmente después de los experimentos; sin control de versiones
  • Versión controlada por el científico de datos o por el ingeniero de datos solamente
  • Depende en gran medida de la experiencia del científico de datos para realizar la implementación
  • Los lanzamientos son manuales cada vez

Nivel 1: DevOps sin MLOps

Personas Creación del modelo Lanzamiento del modelo Integración de aplicaciones
  • Científicos de datos: en silos, no en comunicaciones regulares con el equipo más grande
  • Ingenieros de datos (si existen): en silos, no en la comunicación normal con el equipo más grande
  • Ingenieros de software: en silos, reciben el modelo de forma remota de los demás miembros del equipo
  • La canalización de datos recopila datos automáticamente
  • Proceso administrado o sin administrar
  • No se realiza un seguimiento previsible de los experimentos
  • El resultado final puede ser un único archivo de modelo que se entrega manualmente con entradas o salidas
  • Proceso manual
  • El script de puntuación puede crearse manualmente después de los experimentos; probablemente con control de versiones
  • Se entrega a ingenieros de software
  • Existen pruebas de integración básicas para el modelo
  • Depende en gran medida de la experiencia del científico de datos para implementar el modelo
  • Lanzamientos automatizados
  • El código de aplicación tiene pruebas unitarias

Nivel 2: entrenamiento automatizado

Personas Creación del modelo Lanzamiento del modelo Integración de aplicaciones
  • Científicos de datos: trabajan directamente con ingenieros de datos para convertir el código de experimentación en scripts o trabajos repetibles
  • Ingenieros de datos: trabajan con científicos de datos
  • Ingenieros de software: en silos, reciben el modelo de forma remota de los demás miembros del equipo
  • La canalización de datos recopila datos automáticamente
  • Proceso administrado
  • Resultados del experimento con seguimiento
  • Tanto el código de entrenamiento como los modelos resultantes tienen control de versiones
  • Lanzamiento manual
  • El script de puntuación tiene control de versiones con pruebas
  • Lanzamiento administrado por el equipo de ingeniería de software
  • Existen pruebas de integración básicas para el modelo
  • Depende en gran medida de la experiencia del científico de datos para implementar el modelo
  • El código de aplicación tiene pruebas unitarias

Nivel 3: implementación del modelo automatizada

Personas Creación del modelo Lanzamiento del modelo Integración de aplicaciones
  • Científicos de datos: trabajan directamente con ingenieros de datos para convertir el código de experimentación en scripts o trabajos repetibles
  • Ingenieros de datos: trabajan con científicos de datos e ingenieros de software para administrar entradas o salidas
  • Ingenieros de software: trabajan con ingenieros de datos para automatizar la integración del modelo en el código de aplicación
  • La canalización de datos recopila datos automáticamente
  • Proceso administrado
  • Resultados del experimento con seguimiento
  • Tanto el código de entrenamiento como los modelos resultantes tienen control de versiones
  • Lanzamiento automático
  • El script de puntuación tiene control de versiones con pruebas
  • Lanzamiento administrado por la canalización de entrega continua (CI/CD)
  • Pruebas unitarias y de integración para cada versión del modelo
  • Menos dependencia de la experiencia del científico de datos para implementar el modelo
  • El código de aplicación tiene pruebas unitarias o de integración

Nivel 4: nuevo entrenamiento completo de MLOps automatizado

Personas Creación del modelo Lanzamiento del modelo Integración de aplicaciones
  • Científicos de datos: trabajan directamente con ingenieros de datos para convertir el código de experimentación en scripts o trabajos repetibles; trabajan con ingenieros de software para identificar marcadores para ingenieros de datos
  • Ingenieros de datos: trabajan con científicos de datos e ingenieros de software para administrar entradas o salidas
  • Ingenieros de software: trabajan con ingenieros de datos para automatizar la integración del modelo en el código de la aplicación Implementación de la recopilación de métricas posterior a la implementación
  • La canalización de datos recopila datos automáticamente
  • Nuevo entrenamiento desencadenado automáticamente en función de las métricas de producción
  • Proceso administrado
  • Resultados del experimento con seguimiento
  • Tanto el código de entrenamiento como los modelos resultantes tienen control de versiones
  • Lanzamiento automático
  • El script de puntuación tiene control de versiones con pruebas
  • Lanzamiento administrado por la integración continua y la canalización de CI/CD
  • Pruebas unitarias y de integración para cada lanzamiento del modelo
  • Menos dependencia de la experiencia del científico de datos para implementar el modelo
  • El código de aplicación tiene pruebas unitarias o de integración

Pasos siguientes