2 puntos por GN⁺ 2025-01-29 | 1 comentarios | Compartir por WhatsApp

Curso de producción de machine learning de Carnegie Mellon University

  • Descripción general del curso

    • Este curso aborda cómo construir, desplegar y mantener modelos de machine learning como productos de software.
    • Cubre todo el ciclo de vida, incluyendo IA responsable, MLOps, seguridad operativa, ciberseguridad, equidad y explicabilidad.
    • Está dirigido a estudiantes con experiencia en ciencia de datos y habilidades básicas de programación.
  • Objetivos del curso

    • Aprender cómo convertir modelos de machine learning en productos, asegurar su calidad y operarlos y mantenerlos a gran escala.
    • Fomentar la colaboración entre ingenieros de software y científicos de datos para construir un entendimiento mutuo necesario para desarrollar sistemas de ML.
    • Es adecuado para estudiantes que estén considerando una carrera como ingenieros de ML.
  • Temas principales

    • Diseño para predicciones erróneas y métodos para garantizar seguridad y protección.
    • Diseño de interfaces de usuario y sistemas que puedan funcionar en entornos reales.
    • Cómo desplegar y actualizar modelos de manera confiable.
    • Cómo detectar problemas de calidad de datos, concept drift y bucles de retroalimentación.
    • Cómo diseñar y probar sistemas de ML a gran escala.
    • Cómo identificar y medir requisitos de calidad importantes más allá de la precisión predictiva del modelo, como equidad, explicabilidad, privacidad, robustez y seguridad.
  • Resultados de aprendizaje

    • Analizar trade-offs al diseñar sistemas de producción que incluyan componentes de ML.
    • Planificar los errores de los componentes de ML e implementar sistemas robustos.
    • Diseñar infraestructura de datos y sistemas para la experimentación.
    • Asegurar la calidad de todo el pipeline de ML.
    • Considerar requisitos a nivel de sistema al construir productos complejos de ML.
    • Comunicarse eficazmente en equipos multidisciplinarios.
  • Prácticas y proyecto

    • Los estudiantes participan en un proyecto para construir, desplegar, evaluar y mantener un servicio de recomendación de películas para 1 millón de usuarios.
  • Clases y prácticas

    • Las clases se imparten los lunes y miércoles, y las prácticas se realizan los viernes en distintos horarios.
    • Se puede participar en actividades de clase a través de Slack, y las grabaciones de las clases están disponibles en Canvas.
  • Evaluación y tareas

    • La evaluación incluye tareas individuales, proyecto grupal, examen parcial, participación, prácticas y quizzes de lectura.
    • Cada tarea proporciona especificaciones claras y distribución de puntajes para que los estudiantes tengan expectativas bien definidas.
  • Trabajo en equipo y colaboración

    • El proyecto en equipo se realiza en grupos de 3 a 5 estudiantes, y el trabajo en equipo es indispensable.
    • Los equipos trabajan de forma independiente, y se recomienda la colaboración dentro de cada equipo.
  • Información adicional

    • Los avisos importantes se comunican por Slack, y se pueden hacer preguntas por correo electrónico y por Slack.
    • Los materiales del curso están publicados en GitHub y también se ofrecen a estudiantes que quieran aprender por su cuenta.

Este curso ofrece habilidades y conocimientos esenciales para estudiantes interesados en desarrollar productos de software con machine learning, y brinda la oportunidad de adquirir experiencia práctica mediante diversos casos reales y proyectos.

1 comentarios

 
GN⁺ 2025-01-29
Comentarios en Hacker News
  • Kafka, Docker, Kubernetes y Jenkins son herramientas estándar de la industria, y se siente refrescante que el enfoque esté en MLOps. Está bueno que no se queden solo en construir modelos, sino que también aborden cómo conectarlos con sistemas reales de producción. También impresiona que cubran explicabilidad, equidad y monitoreo.

    • ¿Será de nivel inicial? Viendo las prácticas, parece que hay mucho que un ingeniero de software de nivel intermedio o un principiante muy motivado puede aprender mediante tutoriales. Git, Flask y la orquestación de contenedores son útiles, pero para alguien que ya trabajó en producción resultan básicos. Da la impresión de que se cubren menos desafíos profundos, como la optimización de redes para entrenamiento distribuido o la gestión de inferencia a gran escala. También me pregunto si eso se verá en el proyecto grupal.
    • También me pregunto qué tan relevantes serán a largo plazo las herramientas que usan. Jenkins está en todos lados, pero ¿no tendría más sentido presentar algo más moderno para CI/CD, como GitHub Actions o ArgoCD? Kubernetes obviamente hay que conocerlo, pero ¿qué pasa con alternativas o herramientas complementarias para despliegues en edge o sistemas serverless? Parece que aquí había una oportunidad de mirar un poco más hacia el futuro.
  • Casi no hay contenido sobre calidad de datos y aparece recién en el capítulo 16... Me pregunto cuánta experiencia práctica en la industria tienen los autores. El 90% del tiempo se va en calidad y limpieza de datos.

  • ¿Alguien conoce bibliografía o cursos sobre cómo construir infraestructura de clústeres para machine learning? Me interesa sobre todo la construcción y escalado de infraestructura de almacenamiento, así como enfoques de networking y scheduling.

  • Me pregunto si hay algún lugar donde seguir esto junto con otras personas que no sean estudiantes.

  • Me pregunto si cualquiera puede inscribirse o si hay que ser admitido en uno de los mejores programas de ciencias de la computación del país.

  • Qué bueno ver este curso aquí. Christian es una gran persona y hace un trabajo excelente. Conozco los inicios de este curso y del libro, y lo puedo recomendar ampliamente.

  • Llevo 9.5 años trabajando en plataformas y sistemas de ML en todo tipo de escalas. El material se ve excelente.

  • Interesante; revisé las prácticas y, como desarrollador full-stack sin mucha experiencia en LLM, ya conozco la mitad (git, flask, kafka, kubernetes) y lo demás es simplemente código. No hay matemáticas complejas relacionadas con ML.

    • ¿Eso significa que ML ops no es un área tan difícil de abordar para un desarrollador común, incluso sin PhD?
  • Me gusta la idea de aprender un solo "Kubernetis".

  • Puede que esté subestimando la complejidad del curso, pero esto suena como un curso introductorio. Honestamente, la mayor parte del contenido, incluso las herramientas de explicación de modelos, se ve bastante simple. Me parece bueno que estén usando herramientas estándar de la industria para la mayoría de los casos de uso.