¿Qué es MLOps?’ El resultado de la traducción es

'What is MLOps?

Pietro Jeng en Unsplash

MLOps es un conjunto de métodos y técnicas para implementar y mantener modelos de aprendizaje automático (ML) de manera confiable y eficiente en producción. Por lo tanto, MLOps es la intersección entre el aprendizaje automático, DevOps e ingeniería de datos (Figura 1).

Figura 1: Diagrama de Venn que muestra la relación entre los campos relacionados con MLOps [Wikipedia].

Antecedentes

Decir que MLOps está en un estado de cambio sería quedarse corto [7]. El mejor consejo que puedo dar sobre MLOps sería tratar de contratar a alguien que pueda ver el “panorama general”. Cualquier ingeniero de software competente puede aprender a usar una plataforma de MLOps en particular, ya que no requiere un título avanzado. Por lo tanto, un error común al entrevistar candidatos es centrarse en los detalles de una plataforma en particular (AWS, GCP, Databricks, MLflow, etc.). El ingeniero de MLOps ideal tendría experiencia en varias plataformas de MLOps y/o DevOps. De hecho, tener demasiada experiencia con una sola plataforma probablemente será problemático en el futuro, ya que la mayoría de las empresas rara vez se quedan con una sola plataforma en la nube con el tiempo, y actualmente no existen estándares para MLOps.

Un problema importante con MLOps es la falta de estándares, lo que significa que cada plataforma tiende a utilizar terminología diferente. Con suerte, SEI o IEEE pronto publicarán una guía de ingeniería de IA para estandarizar la terminología de manera similar a SWEBOK. Por ahora, recomendaría aprender MLflow, ya que es de código abierto y parece ser muy popular.

Muchas personas usan el término “pipeline” en MLOps, lo cual puede ser confuso, ya que pipeline es un término de ciencias de la computación que se refiere a una secuencia lineal con una sola entrada/salida. Una mejor definición haría uso del grafo acíclico dirigido (DAG), ya que el proceso puede no ser lineal. Por lo tanto, el término flujo de trabajo (workflow) es una mejor descripción de los muchos tipos de procesos que podrían estar involucrados en cualquier etapa del ciclo de vida de MLOps.

El proceso del modelo de aprendizaje automático

En general, el proceso del modelo de ML involucra ocho etapas (Figuras 2 y 3) que pueden incluir la recopilación de datos y/o etiquetado de datos [1]:

  1. Preparación de datos
  2. Ingeniería de características
  3. Diseño del modelo
  4. Entrenamiento y optimización del modelo
  5. Evaluación del modelo
  6. Implementación del modelo
  7. Servicio del modelo
  8. Monitoreo del modelo
Figura 2: Fases del ciclo de vida del modelo de ML [2]
Figura 3: Ciclo de vida del modelo de ML que incluye monitoreo [2]

En contraste, ModelOps se centra en gestionar todo el ciclo de vida del desarrollo de software (SDLC) de una variedad de modelos de IA, incluyendo aprendizaje automático, gráficos de conocimiento, reglas, optimización, lenguaje natural y modelos basados en agentes (Figura 4).

Figura 4: El proceso de ModelOps [Wikipedia]

El flujo de trabajo del aprendizaje automático

El aprendizaje automático requiere experimentar con una amplia gama de conjuntos de datos, preparación de datos y algoritmos para construir un modelo que maximice algunas métricas objetivo. Una vez que se ha construido un modelo, el siguiente paso sería implementar el modelo final en un sistema de producción, monitorear el rendimiento del modelo y volver a entrenar continuamente el modelo con nuevos datos y compararlo con modelos alternativos.

Por lo tanto, ser productivo con el aprendizaje automático para aplicaciones del mundo real puede ser desafiante por varias razones [3]:

  • Es difícil hacer un seguimiento de los experimentos. Cuando se trabaja con archivos en tu computadora portátil o con un cuaderno, ¿cómo podemos saber qué datos, código y parámetros se utilizaron para obtener un resultado específico?
  • Es difícil reproducir el código. Incluso si hacemos un seguimiento cuidadoso de las versiones del código y los parámetros, aún necesitamos capturar todo el entorno (como las dependencias de las bibliotecas) para reproducir los mismos resultados. Esto es aún más desafiante cuando se trabaja en equipo o si queremos ejecutar el mismo código a gran escala en otra plataforma (como la nube).
  • No hay una forma estándar de empaquetar e implementar modelos. Cada equipo de ciencia de datos desarrolla su propio enfoque para cada biblioteca de aprendizaje automático que se utiliza, por lo que a menudo se pierde el vínculo entre el modelo, el código y los parámetros.
  • No hay un almacén central para gestionar los modelos (versiones y transiciones de etapa). Sin un lugar central para colaborar y gestionar el ciclo de vida del modelo, los equipos de ciencia de datos enfrentarán desafíos al administrar las etapas del modelo.

Aunque las bibliotecas individuales de aprendizaje automático proporcionan soluciones a algunos de estos problemas (como el servicio de modelos), generalmente deseas probar múltiples bibliotecas de aprendizaje automático para obtener los mejores resultados. Una herramienta de MLOps te permite entrenar, reutilizar e implementar modelos con cualquier biblioteca y empaquetarlos en pasos reproducibles que otros científicos de datos pueden utilizar como una “caja negra” sin necesidad de saber qué bibliotecas estás utilizando.

