MLOps a vista de pájaro: Empezamos el camino

MLOps a vista de pájaro: Empezamos el camino

19 de abril de 2024

Como muchos de los que nos hemos sumergido profundamente en el mundo del Machine Learning (ML) sabemos, este nace de una etapa investigadora y pasa a ser parte fundamental del crecimiento y mejoras en las empresas basadas en datos. Poder adaptar algo puramente académico a una industria del software tan evolucionado como tenemos a fecha de hoy ha supuesto romper muchas barreras y creencias, teniendo muy presente las buenas prácticas ágiles y el auge de la combinación entre desarrollo (Dev) y las operaciones de IT (Ops) que brinda el paradigma DevOps. A partir de aquí, surgen las operaciones de Machine Learning (MLOps). En la figura 1 podemos ver cómo un ciclo de tres amplias fases da paso al MLOps.

Como es de esperar, el auge del MLOps y su adopción generalizada en todo el mundo trae consigo la necesidad de un enfoque sistemático y eficiente hacia la construcción de sistemas de ML robustos, lo que lleva al aumento repentino de la demanda de ML Engineer. Estos ML Engineer se ocupan de aplicar las mejores prácticas establecidas por DevOps a las tecnlogías de ML, además de construir Pipelines que secuencialmente pasan por diferentes estados que parten de la necesidad de dar respuesta, la obtención de datos, hasta el proveer una solución que evoluciona a medida que se utiliza.

Si nos fijamos en los principales proveedores de cloud pública, como son Google Cloud, AWS y Microsoft Azure, han dado un fuerte paso en esta línea creando certificaciones acorde a este sector. Por poner un ejemplo de estas, Google Cloud tiene una certificación de Professional Machine Learning Engineer (https://cloud.google.com/certification/machine-learning-engineer) que describe a estos ingenieros como diseñadores, constructores y productivizadores de modelos de ML para resolver retos empresariales.

Preparación para la IA

En muchas empresas se trabaja duramente en construir soluciones de ML, pasando estas por diferentes estados de madurez de acuerdo a los estándares que han marcado la comunidad de IA y los diferentes proveedores de soluciones. Existen tres típicas fases (B1) que podemos encontrar en las empresas de IA, donde cada una aumenta la complejidad de la solución:

  • Fase táctica: Desarrollo manual de modelos de IA.
  • Fase estratégica: Entrenamiento continuo del modelo mediante la automatización del ML Pipeline.
  • Fase transformacional: Procesos totalmente automatizados apoyan el desarrollo de la IA.

Para encontrar más información, os recomendamos ir a la documentación oficial de Google Cloud:

MLOps: canalizaciones de automatización y entrega continua en el aprendizaje automático

En ella podéis encontrar descritas más en profundidad las diferentes fases o niveles. Con relación a la última fase, podemos ver en la figura 2 cómo la parte ML y la parte operacional (Ops) coexisten en armonía:

Además de lo contado anteriormente, para comprender la implementación de un modelo, primero es necesario entender qué activa el proceso, qué hiperparámetros son necesarios, cuándo se ejecuta un entrenamiento, qué datos son los adecuados, qué versionado tienen los diferentes modelos, cómo y cuándo desplegar un nuevo artefacto, y un largo etcétera. El proceso basado en MLOps proporciona orquestación, registro, supervisión y notificación para garantizar que los modelos, el código y los artefactos de datos de ML sean estables. MLOps es una cultura de ingeniería de ML que incluye cuatro etapas fundamentales que podemos encontrar en la figura 3.

Personas en el Modelo Operacional

Como bien se ha mencionado, el MLE es el principal referente en la construcción de ML Pipelines y en intervenir en las principales etapas operativas del MLOps. Pero este no está solo, ya que es necesario cubrir muchas requisitos en la gestión de la operacionalización de modelos de aprendizaje automático (MLOps).

Desde Sngular Data & AI creemos que el ciclo de MLOps necesita de varias figuras especializadas, y por ello añadimos tres roles al esquema clásico que se ha extendido hoy en día (figura 4), siguiendo las tendencias de los grandes proveedores de nube pública y buscando especialización:

  • ML Engineer: debe tener un conocimiento profundo de la recopilación de datos, verificación del dato, la ingeniería de características, la gestión de metadatos, el análisis de modelos, etc.
  • MLOps Engineer: necesita entender el lado de DevOps de las cosas, que incluye la gestión de identidades, los roles, las subvenciones, los permisos, el control de origen y las tuberías de CI/CD.
  • MLRE: debe ser un especialista en Ingeniería de Fiabilidad del Sitio (SRE) de ML que combine la ingeniería de sistemas y el arte del aprendizaje automático para desarrollar y ejecutar AI/ML/DL masivamente distribuidos por todo el mundo.

En futuras partes de este artículo explicaremos más en profundidad los roles de ML Engineer, MLOps Engineer y MLRE.

Como podemos haber intuido a través de este pequeño viaje en el nuevo mundo del MLOps, las agujas a surcar son muchísimas y cada nuevo continente visitado aumenta la dificultad, pero ofrece un cúmulo de riquezas que bien valen la pena. Desde Sngular Data & AI, queremos ayudarte en estos viajes a través de la productivización de la Inteligencia Artificial y, por ello, iniciamos un ciclo de nuevas entras del blog donde explicaremos lo que te vas a ir encontrando en cada nueva isla, en cada nuevo océano.

Bibliografía

(B1) “Machine Learning Design Patterns” por Valliappa Lakshmanan, Sara Robinson, Michael Munn.

(B2) “Practical MLOps” (https://ml-ops.org/content/mlops-principles#automation).

(B3) “Introducing MLOps” por Mark Treveil, Nicolas Omont, Clément Stenac, Kenji Lefevre, Du Phan, Joachim Zentici, Adrien Lavoillotte, Makoto Miyazaki, Lynn Heidmann.

Artículo escrito por David González.