Bienvenidos al Curso de Despliegue de modelos de Machine Learning!
- Diseño de sistemas de Machine Learning
- Tipos de Model serving
- Estrategias de despliegue
- Ejecución ML pipeline (Caso de uso del curso)
- Desarrollo soluciones model serving - Batch Scoring ( Batch )
- Despliegue model serving batch (apache airflow + MLflow)
- Desarrollo soluciones model serving - Online
- Despliegue model serving realtime (FastAPI)
- Desarrollo soluciones model serving - Serverless + Event Streaming ( Streaming )
- Despliegue model serving Streaming (Lambda + Kinesis)
scikit-learn
: librería algoritmos MLhyperopt
: librería de optimización de hiperparametrospandas
: libreria análisis y manipulación de datosjoblib
: librería utilidades machine learning
pyenv
: administrador de versiones de python en el sistemapoetry
: 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 MLflowairflow
: Orquestación y calendarización de pipelines de machine learning e inferencia en batch para offline servingfastapi
: Librería para creación de APIs en python. se usará para disponibilizar endpoints de modelos de machine learning en online servingdagshub
: 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 DagsHubloguru
: Libreria para manejo de logs de forma sencilla loguru
- VS Code: Editor de código durante el proyecto. Instalación VS Code
- Postman/Rapid API: Aplicaciones para testear APIs, Instalación extensión VS Code RapidAPI | Instalación Postman
- Github + Github actions: Servidor de Git y pipelines automatizados de DevOps. Registro Github | Documentación Github Actions
- Docker + Docker Compose: Herramienta para ejecución de aplicaciones en contenedores Instalación docker | Roadmap Docker
- Kubernetes: Orquestación de contenedores. Roadmap Kubernetes
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
Para empezar a trabakar en ele proyecto
- 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
- Solución Batch: Documentación
- Solución Online: Documentación
- Solución Streaming: Documentación