2 Punkte von GN⁺ 2025-01-29 | 1 Kommentare | Auf WhatsApp teilen

Carnegie Mellon Universitys Kurs zu Machine Learning in der Produktion

  • Kursüberblick

    • Dieser Kurs behandelt, wie Machine-Learning-Modelle als Softwareprodukte entwickelt, bereitgestellt und gewartet werden.
    • Er deckt den gesamten Lebenszyklus ab, einschließlich Responsible AI, MLOps, Sicherheit, Security, Fairness und Erklärbarkeit.
    • Er richtet sich an Studierende mit Erfahrung in Data Science und grundlegenden Programmierkenntnissen.
  • Kursziele

    • Vermittelt wird, wie Machine-Learning-Modelle in Produkte überführt, ihre Qualität sichergestellt und sie im großen Maßstab betrieben und gewartet werden.
    • Der Kurs fördert die Zusammenarbeit zwischen Software Engineers und Data Scientists und schafft das nötige gegenseitige Verständnis zum Aufbau von ML-Systemen.
    • Er eignet sich für Studierende, die eine Laufbahn als ML Engineer in Betracht ziehen.
  • Wichtige Themen

    • Entwurf für fehlerhafte Vorhersagen sowie Methoden zur Gewährleistung von Safety und Security.
    • Entwurf von Benutzeroberflächen und Systemen, die in realen Umgebungen funktionieren.
    • Verfahren für die zuverlässige Bereitstellung und Aktualisierung von Modellen.
    • Methoden zur Erkennung von Problemen bei der Datenqualität, Concept Drift und Feedback Loops.
    • Entwurf und Test großer ML-Systeme.
    • Identifikation und Messung wichtiger Qualitätsanforderungen jenseits der Vorhersagegenauigkeit, etwa Fairness, Erklärbarkeit, Privatsphäre, Robustheit und Sicherheit.
  • Lernergebnisse

    • Analyse von Trade-offs beim Entwurf von Produktionssystemen mit ML-Komponenten.
    • Planung für Fehler von ML-Komponenten und Umsetzung robuster Systeme.
    • Entwurf von Dateninfrastruktur und Systemen für Experimente.
    • Qualitätssicherung für die gesamte ML-Pipeline.
    • Berücksichtigung von Anforderungen auf Systemebene beim Aufbau komplexer ML-Produkte.
    • Effektive Kommunikation in interdisziplinären Teams.
  • Praxis und Projekte

    • Die Studierenden arbeiten an einem Projekt zum Aufbau, zur Bereitstellung, Bewertung und Wartung eines Filmempfehlungsdienstes für 1 Million Nutzer.
  • Unterricht und Übungen

    • Die Vorlesungen finden montags und mittwochs statt, die Übungen freitags zu verschiedenen Zeiten.
    • Über Slack kann an Aktivitäten während des Unterrichts teilgenommen werden, und Vorlesungsaufzeichnungen werden in Canvas bereitgestellt.
  • Bewertung und Aufgaben

    • Die Bewertung erfolgt über Einzelaufgaben, Gruppenprojekte, eine Zwischenprüfung, Beteiligung, Übungen und Lesequizze.
    • Jede Aufgabe bietet klare Spezifikationen und eine Punkteverteilung, damit Studierende eindeutige Erwartungen haben.
  • Teamarbeit und Zusammenarbeit

    • Die Teamprojekte werden in Gruppen von 3 bis 5 Studierenden durchgeführt; Teamarbeit ist dabei essenziell.
    • Die Teams arbeiten eigenständig, Zusammenarbeit innerhalb des Teams wird empfohlen.
  • Weitere Informationen

    • Wichtige Ankündigungen werden über Slack mitgeteilt; Fragen sind per E-Mail und über Slack möglich.
    • Die Kursmaterialien sind öffentlich auf GitHub verfügbar und stehen auch Studierenden zur Verfügung, die im Selbststudium lernen möchten.