Ten en cuenta que tratar de adaptar o aplicar MLOps de forma fragmentada es una idea equivocada común y en realidad se consideraría un antipatrón de diseño de software [5][6]. Sorprendentemente, algunas empresas como Nvidia están tratando de hacer esto en masa en todos sus proyectos de desarrollo de software, lo cual no es factible y probablemente resultará problemático.

Por lo tanto, una plataforma de MLOps debe proporcionar al menos cinco características para ayudar a gestionar el flujo de trabajo de aprendizaje automático [3]:

  • Seguimiento: una API para registrar parámetros, versiones de código, métricas y artefactos al ejecutar código de aprendizaje automático y luego visualizar los resultados.
  • Proyectos: un formato estándar para empaquetar código de aprendizaje automático reutilizable.
  • Modelos: una convención para empaquetar modelos de aprendizaje automático en múltiples variantes y una variedad de herramientas para ayudar en su implementación.
  • Registro: un almacén centralizado de modelos, conjunto de API e interfaz de usuario para gestionar de manera colaborativa todo el ciclo de vida de uno o varios modelos de aprendizaje automático.
  • Escalabilidad: diseñado para escalar a grandes conjuntos de datos, archivos de salida grandes y un gran número de experimentos.

Conclusión

MLOps es un conjunto de métodos y técnicas para implementar y mantener modelos de aprendizaje automático (ML). Sin embargo, actualmente MLOps no tiene estándares definidos, por lo que es importante tener esto en cuenta. Por lo tanto, es importante ver el “cuadro completo”, lo cual implica comprender los conceptos clave, etapas, características y desafíos de MLOps.

Referencias

[1] J. S. Damji y M. Galarnyk, “Consideraciones para implementar modelos de aprendizaje automático en producción,” Towards Data Science, 19 de noviembre de 2021.

[2] B. Rogojan, “Qué es MLOps y por qué tu equipo debería implementarlo,” SMB Lite, 25 de noviembre de 2020.

[3] “Conceptos de MLflow,” Documentación de MLflow, Último acceso: 19 de agosto de 2022.

[4] L. Visengeriyeva, A. Kammer, I. Bär, A. Kniesz y M. Plöd, “Principios de MLOps,” Último acceso: 19 de agosto de 2022.

[5] P. P. Ippolito, “Patrones de diseño en aprendizaje automático para MLOps,” Towards Data Science, 12 de enero de 2022.

[6] Abhijith C, “Cómo (no) hacer MLOps,” Towards Data Science, 10 de enero de 2022.

[7] M. Eric, “MLOps es un desastre, pero eso era de esperarse,” VoAGI, 25 de marzo de 2022.

[8] “Inicio rápido de MLflow”, Documentación de MLflow, Último acceso: 19 de agosto de 2022.

[9] Kedion, “Gestión de ciclos de vida de aprendizaje automático con MLflow,” VoAGI, 25 de enero de 2022.

J. Demsar, T. Curk, A. Erjavec, C. Gorup, T. Hocevar, M. Milutinovic, M. Mozina, M. Polajnar, M. Toplak, A. Staric, M. Stajdohar, L. Umek, L. Zagar, J. Zbontar, M. Zitnik y B. Zupan, “Orange QuickStart”, Documentación de Orange, Último acceso: 19 de agosto de 2022.

Y. Prakash, “Una guía rápida para el seguimiento de experimentos de ML – Con Weights & Biases”, Towards Data Science, 7 de marzo de 2022.

wallaroo.ai, “Cómo evaluar diferentes soluciones de implementación de aprendizaje automático”, VoAGI, 3 de marzo de 2022.

A. Lamberti, “4 herramientas de MLOps para implementar su modelo de aprendizaje automático”, Artificialis, 5 de enero de 2022.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Potenciando la fiabilidad del aprendizaje automático Cómo la atipicidad mejora el rendimiento del modelo y la cuantificación de la incertidumbre

Un objeto se considera típico si se asemeja a otros elementos de su categoría. Por ejemplo, un pingüino es un ave inu...

Inteligencia Artificial

Conoce SMPLitex un modelo de IA generativo y un conjunto de datos para la estimación de textura humana en 3D a partir de una única imagen.

En el campo en constante evolución de la visión por computadora y los gráficos, un desafío significativo ha sido la c...

Aprendizaje Automático

Ajusta de forma interactiva Falcon-40B y otros LLMs en los cuadernos de Amazon SageMaker Studio utilizando QLoRA.

Ajustar modelos de lenguaje grandes (LLMs) permite adaptar modelos fundamentales de código abierto para lograr un mej...

Inteligencia Artificial

Explorando el poder y las limitaciones de GPT-4

Destapando GPT-4 Descifrando su impacto en la ciencia de datos y explorando sus fortalezas y límites.

Inteligencia Artificial

Miles de autores instan a las compañías de IA a dejar de usar trabajos sin permiso

Casi 8,000 autores acaban de firmar una carta dirigida a los líderes de seis empresas de inteligencia artificial, inc...