Clase: 8:00-9:30 AM (Central Time), Martes y Viernes
Campus: Rio Hondo
Formato: Online (Zoom)
Horarios de oficina virtual: Adrian: https://calendly.com/adrian-sanchez-castro/30min Jake: https://calendly.com/jake-d-klein/15min
(Pre)requisitos: Intro a Aprendizaje de Máquina + SQL, Bash/Shell, Python,
Programa(s): Maestría Ciencia de Datos, Maestría Computación, Licenciatura de Ciencia de Datos (tercer año), Licenciatura de Computación (tercer año)
Profesor: Adrian Sanchez-Castro
Email: jorge.sanchez.castro@itam.edu.mx
Profesor Asociado: Jake Klein
Email: jakeklein94@gmail.com
Esta clase tiene como objetivo brindar una introducción a la ingeniería de datos e ingeniería de aprendizaje de máquina para científicos de datos tomando en cuenta las últimas prácticas y tecnologías mayormente adoptadas y validadas por las empresas tecnológicas más maduras del mundo.
El objetivo es (1) dar una perspectiva holística del ecosistema de infraestructura de datos actualizada, (2) contextualizar el trabajo del científico de datos dentro de una organización y (3) desarrollar las habilidades necesarias para diseñar e implementar una infraestructura de datos escalable para resolver un problema de negocio con base en los pilares anteriormente mencionados.
Se estudiará el ciclo de ingeniería de datos a través del análisis "Arquitecturas Modernas de Infraestructura de Datos" planteado por Matt Bornstein, Martin Casado, y Jennifer Li en su artículo Emerging Architectures for Modern Data Infrastructure enfatizando el nuevo paradigma de cómputo en la nube sin servidores (serverless computing) y el surgimiento de Servicios de Software (SaaS) auto-gestionables (managed services) especializados en sistemas de análisis de datos y de operación de aprendizaje de máquina.
Se diseñará y desarrollará una arquitectura de producto de datos bajo el análisis del trade-off entre la agilidad de producción y la deuda técnica que suele incurrirse por la falta diseños robustos para la manutención y escalamiento de arquitecturas de productos de datos. Inspirado en el debate presentado en el artículo Hidden Technical Debt in Machine Learning Systems por investigadores del equipo de Google .
Se contextualizará el trabajo del científico de datos dentro de una organización, donde la toma decisiones, basada en evidencia, es la tarea principal de un equipo (de datos) cuyos roles se han especializado en los últimos años para tener responsabilidades y habilidades más enfocadas y específicas dentro del ciclo de ingeniería de datos.
Horario: Martes y Viernes, 8.00 AM - 9.30 AM.
Las clase tendrán un enfoque de learning by doing:
- La clase será impartida durante dos sesiones de 1.5 horas por clase con un break de 5 minutos.
- La primera sesión estará enfocada a teoría, discusión en clase y, dependiendo del tema, se trabajarán algunos ejercicios básicos de programación.
- La segunda sesión estará enfocada a aplicar los conceptos aprendidos en la sesión anterior en un ambiente real en la nube. Se trabajará en un ejemplo end-to-end durante la clase para que los alumnos puedan replicarlo en su proyecto final (que podrá ir completando en el transcurso del semestre.
La clase tendrá como objetivo la implementación de un proyecto de "principio a fin" de una arquitectura de producto de datos en la nube a través de checkpoints de avance durante el transcurso del semestre.
Se formarán equipos de 4 personas que se organizarán durante el primer día de clase tomando en cuenta la experiencia y la educación previa de los estudiantes. La idea es tener grupos mixtos de disciplinas y experiencias para reflejar y emular la manera en como un científico de datos trabaja en el mundo real laboral.
Habrán 6 checkpoints que trendrán que ser reflejados en un repositorio de github.
- Definición de projecto en la nube y ambiente de repositorio
- Manual ETL/ELT
- Modelo entrenado en la nube
- Puesta en marcha de Airflow
- Automatización del ETL/ELT
- Automatización de modelo de ML en la nube.
- Cada checkpoint contribuirá a un punto de la calificación total. Entre ellos podrán sumar un total de 3 de los diez puntos de calificación.
- Los 7 puntos restantes serán ponderados a través de una presentación final y un entregable
- *Cada checkpoint y la presentación final serán calculados por rúbricas disponibles a los estudiantes.
- Arquitectura de Producto de Datos: Arquitecturas Emergentes para la Infraestructura de Datos Moderna
- Nube e Infrastructura de datos en la nube
- almacén de objetos
- máquinas virtuales
- almacén de datos
- APIs
- APIs para accesar datos
- APIs para accesar a servicios
- Almacén de Objetos (Data Lake)
- Bases de Datos y ETL
- Almacén de datos y ELT
- Almacén de Datos (Data Warehouse): BigQuery
- Ingeniería de datos para grandes volúmenes de datos: Spark vs BigQuery
- Sistemas de Aprendizaje de Maquina (en la nube)
- AutmoML como baseline
- BigQuery ML
- Notebooks vs Py-Script: Sagemaker vs Vertex AI
- Empaquetamiento de modelo (Docker vs "Python-package")
- Máquinas Virtuales con aceleradores GPU/TPU
- Orquestación de Aprendizaje de Maquina: MLOps (CI/CD)
- Airflow vs Kubeflow vs Cloud Pipelines (AI Pipelines)
- Business Analytics
- Looker
- Analítica de Ingeniería de Aprendizaje de Máquina:
- Producción
- Monitorización
- Data Strategy
- Choose good data over complex models
- Don't fight your infrastructure
- Use managed services over custom tools
- Storage is cheap; people are not
- Bring data into your DB/DW as raw as possible and transform with SQL/common tools
- Choose ELT over ETL
- Don't duplicate tools
- Choose flexible software over tools that support specific use cases
- Avoid bulky, legacy tech
- HDFS is no longer cutting edge
- Build for the cloud; avoid on-prem
- Build, measure, learn
- Work quickly and iterate often
- No question is dumb
- No condescending attitude is going to be tolerated
- Please respect/praise other’s work
- Please share your thoughts/feedback
- Please ask for help and help each other
- It’s all about attitude; if you don’t make mistakes, you are not trying hard enough
- New York Times
- Amazon
- Walmart
- Nike
- Memo González - Ingeniero de Aprendizaje de Maquina - Google
- Anders Christiansen - VP de Ciencia de Datos - Kavak
- Alejandra Garay - Ingeniera de Datos Lead - Cinépolis
- Gustavo Salaiz - Director de Datos - Albo
- Gerardo Mathus - Director de Ingeniería - Nextia
- Esteban Wasson - Manager de Producto - CoverWallet - Profesor Data Visualization and Analytics - Yeshiva University
- Santiago Battezzati - Científico de datos - OPI