Sobre el proyecto

Made With ML es un repositorio educativo y curso complementario enfocado en la construcción de aplicaciones de aprendizaje automático de grado productivo. Combina el aprendizaje automático con prácticas de ingeniería de software, guiando a los estudiantes desde la experimentación hasta la implementación y la iteración. El material está organizado como lecciones alojadas en madewithml.com, con el código en este repositorio. Enfatiza la comprensión de principios fundamentales de los conceptos de ML, las mejores prácticas de ingeniería de software, la escalabilidad de cargas de trabajo de ML en Python, la conexión de componentes de MLOps, el paso del desarrollo a la producción y la construcción de flujos de trabajo de CI/CD. El público objetivo incluye ingenieros de software e infraestructura, científicos de datos, egresados universitarios y roles de producto o liderazgo que buscan una base técnica. Las instrucciones de configuración cubren máquinas locales, espacios de trabajo de Anyscale y otras opciones en la nube, Kubernetes o locales. Un cuaderno de Jupyter proporciona un recorrido interactivo de las cargas de trabajo principales de ML, mientras que los scripts de Python reestructurados bajo madewithml/ cubren configuración, datos, evaluación, modelos, predicción, servicio, entrenamiento, ajuste y utilidades. Los flujos de trabajo incluyen entrenamiento y ajuste de hiperparámetros con trabajadores y recursos configurables, seguimiento de experimentos mediante MLflow, evaluación contra un conjunto de datos de retención, inferencia y servicio de modelos. Las pruebas abarcan pruebas de código, datos y modelos con reporte de cobertura. La implementación en producción utiliza Jobs y Servicios de Anyscale, con archivos de configuración de entorno de clúster y cómputo, configuración de autenticación, y comandos de despliegue, consulta, reversión y terminación del servicio. CI/CD se implementa con GitHub Actions: las solicitudes de extracción desencadenan flujos de trabajo de entrenamiento y evaluación que publican resultados como comentarios, y la fusión a main desencadena un flujo de trabajo de servicio que despliega el nuevo servicio. El repositorio también discute el aprendizaje continuo, conectando ejecuciones programadas, tuberías de datos, monitoreo y evaluación en línea. Una FAQ aborda la configuración del kernel del cuaderno de Jupyter. El proyecto se distribuye como código y contenido de curso de código abierto, con una comunidad de decenas de miles de desarrolladores mencionada en el README.