Skip to content

abdala9512/dsrp-mlops-deployment

Repository files navigation

Curso 4: Despliegue de modelos de Machine Learning en producción

Bienvenidos al Curso de Despliegue de modelos de Machine Learning!

Módulo 1: Arquitectura y Diseño de Soluciones (Teórico)

  1. Diseño de sistemas de Machine Learning
  2. Tipos de Model serving
  3. Estrategias de despliegue
  4. Ejecución ML pipeline (Caso de uso del curso)

Módulo 2: Offline Serving (práctico)

  1. Desarrollo soluciones model serving - Batch Scoring ( Batch )
  2. Despliegue model serving batch (apache airflow + MLflow)

Módulo 3: Online Serving (práctico)

  1. Desarrollo soluciones model serving - Online
  2. Despliegue model serving realtime (FastAPI)
  3. Desarrollo soluciones model serving - Serverless + Event Streaming ( Streaming )
  4. Despliegue model serving Streaming (Lambda + Kinesis)

Herramientas y desarrollo

Manejo de ambientes y librerias

Librerías modelos ML

  • scikit-learn: librería algoritmos ML
  • hyperopt: librería de optimización de hiperparametros
  • pandas: libreria análisis y manipulación de datos
  • joblib: librería utilidades machine learning

Librerías Software engineering y MLOps

  • pyenv: administrador de versiones de python en el sistema
  • poetry: herramienta para administración de dependencias y empaquetamiento en python Instalación poetry.
  • mlflow: Herramienta para administración de experimientos y registro de modelos de machine learning. Documentación MLflow
  • airflow: Orquestación y calendarización de pipelines de machine learning e inferencia en batch para offline serving
  • fastapi: Librería para creación de APIs en python. se usará para disponibilizar endpoints de modelos de machine learning en online serving
  • dagshub: Dagshub es una plataforma de colaboración en proyectos con prácticas MLOps, cuenta con integración con Github, DVC, MLflow. Se usará como servidor de MLflow. Plataforma DagsHub
  • loguru: Libreria para manejo de logs de forma sencilla loguru

Software, Frameworks y librerías

Nube + Servicios

El proveedor de nube seleccionado para este curso es Amazon Web Services (AWS)

  • AWS EC2: Servicio de creación de maquinas virtuales. Se usará para el desarrollo durante el curso. Amazon Elastic Compute Cloud
  • AWS EKS: Servicio de clusteres de Kubernetes. Se usará en el módulo de online serving. Amazon Elastic Kubernetes Service
  • AWS ECS: Servicio de contenedores. Se usará en el módulo de online serving.
  • AWS MWAA: Servicio de Airflow administrado. Se usará en el módulo de offline serving. Managed Workflows for Apache Airflow
  • AWS S3: Servicio de almacenamiento. Se usará en el módulo de offline serving. Amazon S3
  • AWS Kinesis: Servicio de procesamiento de mensajes para streaming. Se usará en el módulo de online serving.Amazon Kinesis
  • AWS IAM: Servicio de administración de permisos y roles

Configuración de proyecto (ML pipeline)

Para empezar a trabakar en ele proyecto

  1. clonar repositorio (Recomendable hacer Fork) - Forks en Github

HTTP - Clonar repositorios en github

git clone https://github.com/abdala9512/dsrp-mlops-deployment.git

SSH - Guía Configuración github con SSH

git clone git@github.com:abdala9512/dsrp-mlops-deployment.git

Guías paso a paso