Dieser Kurs vermittelt Studierenden, die sich für die Entwicklung von Softwareprodukten mit Machine Learning interessieren, essenzielle Fähigkeiten und Kenntnisse und bietet durch vielfältige reale Beispiele und Projekte die Möglichkeit, praktische Erfahrung zu sammeln.

1 Kommentare

 
GN⁺ 2025-01-29
Hacker-News-Kommentare
  • Kafka, Docker, Kubernetes und Jenkins sind Industriestandard-Tools, und der Fokus auf MLOps wirkt erfrischend. Gut ist, dass es nicht beim Bauen von Modellen bleibt, sondern auch die Anbindung an echte Produktionssysteme behandelt wird. Beeindruckend ist außerdem, dass Erklärbarkeit, Fairness und Monitoring abgedeckt werden.

    • Ist das eher auf Einsteiger-Niveau? Wenn man sich die Übungen ansieht, scheint vieles dabei zu sein, das fortgeschrittene Softwareingenieure oder motivierte Anfänger über Tutorials lernen können. Git, Flask und Container-Orchestrierung sind nützlich, aber für Leute, die bereits in Produktionsumgebungen gearbeitet haben, eher grundlegend. Tiefergehende Herausforderungen wie Netzwerkoptimierung für verteiltes Training oder das Management von Inferenz in großem Maßstab scheinen weniger behandelt zu werden. Ich frage mich, ob das vielleicht in Gruppenprojekten aufgegriffen wird.
    • Ich frage mich auch, wie langfristig relevant die verwendeten Tools sind. Jenkins ist zwar überall, aber wäre es für CI/CD nicht sinnvoller, modernere Dinge wie GitHub Actions oder ArgoCD vorzustellen? Kubernetes muss man natürlich kennen, aber wie sieht es mit Alternativen oder ergänzenden Tools für Edge-Deployments oder serverlose Systeme aus? Es wirkt, als gäbe es hier die Chance, etwas weiter in die Zukunft zu blicken.
  • Es gibt fast nichts zur Datenqualität, und das erst in Kapitel 16 ... ich frage mich, wie viel Praxiserfahrung die Autoren aus der Industrie haben. 90 % der Zeit gehen für Datenqualität und Datenbereinigung drauf.

  • Kennt jemand Literatur oder Kurse zum Aufbau von Machine-Learning-Cluster-Infrastruktur? Mich interessieren vor allem der Aufbau und die Skalierung von Storage-Infrastruktur sowie Ansätze für Networking und Scheduling.

  • Ich frage mich, ob es irgendwo eine Möglichkeit gibt, das zusammen mit anderen Leuten zu verfolgen, die keine Studierenden sind.

  • Ich frage mich, ob sich jeder einschreiben kann oder ob man in einem der führenden Informatikprogramme des Landes aufgenommen sein muss.

  • Schön, diesen Kurs hier zu sehen. Christian ist ein großartiger Mensch und leistet hervorragende Arbeit. Ich kenne die Anfänge dieses Kurses und des Buchs und kann es sehr empfehlen.

  • Ich arbeite seit 9,5 Jahren mit ML-Plattformen und -Systemen in allen Größenordnungen. Das Material sieht großartig aus.

  • Interessant; ich habe mir die Übungen angesehen, und als Full-Stack-Entwickler ohne viel Erfahrung mit LLMs kenne ich schon die Hälfte davon (git, flask, kafka, kubernetes), der Rest ist einfach nur Code. Es gibt keine komplexe Mathematik rund um ML.

    • Bedeutet das, dass ML ops ein Bereich ist, der für normale Entwickler auch ohne PhD gar nicht so schwer zugänglich ist?
  • Mir gefällt die Idee, ein einzelnes „Kubernetis“ zu lernen.

  • Vielleicht unterschätze ich die Komplexität des Kurses, aber das klingt für mich nach einem Einsteigerkurs. Selbst Dinge wie Tools zur Modellerklärung wirken ehrlich gesagt ziemlich einfach. Ich finde es gut, dass für die meisten Anwendungsfälle Industriestandard-Tools verwendet werden.