Operaciones de aprendizaje máquina (MLOps)

Curso Aprendizaje Automático Aplicado

Presentaciones

  1. Empecemos por esta presentación general.

  2. Una presentacion de mlflow con los conceptos básicos.

  3. Introducción a las MLOps

  4. Preprocesamiento de datos

  5. Selección de modelos de ML

  6. Despliegue de modelos de ML

  7. Monitoreo de la calidad de los modelo

  8. Una presentación de Weights and Biases

  9. Infraestructura y plataformas

  10. Tutorial Explaining Machine Learning Predictions: State-of-the-art, Challenges, and Opportunities presentado en NeurIPS 2020

Libretas, scripts y tutoriales

  1. Un ejemplo en github para usar DagsHub para manejar proyectos colaborativos con MLFlow (El repositorio también se puede revisar en su sincronización en DagsHub y su MLFlow Tracking Dashboard).

  2. Otro ejemplito en DagsHub con mlflow.

  3. Cookiecutter Data Science. Un esquema lógico y sencillo para plantear proyectos de ciencia de datos en python en forma genñerica.

  4. Un curso de DVC para usar DVC en todas sus etapas.

  5. Made with ML. Un curso muy interesante con una prespectiva industrial del aprendizaje automático. Mucho le dedica a las MLOps.

  6. Ejemplo de uso de Ray Serve para desplegar modelos

  7. Ejemplo de uso de Evidently para monitorear los datos

Herramientas para MLOps

  1. MLFlow. La plataforma de código abierto más usada como base para esquemas de MLOps. Una versión simple de lo que puedes tener con DataBricks si estás en una compañía que esté dispuesta a pagar el precio. Existe una versión para experimentación.

  2. DVC. Originalmente para versionado de datos, aunque ya hacen un poco de todo. Es mejor combinarlo con mlflow, si no se quiere pasar a un contenedor con deltalake.

  3. Weights & Biases. Similar a DataBricks, la solucion completa. Existe una versión académica y una personal, pero no puede usarse en empresas.

  4. MLRun. Otra plataforma similar a MLFlow pero incluye una interfase gráfica para el manejo del ciclo de vida (como DataBricks). Puede instalarse on premise.

  5. [Neptune.ai](https://neptune.ai). Otra plataforma más, en la nube la orquestación, pero los modelos se pueden ejecutar *on premise.

  6. Ray. Una plataforma de desarrollo pensando en la escalabilidad sobre todo. EN particular es muy apreciada la librería ray serve para poner los modelos de aprendizaje en producción.

  7. MetaFlow. La solución de Netflix para MLOps. Al parecer muy poderoso pero tambien muy complicado de instalar on premise. Funciona sobre Kubernetes.

  8. Facets. Otra herramienta de EDA, muy importante saber las estadísticas básicas de los datos para poder monitorearlos con pydantic o Great Expectations.

  9. pydantic. Validación de datos conforme los utiliza uno, exclusivo par python. Similar pero para funcionar en la nube y en producción existe el proyecto Great Expectations.

  10. Evidently AI. Herramientas en código abierto para monitorear la calidad de los datos, la deriva de los datos y la calidad de los modelos de predicción durante la etapa de producción. Se puede integrar a MLFlow, pero están más bonitos los tableros de Evidently.

  11. Whylogs. Similar a Evidently al parecer, pero solo la librería, ya que es el corazón de un producto que ya no es de código abierto (Whylabs).

  12. AirFlow. No es propiamente para MLOps, pero se utiliza mucho en conjunto con otras plataformas.

Otra información

  1. CS 329S: Machine Learning Systems Design. Curso de Chip Huyen, quien (además de escribir novelas en vietnamita) tiene posiblemente el mejor curso sobre MLOps que conozco hasta el momento. Muchas de las presentaciones de curso son extractos de las presentaciones de ella (con el reconocimiento respectivo), sólo porque no tenemos tiempo para ver la versión completa que es buenísima.

  2. Libro Interpretable Machine Learning: A Guide for Making Black Box Models Explainable, un libro del 2023 sobre el tema.