Evaluación
Porcentaje | Trabajo practico | Fecha |
---|---|---|
20 % | Nivel 0 - MLOps: Proceso manual (Data science, Git pull request) | 28 / Feb |
20 % | Nivel 0 - MLOps: configuración local, code quality | 22 / Abril |
30 % | Nivel 1 - MLOps: CI/ CD y Experimentación | 5 / Mayo |
30 % | Nivel 1 - MLOps: (Data and Model Validation, deployment y monitoring) | 22 / Mayo |
Una tarea se considera completada cuando pasa por todo el proceso de Pull Request y esta en codigo en la rama Main
Proyecto 1 - Dataset Estático
1. Nivel 0 - MLOps: Proceso manual (20%)
El objetivo de este trabajo es realizar solucionar un problema de un proyecto básico de ciencia de datos mediante un Proceso manual, incluidos el análisis de datos, la preparación de datos, el entrenamiento de modelos y la validación. Se requiere la ejecución de cada paso y la transición de un paso a otro, ambas de forma manual. Etapas a realizar:
- Descarga de datos
- Exploración inicial de datos
- Análisis exploratorio de datos (EDA)
- Feature Engineering
- Modelo BaseLine
- Selección del mejor modelo
- Interpretación del mejor modelo.
2. Nivel 0 - MLOps: local y CI/CD (20%)
El objetivo de este trabajo es convertir los procesos realizados manualmente a scripts de python con buenas practicas de código y crear un Demo.
- Gestión de ambientes virtuales, dependencias y Code-quality (linter, formater, isort, mypy, pip-audit, pre-commit)
- Pipeline de entrenamiento Básico (Solución monolito de entrenamiento de modelo)
- Demo Funcional con streamlit (Formulario online)
- Demo Funcional con streamlit (batch)
Proyecto Final
EL objetivo de este trabajo es crear un sistema stand alone de Machine Learning serverless con buenas practicas de desarrollo siguiendo las pautas de MLOps y garantizar:
- Reproducibilidad
- Robusto
- Cumplir con estándares de Calidad de código
- Trabajo en equipo
Se deben crear equipos de 2 personas definir el proyecto que quieren trabajar, para esto deben escribir una descripción del proyecto de máximo una página. El proyecto propuesto debe ser aprobado por el docente.
La propuesta de proyecto debe abarcar los siguientes apartados:
- Descripción del problema: ¿Cuáles son las fuentes de datos (Los datos deben actualizarse constantemente en el tiempo) y el problema de predicción para el que construirá un sistema de aprendizaje automático?
- Datos: ¿Qué datos utilizará y cómo los recopilará?
- Metodología y algoritmo: ¿Qué método(s) o algoritmo(s) propone?
- Nombre de los integrantes del proyecto
Entregar en un archivo en pdf la propuesta.
proyectos de referencia Ref_1, Ref_2, Ref_3
3. Nivel 1 - MLOps: Automatización Experimentación (30%)
Este sera un nuevo proyecto con datos que se actualicen constantemente y garantizar que el proyecto sea reproducible, que pueda mantenerse en el tiempo y escalable, donde a los pasos descritos anteriormente se agregaran los procesos de:
- POC del proyecto en Notebooks
- Creación de scripts de python
- Pruebas unitarias y de integración
- CI/CD
- Experiment tracking
4. Nivel 1 - MLOps: Automatización Completa (30%)
El proceso final del curso sera agregar al proyecto anterior los pasos de:
- Data Validation y Model validation
- Puesta en producción de modelos
- pipeline features
- pipeline training
- pipeline prediction
- Model Monitoring
- Retraining