SlideShare ist ein Scribd-Unternehmen logo
1 von 80
Downloaden Sie, um offline zu lesen
ML auf die Schiene gebracht 1 | 73
Projekte. Beratung. Spezialisten.
ML auf die Schiene gebracht
Thementag „Ist mein Zug pünktlich?“
16.08.2022
Autor: Christoph Schmidt-Casdorff
ML auf die Schiene gebracht 2 | 73
Agenda
Mit welchen Fragen beschäftigen wir uns?
Runtime Data Pipeline
ML-Modelle zur Laufzeit – MLflow
Monitoring
Gesamtarchitektur
Take Home
ML auf die Schiene gebracht 3 | 73
Agenda
Mit welchen Fragen beschäftigen wir uns?
Runtime Data Pipeline
ML Modelle zur Laufzeit – MLflow
Monitoring
Gesamtarchitektur
Take Home
ML auf die Schiene gebracht 4 | 73
https://www.bahnbilder.de/1200/die-grosse-abfahrtstafel-leipzig-hbf-732028.jpg
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 5 | 73
Abfahrtstafeln der Bahn
Momentaufnahme der (in nächster Zeit) abfahrenden Züge
u Es sind Verspätungen und allgemeine Informationen zu finden
u … es kann in einigen Minuten ganz anders aussehen
§ Es handelt sich immer nur um eine Momentaufnahme
Sobald ein Zug abgefahren ist, verschwindet er von der Abfahrtstafel
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 6 | 73
Idee für unser Bespiel
Wir laden Abfahrtstafeln der Deutschen Bahn
Wir setzen ein ML-Modell auf,
u welches die Verspätungen im Zielbahnhof vorhersagt
u Das Modell liefert einen kontinuierlichen Strom an Vorhersagen
§ Zu jeder Abfahrt wird eine Vorhersage getroffen
Wir setzten kein(e) Frontend/Oberfläche um
u Endpunkt ist der Strom der Vorhersagen
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 7 | 73
Unsere Daten – Abfahrtstafeln
Deutsche Bahn bietet eine Menge an öffentlichen Daten an
u https://data.deutschebahn.com/dataset.html
u Abfahrtsmonitor: https://iris.noncd.db.de/wbt/js/index.html?bhf=EDG
Das Portal DBF ist ein (inoffizieller) Abfahrtsmonitor
u https://finalrewind.org/projects/Travel-Status-DE-IRIS/
u DBF stellt einen Open-Source-Client zur Abfrage von Abfahrttafeln bereit
§ https://github.com/derf/db-fakedisplay/blob/master/README.md
§ REST-API
§ Docker-Image verfügbar (https://hub.docker.com/r/derfnull/db-fakedisplay)
u DBF basiert auf den öffentlichen Schnittstellen der Bahn
u Die Schnittstellen DBF sind nicht beliebig stark zu frequentieren
§ Netiquette
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 8 | 73
Holzwickede, 20.6.2022 12:15
{ "departures": [
{ "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
},
{ "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90331", "destination": "Soest", "platform": "4",
"delayArrival": 0,"delayDeparture": 0, "scheduledArrival": "12:26","scheduledDeparture": "12:27","scheduledPlatform": "4"
},
{ "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90330", "destination": "Dortmund Hbf", "platform": "5",
"delayArrival": 1,"delayDeparture": 1,"scheduledArrival": "12:31", "scheduledDeparture": "12:32","scheduledPlatform": "5"
},
. . . . . .
]}
ML auf die Schiene gebracht 9 | 73
Holzwickede, 20.6.2022 12:17
{ "departures": [
{ "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
},
{ "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90331", "destination": "Soest", "platform": "4",
"delayArrival": 1,"delayDeparture":1, "scheduledArrival": "12:26","scheduledDeparture": "12:27","scheduledPlatform": "4"
},
{ "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90330", "destination": "Dortmund Hbf", "platform": "5",
"delayArrival": 2,"delayDeparture": 2,"scheduledArrival": "12:31", "scheduledDeparture": "12:32","scheduledPlatform": "5"
},
. . . . . .
]}
ML auf die Schiene gebracht 10 | 73
Agenda
Mit welchen Fragen beschäftigen wir uns?
Runtime Data Pipeline
ML Modelle zur Laufzeit – MLflow
Monitoring
Gesamtarchitektur
Take Home
ML auf die Schiene gebracht 11 | 73
Was ist zu tun?
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
Laufzeitumgebung eines Data-Science-Systems
Runtime
CI/CD
Code
Daten
Data Science
Deployment
Modell
RT Data Pipeline
RT Model
Monitoring &
Modellmetriken
Trainingsdaten
Externe
Datenquellen
Vorhersagen
Überwachung
neue Trainingsdaten
Trigger bei Verschlechterung
des Modells
Regeln zur
Preparation
Metriken
ML auf die Schiene gebracht 13 | 73
Eigenschaften des Systems
Stetig einkommende Daten
u Diese sollen sofort beim Eintreffen verarbeitet werden
=> Echtzeitverarbeitung und Streaming
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 14 | 73
Eigenschaften des Systems
Echtzeitverarbeitung und Streaming
Datenmenge ist nicht begrenzt und kann beliebig groß werden
=> (Horizontale) Skalierbarkeit
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 15 | 73
Eigenschaften des Systems
Echtzeitverarbeitung und Streaming
(Horizontale) Skalierbarkeit
Daten kommen aus beliebig vielen und unterschiedlichen Datenquellen
u Daten werden über REST-API und Filesystem/Datenbank eingespeist
§ Historische Daten befinden sich im Filesystem
u Daten müssen zusammengeführt werden
=> Verteilte Verarbeitung der Daten
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 16 | 73
Eigenschaften des Systems
Echtzeitverarbeitung und Streaming
(Horizontale) Skalierbarkeit
Verteilte Verarbeitung der Daten
System muss mit zeitweise starkem Datenaufkommen klarkommen
=> Pufferungsmechanismus (Backpressure)
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 17 | 73
Eigenschaften des Systems
Echtzeitverarbeitung und Streaming
(Horizontale) Skalierbarkeit
Verteilte Verarbeitung der Daten
Pufferungsmechanismus (Backpressure)
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 18 | 73
Schritt 1: Einlesen der Abfahrtstafeln
Abfahrts-
tafeln
Annahme
Abfahrtstafeln
DB
Iris
DB
Iris
DB
Iris
speichert
streamt
Streaming Kanal/Topic
• Persistent
• Geordnet
• Publish/Subscribe
Processor
• Verarbeitung/Transformation
von Daten aus Topic
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 19 | 73
Holzwickede, 20.6.2022 12:15
{ "departures": [
{ "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
},
{ "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90331", "destination": "Soest", "platform": "4",
"delayArrival": 0,"delayDeparture": 0, "scheduledArrival": "12:26","scheduledDeparture": "12:27","scheduledPlatform": "4"
},
{ "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90330", "destination": "Dortmund Hbf", "platform": "5",
"delayArrival": 1,"delayDeparture": 1,"scheduledArrival": "12:31", "scheduledDeparture": "12:32","scheduledPlatform": "5"
},
. . . . . .
]}
ML auf die Schiene gebracht 20 | 73
Abfahrten pro Zug
{"station" : "Holzwickede", timestamp: "2022-06-20 12:15:00 ", "train": "RE 7", "trainClasses": ["N"],
"trainNumber": "32557 ", "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
},
{"station" : "Holzwickede„, timestamp: "2022-06-20 12:17:00 ", "train": "RE 7", "trainClasses": ["N"],
"trainNumber": "32557 ", "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
}
{"station" : "Holzwickede„, timestamp: "2022-06-20 12:15:00", "train": "RB 59", "trainClasses": ["N"],
"trainNumber": "90331", "destination": "Soest", "platform": "4",
"delayArrival": 0,"delayDeparture":1, "scheduledArrival": "12:26","scheduledDeparture": "12:27","scheduledPlatform": "4"
},
{"station" : "Holzwickede„, timestamp: "2022-06-20 12:17:00 ", "train": "RB 59", "trainClasses": ["N"],
"trainNumber": "90331", "destination": "Soest", "platform": "4",
"delayArrival": 1,"delayDeparture":1, "scheduledArrival": "12:26","scheduledDeparture": "12:27","scheduledPlatform": "4"
}, . .
ML auf die Schiene gebracht 21 | 73
Schritt 2: Aufspalten pro Zug und Bahnhof
Abfahrts-
tafeln
Split
pro Zug
90387
90388
90343
90389
Split pro
Tag/Bahnhof/Zug
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 22 | 73
Wann ist ein Zug abgefahren?
29.05.2022
Dortmund
90387
Enthält viele Messungen
pro Tag/Bahnhof/Zug
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 23 | 73
Abfahrten pro Zug
{"station" : "Holzwickede", timestamp: "2022-06-20 12:13:00 ", "train": "RE 7", "trainClasses": ["N"],
"trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
},
{"station" : "Holzwickede ", timestamp: "2022-06-20 12:15:00 ", "train": "RE 7", "trainClasses": ["N"],
"trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
},
{"station" : "Holzwickede ", timestamp: "2022-06-20 12:17:00 ", "train": "RE 7", "trainClasses": ["N"],
"trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
},
{"station" : "Holzwickede", timestamp: "2022-06-20 12:19:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557,
"destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
} ,
{"station" : "Holzwickede", timestamp: "2022-06-20 12:21:00", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557,
"destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
}
Wie stellen wir fest, dass ein Zug den Bahnhof verlassen hat?
ML auf die Schiene gebracht 24 | 73
Abfahrten
Wie stellen wir fest, dass ein Zug den Bahnhof verlassen hat?
Idee:
Warte bis zu einem Zug und Bahnhof keine Meldung mehr kommt
=> dann gilt der Zug als abgefahren
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 25 | 73
Windowing
Daten strömen stetig ein
u Es ist nicht klar, wann zusammengehörige Daten vollständig verarbeitet sind
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 26 | 73
Windowing
Daten strömen stetig ein
Welche Zeitpunkte sind zu beachten?
u Ereigniszeitpunkt – Wann hat das Ereignis tatsächlich stattgefunden?
u Verarbeitungszeitpunkt – Wann wurde das Ereignis im System verarbeitet?
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 27 | 73
Windowing
Daten strömen stetig ein
Ereigniszeitpunkt und Verarbeitungszeitpunkt
Wir benötigen Algorithmen, die
u Abfahrten sammeln, bis n–Minuten keine Abfahrt für einen Zug und Bahnhof
gemeldet werden
§ Ereigniszeitpunkt
u eine Karenzzeit von x-Minuten berücksichtigen
§ Verarbeitungszeitpunkt kann sich verzögern
=> Entscheidung über Abfahrtszeitpunkt eine Zuges in einem Bahnhof
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 28 | 73
Windowing – Bestimmung einer Abfahrt
29.05.2022
Dortmund
90387
Ermittlung
Abfahrten Abfahrten
Abfahrt pro
Tag/Bahnhof/Zug
Bestimmung der Abfahrten
via windowing
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 29 | 73
Abfahrten pro Zug
{"station" : "Holzwickede", timestamp: "2022-06-20 12:13:00 ", "train": "RE 7", "trainClasses": ["N"],
"trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
},
{"station" : "Holzwickede ", timestamp: "2022-06-20 12:15:00 ", "train": "RE 7", "trainClasses": ["N"],
"trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
},
{"station" : "Holzwickede ", timestamp: "2022-06-20 12:17:00 ", "train": "RE 7", "trainClasses": ["N"],
"trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
},
{"station" : "Holzwickede", timestamp: "2022-06-20 12:19:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557,
"destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
} ,
{"station" : "Holzwickede", timestamp: "2022-06-20 12:21:00", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557,
"destination": "Krefeld Hbf", "platform": "3",
"delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3"
}
12:28 wurde entschieden : Zug ist um 12:21 abgefahren
ML auf die Schiene gebracht 30 | 73
Abfahrten sind potentielle Trainingsdaten
29.05.2022
Dortmund
90387
Ermittlung
Abfahrten Abfahrten
pro Zug
Speichert
mgl. Trainingsdaten
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 31 | 73
Wir haben wir es gemacht - Data Pipeline
ML auf die Schiene gebracht 32 | 73
Wie haben wir es gemacht?
Wir haben eine on-premise-Lösung umgesetzt.
u Wir haben keine Cloud-Plattform wie AWS eingesetzt
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 33 | 73
Wie haben wir es gemacht?
Wir haben eine on-premise-Lösung umgesetzt.
Wir setzen Kafka als Plattform für die Data Pipeline ein
u Kafka besitzt die geforderten Eigenschaften von Hause aus
§ Streaming
§ Skalierbarkeit
§ Backpressure
§ Windowing
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 34 | 73
Wie haben wir es gemacht?
Wir haben eine on-premise-Lösung umgesetzt.
Wir setzen Kafka als Plattform für die Data Pipeline ein
Wir setzen Kafka zur verteilten Verarbeitung
u Sortierung / Gruppierung ist bei großen Datenbeständen anspruchsvoll
u Kafka unterstützt die Gruppierung von Streamingdaten zur Laufzeit
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 35 | 73
Wie haben wir es gemacht?
Wir haben eine on-premise-Lösung umgesetzt.
Wir setzen Kafka als Plattform für die Data Pipeline ein
Wir setzen Kafka zur verteilten Verarbeitung
Wir setzen Kafka als Komponente zur Daten-Einspeisung
u Optimal, um unterschiedlichen Datenquellen + Geschwindigkeiten zu koordinieren
u Beliebig skalierbar
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 36 | 73
Wie haben wir es gemacht?
Wir haben eine on-premise-Lösung umgesetzt.
Wir setzen Kafka als Plattform für die Data Pipeline ein
Wir setzen Kafka zur verteilten Verarbeitung
Wir setzen Kafka als Komponente zur Daten-Einspeisung
Kafka zur bietet windowing-Funktionalität an
u Bestimmung der Abfahrten pro Zug und Bahnhof
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 37 | 73
Wie haben wir es gemacht?
Wir haben eine on-premise-Lösung umgesetzt.
Wir setzen Kafka als Plattform für die Data Pipeline ein
Wir heben Rohdaten auf
u Vielleicht ergeben sich später andere Fragestellungen
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 38 | 73
Wie haben wir es gemacht?
Wir haben eine on-premise-Lösung umgesetzt.
Kafka als Plattform für die Data Pipeline ein
Wir heben Rohdaten auf
Wir speichern Ergebnisse der Data Pipeline als mögliche Trainingsdaten
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 39 | 73
Wie haben wir es gemacht?
Wir haben eine on-premise-Lösung umgesetzt.
Kafka als Plattform für die Data Pipeline ein
Wir heben Rohdaten auf
Wir speichern Ergebnisse der Data Pipeline als mögliche Trainingsdaten
Unsere Abfahrtszeiten sind so genau, wie die Abfragezyklen bei der DB
u Derzeit wird ca. alle 3 Min ein Bahnhof angefragt
u Besser sind unsere Abfahrtszeiten damit auch nicht
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 40 | 73
Agenda
Mit welchen Fragen beschäftigen wir uns?
Runtime Data Pipeline
ML-Modelle zur Laufzeit – MLflow
Monitoring
Gesamtarchitektur
Take Home
ML auf die Schiene gebracht 41 | 73
Wie haben wir es gemacht - MLOps
https://ml-ops.org/
Laufzeitumgebung eines Data-Science-Systems
Runtime
CI/CD
Code
Daten
Data Science
Deployment
Modell
RT Data Pipeline
RT Model
Monitoring &
Modellmetriken
Trainingsdaten
Externe
Datenquellen
Vorhersagen
Überwachung
neue Trainingsdaten
Trigger bei Verschlechterung
des Modells
Regeln zur
Preparation
Metriken
ML auf die Schiene gebracht 43 | 73
Problemstellung
Nahtloser Übergang eines ML-Modells von Data Science bis zur Produktion
u Wie wechselt ein ML-Modell die unterschiedlichen Umgebungen?
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 44 | 73
Problemstellung
Nahtloser Übergang eines ML-Modells von Data Science bis zur Produktion
ML-Modell ist in einen CI/CD-Prozess zu integrieren
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 45 | 73
Wie haben wir es gemacht?
Wir haben uns für eine Plattform namens MLflow entschieden
u https://mlflow.org/ von DataBricks
MLflow ist speziell für die Prozesse in MLOps entworfen worden
u Nahtloses Zusammenspiel der einzelnen Aufgaben/Phasen
All das kann auch mit anderen Mitteln/Tools umgesetzt werden
u Umsetzung mit docker
§ Die Integration der einzelnen MLOps-Phasen muss ausprogrammiert werden
u Einsatz anderer MLOps Tools
§ DVC
u Explizite Re-Programmierung der ML-Modelle
§ Spark, Kafka, … besitzen eigene ML-Programmiermodelle
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 46 | 73
Konzepte von MLflow
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 47 | 73
MLflow
MLflow ist eine Open-Source-Plattform, …
u um den ML-Lebenszyklus zu verwalten
§ Einschließlich von ML-Experimenten
u die die Reproduzierbarkeit von ML-Modellen gewährleistet
u die das Deployment von ML-Modellen ermöglicht
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 48 | 73
MLflow
MLflow ist eine Plattform, um den Lebenszyklus eines ML-Modells
zu verwalten
MLflow Model & Projects
u definieren universelles Austauschformat für ML-Projekte
§ Modell inkl. Algorithmus
§ Metriken müssen geprüft werden
§ Trainings- und Testdaten
§ Software, in der das Modell geschrieben ist, ist verfügbar
§ Code zum Testen des Modells
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 49 | 73
MLflow
MLflow ist eine Plattform, um den Lebenszyklus eines ML-Modells
zu verwalten
MLflow Model & Projects
u definieren universelles Austauschformat für ML Projekte
u Verstecken die Abhängigkeit zu ML Frameworks
u Ermöglichen das Deployment auf unterschiedlichen Ausführungsumgebungen
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 50 | 73
MLflow – take home
MLflow ist eine Plattform um den Lebenszyklus eines ML-Modells
zu verwalten
ML-Modelle als Softwareprojekte: MLflow Model & Projects
MLflow Tracking-Server-Komponente
u Verwaltet Experimente
§ Data Science kann Experimente auf den Tracking-Server laden
u Experimente können veröffentlicht werden
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 51 | 73
MLflow – take home
MLflow ist eine Plattform um den Lebenszyklus eines ML-Modells
zu verwalten
ML-Modelle als Softwareprojekte : MLflow Model & Projects
Verwaltung von Experimenten : MLflow Tracking Server
MLflow Registry Server
u Server-Komponente
u Verwaltet veröffentlichte ML-Modelle
u Bietet Build und Ausführung der Modelle an
u Bietet ‚staging‘-Konzept an
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 52 | 73
MLflow – Gesamtbild
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 53 | 73
Experiment
Deployment
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
https://www.statworx.com/wp-content/uploads/IC-24_MLFlow_Folie3-1024x576.jpeg
ML auf die Schiene gebracht 54 | 73
MLflow – take home
MLflow ermöglicht eine nahtlose Entwicklung eines ML-Modells
u ML Frameworks und Modellparameter werden durch Data Science definiert
u Keine Re-Programmierung
MLflow ermöglicht eine durchgängige Beschreibung eines ML-Modells
u Keine Re-Programmierung
u Definierte Laufzeitumgebung
MLflow unterstützt einen CI/CD – Prozess für ML-Modelle
u ML-Modelle als Software-Artefakte
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 55 | 73
Wie haben wir es gemacht?
Batch/Streaming Scoring – Vorhersagen aus Streaming-Daten
Abfahrten
pro Zug
REST
-API
Abfahrten mit
Vorhersage
Vorhersage Docker Container
mit ML-Modell
1
2
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 56 | 73
Bemerkungen zu CI/CD
MLflow Projects integrieren sich nahtlos in CI/CD-Tools
u Git-basiert
u API, um Modelle zu testen
u API, um Modelle nach Model Registry zu laden
u API, um Modelle zu in ‚stages‘ zu verscheiden
u API, um Modelle zu laden und deployen
Strategien für Test und Auslieferung sind projekt-/unternehmensspezifisch
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 57 | 73
Agenda
Mit welchen Fragen beschäftigen wir uns?
Runtime Data Pipeline
ML Modelle zur Laufzeit - MLflow
Monitoring
Gesamtarchitektur
Take Home
ML auf die Schiene gebracht 58 | 73
Wie haben wir es gemacht - Monitoring
ML auf die Schiene gebracht 59 | 73
Monitoring
neuen Trainingsdaten
Ermittlung
Abfahrten
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 60 | 73
Monitoring
neuen Trainingsdaten
Ermittlung
Abfahrten
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
Zyklische Berechnung Metriken auf
neuen Trainingsdaten
Apache
Airflow
ML auf die Schiene gebracht 61 | 73
Monitoring
Apache
Airflow
neuen Trainingsdaten
Ermittlung
Abfahrten
Zyklische Berechnung Metriken auf
neuen Trainingsdaten
Schlechte
Performance
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 62 | 73
Agenda
Mit welchen Fragen beschäftigen wir uns?
Runtime Data Pipeline
ML Modelle zur Laufzeit – MLflow
Monitoring
Gesamtarchitektur
Take Home
ML auf die Schiene gebracht 63 | 73
Gesamtüberblick
DB Iris
DB Iris
DB Iris
Kafka
Kafka
Kafka
Abfahrten
Abfahrten
Abfahrten
Docker +
ML Model
Docker +
ML Model
Docker +
ML-Modell
Vorhersage
Abfahrten mit
Vorhersage
Abfahrten mit
Vorhersage
Abfahrten mit
Vorhersage
Daten-
vorbereitung
Daten-
einspeisung
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
Kontinuierlicher Strom an
Vorhersagen
ML auf die Schiene gebracht 64 | 73
Gesamtüberblick
DB Iris
DB Iris
DB Iris
Kafka
Kafka
Kafka
Abfahrten
Abfahrten
Abfahrten
Docker +
ML Model
Docker +
ML Model
Docker +
ML-Modell
Vorhersage
Abfahrten mit
Vorhersage
Abfahrten mit
Vorhersage
Abfahrten mit
Vorhersage
Daten-
vorbereitung
Daten-
einspeisung
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
Data Pipeline
ML auf die Schiene gebracht 65 | 73
Gesamtüberblick
DB Iris
DB Iris
DB Iris
Kafka
Kafka
Kafka
Abfahrten
Abfahrten
Abfahrten
Docker +
ML Model
Docker +
ML Model
Docker +
ML-Modell
Apache
Airflow
Vorhersage
Abfahrten mit
Vorhersage
Abfahrten mit
Vorhersage
Abfahrten mit
Vorhersage
Daten-
vorbereitung
Daten-
einspeisung
Metriken auf
neuen Trainingsdaten
Schlechte
Performance
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 66 | 73
experiment
Deployment
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 67 | 73
Gesamtüberblick
DB Iris
DB Iris
DB Iris
Kafka
Kafka
Kafka
Abfahrten
Abfahrten
Abfahrten
Docker +
ML Model
Docker +
ML Model
Docker +
ML-Modell
Apache
Airflow
Vorhersage
Abfahrten mit
Vorhersage
Abfahrten mit
Vorhersage
Abfahrten mit
Vorhersage
Daten-
vorbereitung
Daten-
einspeisung
Metriken auf
neuen Trainingsdaten
Periodische Re-Training
Schlechte
Performance
Deployment
Neue Trainingsdaten
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 68 | 73
Agenda
Mit welchen Fragen beschäftigen wir uns?
Runtime Data Pipeline
ML-Modelle zur Laufzeit – MLflow
Monitoring
Gesamtarchitektur
MLOps in der Cloud
Take Home
ML auf die Schiene gebracht 69 | 73
Data Pipeline in der Cloud – Wie macht es AWS ?
AWS (Amazon Web Services) bietet unterschiedliche Streamingplattformen an
u Apache Kafka
u AWS Kinesis
Der Aufbau der Data Pipeline ist konzeptionell gleich
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 70 | 73
MLOps in der Cloud – Wie macht es AWS?
AWS (Amazon Web Services) bietet die MLOps–Plattform SageMaker an
u … managed machine learning Service
u … unterstützt den vollständigen MLOps-Prozess
SageMaker bietet
u SageMaker Studio/Notebook zur Exploration
u .. viele bereitgestellte Algorithmen, Notebooks, Lösungsschablonen
u … Konzepte, um Modelle zu speichern und transferieren/deployen
u … unterschiedliche Laufzeitmodelle
MLflow lässt Modelle nach SageMaker deployen
u … unterstützt das SageMaker-Format
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 71 | 73
Agenda
Mit welchen Fragen beschäftigen wir uns?
Runtime Data Pipeline
ML-Modelle zur Laufzeit – MLflow
Monitoring
Gesamtarchitektur
Take Home
ML auf die Schiene gebracht 72 | 73
Take Home
Wir haben MLOps mit Hilfe von Kafka und MLflow ungesetzt
u … der fehlenden MLOps-Prozess hemmte eine geschmeidige Entwicklung
MLflow hat sich bewährt
u … die Phasenübergänge sind nahtlos
Was fehlt noch?
u Umsetzung des Monitoring mit Apache Airflow
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 73 | 73
Take Home
Wir wollen die Umsetzung des Bahntrackers in einem WS vorstellen
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 74 | 73
Backup
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 75 | 73
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 76 | 73
MLflow Backend Registry Stores
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 77 | 73
MLflow – ML Projects
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
ML auf die Schiene gebracht 78 | 73
MLflow – ML Projects
Tools unterscheiden sich in der Verarbeitung des Test-/Trainingsdaten
Ergebnisse hängen von Environment ab
u Versionen der Tools/Libraries
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
MLflow
ML Projects ist ein Sub-Project von MLflow
ML Projects ist eine Format, um für Data Science Code
ML Projects ist self-contained
u Bündelt alle Informationen, um das Tools und Environment wiederherzustellen
ML Project definiert, wie das ML-Modell paketiert wird
u Conda, Docker, R
ML Projects kann alle Abhängigkeiten im Ziel-Umgebung installieren
u Sichert exakt gleiche Laufzeitumgebung zu
ML Projects ist i.d.R. ein Git-Repository
u Integriert sich in CI/CD-Tools
MLflow übernimmt die Ausführung/Build eines ML Projects
u Ein ML Project kann aus mehreren Experimenten bestehen
ML Projects ist Vorrausetzung für
u Vergleichbarkeit von ML-Modellen
u Die Auslieferung/Deployment von ML-Modellen
ML auf die Schiene gebracht 80 | 73
Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur
Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home

Weitere ähnliche Inhalte

Ähnlich wie Thementag 2022 04 ML auf die Schiene gebracht.pdf

Monitoring von SAP mit check_sap_health
Monitoring von SAP mit check_sap_healthMonitoring von SAP mit check_sap_health
Monitoring von SAP mit check_sap_healthGerhard Lausser
 
Daten natuerlich modellieren und verarbeiten mit Neo4j
Daten natuerlich modellieren und verarbeiten mit Neo4jDaten natuerlich modellieren und verarbeiten mit Neo4j
Daten natuerlich modellieren und verarbeiten mit Neo4jPatrick Baumgartner
 
Deutsche Bahn - Wie Graphen zur Zuverlässigkeit der Bahn beitragen
Deutsche Bahn - Wie Graphen zur Zuverlässigkeit der Bahn beitragenDeutsche Bahn - Wie Graphen zur Zuverlässigkeit der Bahn beitragen
Deutsche Bahn - Wie Graphen zur Zuverlässigkeit der Bahn beitragenNeo4j
 
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...AboutYouGmbH
 
FMK2018- Kalender in FileMaker Otmar Kramis
FMK2018- Kalender in FileMaker Otmar KramisFMK2018- Kalender in FileMaker Otmar Kramis
FMK2018- Kalender in FileMaker Otmar KramisVerein FM Konferenz
 
20160105 forecasting eines e cars v04
20160105 forecasting eines e cars v0420160105 forecasting eines e cars v04
20160105 forecasting eines e cars v04Wilson Maluenda
 
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaCloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaQAware GmbH
 
Analytics meets Big Data – R/Python auf der Hadoop/Spark-Plattform
Analytics meets Big Data – R/Python auf der Hadoop/Spark-PlattformAnalytics meets Big Data – R/Python auf der Hadoop/Spark-Plattform
Analytics meets Big Data – R/Python auf der Hadoop/Spark-PlattformRising Media Ltd.
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafkagedoplan
 
Spatial Modelling with OGD and OSM data - UNIGIS Workshop, Salzburg
Spatial Modelling with OGD and OSM data - UNIGIS Workshop, SalzburgSpatial Modelling with OGD and OSM data - UNIGIS Workshop, Salzburg
Spatial Modelling with OGD and OSM data - UNIGIS Workshop, SalzburgMartin L
 

Ähnlich wie Thementag 2022 04 ML auf die Schiene gebracht.pdf (11)

Monitoring von SAP mit check_sap_health
Monitoring von SAP mit check_sap_healthMonitoring von SAP mit check_sap_health
Monitoring von SAP mit check_sap_health
 
Spark vs. PL/SQL
Spark vs. PL/SQLSpark vs. PL/SQL
Spark vs. PL/SQL
 
Daten natuerlich modellieren und verarbeiten mit Neo4j
Daten natuerlich modellieren und verarbeiten mit Neo4jDaten natuerlich modellieren und verarbeiten mit Neo4j
Daten natuerlich modellieren und verarbeiten mit Neo4j
 
Deutsche Bahn - Wie Graphen zur Zuverlässigkeit der Bahn beitragen
Deutsche Bahn - Wie Graphen zur Zuverlässigkeit der Bahn beitragenDeutsche Bahn - Wie Graphen zur Zuverlässigkeit der Bahn beitragen
Deutsche Bahn - Wie Graphen zur Zuverlässigkeit der Bahn beitragen
 
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
Dr. Andreas Lattner - Aufsetzen skalierbarer Prognose- und Analysedienste mit...
 
FMK2018- Kalender in FileMaker Otmar Kramis
FMK2018- Kalender in FileMaker Otmar KramisFMK2018- Kalender in FileMaker Otmar Kramis
FMK2018- Kalender in FileMaker Otmar Kramis
 
20160105 forecasting eines e cars v04
20160105 forecasting eines e cars v0420160105 forecasting eines e cars v04
20160105 forecasting eines e cars v04
 
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und GrafanaCloud Observability mit Loki, Prometheus, Tempo und Grafana
Cloud Observability mit Loki, Prometheus, Tempo und Grafana
 
Analytics meets Big Data – R/Python auf der Hadoop/Spark-Plattform
Analytics meets Big Data – R/Python auf der Hadoop/Spark-PlattformAnalytics meets Big Data – R/Python auf der Hadoop/Spark-Plattform
Analytics meets Big Data – R/Python auf der Hadoop/Spark-Plattform
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Spatial Modelling with OGD and OSM data - UNIGIS Workshop, Salzburg
Spatial Modelling with OGD and OSM data - UNIGIS Workshop, SalzburgSpatial Modelling with OGD and OSM data - UNIGIS Workshop, Salzburg
Spatial Modelling with OGD and OSM data - UNIGIS Workshop, Salzburg
 

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH

Mehr von IKS Gesellschaft für Informations- und Kommunikationssysteme mbH (20)

Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingtEs wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
Es wird Zeit KI zu nutzen - Wie es mit Azure KI Services und .NET MAUI gelingt
 
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
Thementag 2023 06 Dieses Mal machen wir alles richtig - 9 Hacks für wandelbar...
 
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdfThementag 2023 04 Lindern, heilen oder gar fit machen.pdf
Thementag 2023 04 Lindern, heilen oder gar fit machen.pdf
 
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
Thementag 2023 05 Wer zu spät kommt, den bestraft das Leben - Modernisierung ...
 
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdfThementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
Thementag 2023 01 Mut zur Modernisierung - ein Praxisbeispiel.pdf
 
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdfThementag 2023 03 Einführung in die Softwaremodernisierung.pdf
Thementag 2023 03 Einführung in die Softwaremodernisierung.pdf
 
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdfThementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
Thementag 2022 01 Verpassen Sie nicht den Anschluss.pdf
 
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdfThementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
Thementag 2022 03 Ein Modell ist trainiert - und jetzt.pdf
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt-So gelingt der Einstieg in Big Data und Machi...
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
Erste Schritte in die neue Welt - So gelingt der Einstieg in Big Data und Mac...
 
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
Darf es ein bisschen mehr sein - Konzepte Strategien zur Bewältigung großer u...
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?Big Data und Machine Learning - Wer braucht das schon!?
Big Data und Machine Learning - Wer braucht das schon!?
 
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine LearningDaten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
Daten / Information / Wissen - Möglichkeiten und Grenzen des Machine Learning
 
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
 
Big Data und Machine Learning - Wer braucht das schon!
Big Data und Machine Learning - Wer braucht das schon!Big Data und Machine Learning - Wer braucht das schon!
Big Data und Machine Learning - Wer braucht das schon!
 
Erste Schritte in die neue Welt so gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt so gelingt der Einstieg in Big Data und Machi...Erste Schritte in die neue Welt so gelingt der Einstieg in Big Data und Machi...
Erste Schritte in die neue Welt so gelingt der Einstieg in Big Data und Machi...
 

Thementag 2022 04 ML auf die Schiene gebracht.pdf

  • 1. ML auf die Schiene gebracht 1 | 73 Projekte. Beratung. Spezialisten. ML auf die Schiene gebracht Thementag „Ist mein Zug pünktlich?“ 16.08.2022 Autor: Christoph Schmidt-Casdorff
  • 2. ML auf die Schiene gebracht 2 | 73 Agenda Mit welchen Fragen beschäftigen wir uns? Runtime Data Pipeline ML-Modelle zur Laufzeit – MLflow Monitoring Gesamtarchitektur Take Home
  • 3. ML auf die Schiene gebracht 3 | 73 Agenda Mit welchen Fragen beschäftigen wir uns? Runtime Data Pipeline ML Modelle zur Laufzeit – MLflow Monitoring Gesamtarchitektur Take Home
  • 4. ML auf die Schiene gebracht 4 | 73 https://www.bahnbilder.de/1200/die-grosse-abfahrtstafel-leipzig-hbf-732028.jpg Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 5. ML auf die Schiene gebracht 5 | 73 Abfahrtstafeln der Bahn Momentaufnahme der (in nächster Zeit) abfahrenden Züge u Es sind Verspätungen und allgemeine Informationen zu finden u … es kann in einigen Minuten ganz anders aussehen § Es handelt sich immer nur um eine Momentaufnahme Sobald ein Zug abgefahren ist, verschwindet er von der Abfahrtstafel Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 6. ML auf die Schiene gebracht 6 | 73 Idee für unser Bespiel Wir laden Abfahrtstafeln der Deutschen Bahn Wir setzen ein ML-Modell auf, u welches die Verspätungen im Zielbahnhof vorhersagt u Das Modell liefert einen kontinuierlichen Strom an Vorhersagen § Zu jeder Abfahrt wird eine Vorhersage getroffen Wir setzten kein(e) Frontend/Oberfläche um u Endpunkt ist der Strom der Vorhersagen Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 7. ML auf die Schiene gebracht 7 | 73 Unsere Daten – Abfahrtstafeln Deutsche Bahn bietet eine Menge an öffentlichen Daten an u https://data.deutschebahn.com/dataset.html u Abfahrtsmonitor: https://iris.noncd.db.de/wbt/js/index.html?bhf=EDG Das Portal DBF ist ein (inoffizieller) Abfahrtsmonitor u https://finalrewind.org/projects/Travel-Status-DE-IRIS/ u DBF stellt einen Open-Source-Client zur Abfrage von Abfahrttafeln bereit § https://github.com/derf/db-fakedisplay/blob/master/README.md § REST-API § Docker-Image verfügbar (https://hub.docker.com/r/derfnull/db-fakedisplay) u DBF basiert auf den öffentlichen Schnittstellen der Bahn u Die Schnittstellen DBF sind nicht beliebig stark zu frequentieren § Netiquette Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 8. ML auf die Schiene gebracht 8 | 73 Holzwickede, 20.6.2022 12:15 { "departures": [ { "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" }, { "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90331", "destination": "Soest", "platform": "4", "delayArrival": 0,"delayDeparture": 0, "scheduledArrival": "12:26","scheduledDeparture": "12:27","scheduledPlatform": "4" }, { "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90330", "destination": "Dortmund Hbf", "platform": "5", "delayArrival": 1,"delayDeparture": 1,"scheduledArrival": "12:31", "scheduledDeparture": "12:32","scheduledPlatform": "5" }, . . . . . . ]}
  • 9. ML auf die Schiene gebracht 9 | 73 Holzwickede, 20.6.2022 12:17 { "departures": [ { "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" }, { "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90331", "destination": "Soest", "platform": "4", "delayArrival": 1,"delayDeparture":1, "scheduledArrival": "12:26","scheduledDeparture": "12:27","scheduledPlatform": "4" }, { "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90330", "destination": "Dortmund Hbf", "platform": "5", "delayArrival": 2,"delayDeparture": 2,"scheduledArrival": "12:31", "scheduledDeparture": "12:32","scheduledPlatform": "5" }, . . . . . . ]}
  • 10. ML auf die Schiene gebracht 10 | 73 Agenda Mit welchen Fragen beschäftigen wir uns? Runtime Data Pipeline ML Modelle zur Laufzeit – MLflow Monitoring Gesamtarchitektur Take Home
  • 11. ML auf die Schiene gebracht 11 | 73 Was ist zu tun? Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 12. Laufzeitumgebung eines Data-Science-Systems Runtime CI/CD Code Daten Data Science Deployment Modell RT Data Pipeline RT Model Monitoring & Modellmetriken Trainingsdaten Externe Datenquellen Vorhersagen Überwachung neue Trainingsdaten Trigger bei Verschlechterung des Modells Regeln zur Preparation Metriken
  • 13. ML auf die Schiene gebracht 13 | 73 Eigenschaften des Systems Stetig einkommende Daten u Diese sollen sofort beim Eintreffen verarbeitet werden => Echtzeitverarbeitung und Streaming Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 14. ML auf die Schiene gebracht 14 | 73 Eigenschaften des Systems Echtzeitverarbeitung und Streaming Datenmenge ist nicht begrenzt und kann beliebig groß werden => (Horizontale) Skalierbarkeit Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 15. ML auf die Schiene gebracht 15 | 73 Eigenschaften des Systems Echtzeitverarbeitung und Streaming (Horizontale) Skalierbarkeit Daten kommen aus beliebig vielen und unterschiedlichen Datenquellen u Daten werden über REST-API und Filesystem/Datenbank eingespeist § Historische Daten befinden sich im Filesystem u Daten müssen zusammengeführt werden => Verteilte Verarbeitung der Daten Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 16. ML auf die Schiene gebracht 16 | 73 Eigenschaften des Systems Echtzeitverarbeitung und Streaming (Horizontale) Skalierbarkeit Verteilte Verarbeitung der Daten System muss mit zeitweise starkem Datenaufkommen klarkommen => Pufferungsmechanismus (Backpressure) Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 17. ML auf die Schiene gebracht 17 | 73 Eigenschaften des Systems Echtzeitverarbeitung und Streaming (Horizontale) Skalierbarkeit Verteilte Verarbeitung der Daten Pufferungsmechanismus (Backpressure) Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 18. ML auf die Schiene gebracht 18 | 73 Schritt 1: Einlesen der Abfahrtstafeln Abfahrts- tafeln Annahme Abfahrtstafeln DB Iris DB Iris DB Iris speichert streamt Streaming Kanal/Topic • Persistent • Geordnet • Publish/Subscribe Processor • Verarbeitung/Transformation von Daten aus Topic Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 19. ML auf die Schiene gebracht 19 | 73 Holzwickede, 20.6.2022 12:15 { "departures": [ { "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" }, { "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90331", "destination": "Soest", "platform": "4", "delayArrival": 0,"delayDeparture": 0, "scheduledArrival": "12:26","scheduledDeparture": "12:27","scheduledPlatform": "4" }, { "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90330", "destination": "Dortmund Hbf", "platform": "5", "delayArrival": 1,"delayDeparture": 1,"scheduledArrival": "12:31", "scheduledDeparture": "12:32","scheduledPlatform": "5" }, . . . . . . ]}
  • 20. ML auf die Schiene gebracht 20 | 73 Abfahrten pro Zug {"station" : "Holzwickede", timestamp: "2022-06-20 12:15:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557 ", "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" }, {"station" : "Holzwickede„, timestamp: "2022-06-20 12:17:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557 ", "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" } {"station" : "Holzwickede„, timestamp: "2022-06-20 12:15:00", "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90331", "destination": "Soest", "platform": "4", "delayArrival": 0,"delayDeparture":1, "scheduledArrival": "12:26","scheduledDeparture": "12:27","scheduledPlatform": "4" }, {"station" : "Holzwickede„, timestamp: "2022-06-20 12:17:00 ", "train": "RB 59", "trainClasses": ["N"], "trainNumber": "90331", "destination": "Soest", "platform": "4", "delayArrival": 1,"delayDeparture":1, "scheduledArrival": "12:26","scheduledDeparture": "12:27","scheduledPlatform": "4" }, . .
  • 21. ML auf die Schiene gebracht 21 | 73 Schritt 2: Aufspalten pro Zug und Bahnhof Abfahrts- tafeln Split pro Zug 90387 90388 90343 90389 Split pro Tag/Bahnhof/Zug Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 22. ML auf die Schiene gebracht 22 | 73 Wann ist ein Zug abgefahren? 29.05.2022 Dortmund 90387 Enthält viele Messungen pro Tag/Bahnhof/Zug Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 23. ML auf die Schiene gebracht 23 | 73 Abfahrten pro Zug {"station" : "Holzwickede", timestamp: "2022-06-20 12:13:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" }, {"station" : "Holzwickede ", timestamp: "2022-06-20 12:15:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" }, {"station" : "Holzwickede ", timestamp: "2022-06-20 12:17:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" }, {"station" : "Holzwickede", timestamp: "2022-06-20 12:19:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" } , {"station" : "Holzwickede", timestamp: "2022-06-20 12:21:00", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" } Wie stellen wir fest, dass ein Zug den Bahnhof verlassen hat?
  • 24. ML auf die Schiene gebracht 24 | 73 Abfahrten Wie stellen wir fest, dass ein Zug den Bahnhof verlassen hat? Idee: Warte bis zu einem Zug und Bahnhof keine Meldung mehr kommt => dann gilt der Zug als abgefahren Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 25. ML auf die Schiene gebracht 25 | 73 Windowing Daten strömen stetig ein u Es ist nicht klar, wann zusammengehörige Daten vollständig verarbeitet sind Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 26. ML auf die Schiene gebracht 26 | 73 Windowing Daten strömen stetig ein Welche Zeitpunkte sind zu beachten? u Ereigniszeitpunkt – Wann hat das Ereignis tatsächlich stattgefunden? u Verarbeitungszeitpunkt – Wann wurde das Ereignis im System verarbeitet? Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 27. ML auf die Schiene gebracht 27 | 73 Windowing Daten strömen stetig ein Ereigniszeitpunkt und Verarbeitungszeitpunkt Wir benötigen Algorithmen, die u Abfahrten sammeln, bis n–Minuten keine Abfahrt für einen Zug und Bahnhof gemeldet werden § Ereigniszeitpunkt u eine Karenzzeit von x-Minuten berücksichtigen § Verarbeitungszeitpunkt kann sich verzögern => Entscheidung über Abfahrtszeitpunkt eine Zuges in einem Bahnhof Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 28. ML auf die Schiene gebracht 28 | 73 Windowing – Bestimmung einer Abfahrt 29.05.2022 Dortmund 90387 Ermittlung Abfahrten Abfahrten Abfahrt pro Tag/Bahnhof/Zug Bestimmung der Abfahrten via windowing Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 29. ML auf die Schiene gebracht 29 | 73 Abfahrten pro Zug {"station" : "Holzwickede", timestamp: "2022-06-20 12:13:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" }, {"station" : "Holzwickede ", timestamp: "2022-06-20 12:15:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 1,"delayDeparture": 1 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" }, {"station" : "Holzwickede ", timestamp: "2022-06-20 12:17:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" }, {"station" : "Holzwickede", timestamp: "2022-06-20 12:19:00 ", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" } , {"station" : "Holzwickede", timestamp: "2022-06-20 12:21:00", "train": "RE 7", "trainClasses": ["N"], "trainNumber": "32557, "destination": "Krefeld Hbf", "platform": "3", "delayArrival": 2,"delayDeparture": 2 "scheduledArrival": "12:18", "scheduledDeparture": "12:19", scheduledPlatform": "3" } 12:28 wurde entschieden : Zug ist um 12:21 abgefahren
  • 30. ML auf die Schiene gebracht 30 | 73 Abfahrten sind potentielle Trainingsdaten 29.05.2022 Dortmund 90387 Ermittlung Abfahrten Abfahrten pro Zug Speichert mgl. Trainingsdaten Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 31. ML auf die Schiene gebracht 31 | 73 Wir haben wir es gemacht - Data Pipeline
  • 32. ML auf die Schiene gebracht 32 | 73 Wie haben wir es gemacht? Wir haben eine on-premise-Lösung umgesetzt. u Wir haben keine Cloud-Plattform wie AWS eingesetzt Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 33. ML auf die Schiene gebracht 33 | 73 Wie haben wir es gemacht? Wir haben eine on-premise-Lösung umgesetzt. Wir setzen Kafka als Plattform für die Data Pipeline ein u Kafka besitzt die geforderten Eigenschaften von Hause aus § Streaming § Skalierbarkeit § Backpressure § Windowing Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 34. ML auf die Schiene gebracht 34 | 73 Wie haben wir es gemacht? Wir haben eine on-premise-Lösung umgesetzt. Wir setzen Kafka als Plattform für die Data Pipeline ein Wir setzen Kafka zur verteilten Verarbeitung u Sortierung / Gruppierung ist bei großen Datenbeständen anspruchsvoll u Kafka unterstützt die Gruppierung von Streamingdaten zur Laufzeit Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 35. ML auf die Schiene gebracht 35 | 73 Wie haben wir es gemacht? Wir haben eine on-premise-Lösung umgesetzt. Wir setzen Kafka als Plattform für die Data Pipeline ein Wir setzen Kafka zur verteilten Verarbeitung Wir setzen Kafka als Komponente zur Daten-Einspeisung u Optimal, um unterschiedlichen Datenquellen + Geschwindigkeiten zu koordinieren u Beliebig skalierbar Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 36. ML auf die Schiene gebracht 36 | 73 Wie haben wir es gemacht? Wir haben eine on-premise-Lösung umgesetzt. Wir setzen Kafka als Plattform für die Data Pipeline ein Wir setzen Kafka zur verteilten Verarbeitung Wir setzen Kafka als Komponente zur Daten-Einspeisung Kafka zur bietet windowing-Funktionalität an u Bestimmung der Abfahrten pro Zug und Bahnhof Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 37. ML auf die Schiene gebracht 37 | 73 Wie haben wir es gemacht? Wir haben eine on-premise-Lösung umgesetzt. Wir setzen Kafka als Plattform für die Data Pipeline ein Wir heben Rohdaten auf u Vielleicht ergeben sich später andere Fragestellungen Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 38. ML auf die Schiene gebracht 38 | 73 Wie haben wir es gemacht? Wir haben eine on-premise-Lösung umgesetzt. Kafka als Plattform für die Data Pipeline ein Wir heben Rohdaten auf Wir speichern Ergebnisse der Data Pipeline als mögliche Trainingsdaten Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 39. ML auf die Schiene gebracht 39 | 73 Wie haben wir es gemacht? Wir haben eine on-premise-Lösung umgesetzt. Kafka als Plattform für die Data Pipeline ein Wir heben Rohdaten auf Wir speichern Ergebnisse der Data Pipeline als mögliche Trainingsdaten Unsere Abfahrtszeiten sind so genau, wie die Abfragezyklen bei der DB u Derzeit wird ca. alle 3 Min ein Bahnhof angefragt u Besser sind unsere Abfahrtszeiten damit auch nicht Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 40. ML auf die Schiene gebracht 40 | 73 Agenda Mit welchen Fragen beschäftigen wir uns? Runtime Data Pipeline ML-Modelle zur Laufzeit – MLflow Monitoring Gesamtarchitektur Take Home
  • 41. ML auf die Schiene gebracht 41 | 73 Wie haben wir es gemacht - MLOps https://ml-ops.org/
  • 42. Laufzeitumgebung eines Data-Science-Systems Runtime CI/CD Code Daten Data Science Deployment Modell RT Data Pipeline RT Model Monitoring & Modellmetriken Trainingsdaten Externe Datenquellen Vorhersagen Überwachung neue Trainingsdaten Trigger bei Verschlechterung des Modells Regeln zur Preparation Metriken
  • 43. ML auf die Schiene gebracht 43 | 73 Problemstellung Nahtloser Übergang eines ML-Modells von Data Science bis zur Produktion u Wie wechselt ein ML-Modell die unterschiedlichen Umgebungen? Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 44. ML auf die Schiene gebracht 44 | 73 Problemstellung Nahtloser Übergang eines ML-Modells von Data Science bis zur Produktion ML-Modell ist in einen CI/CD-Prozess zu integrieren Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 45. ML auf die Schiene gebracht 45 | 73 Wie haben wir es gemacht? Wir haben uns für eine Plattform namens MLflow entschieden u https://mlflow.org/ von DataBricks MLflow ist speziell für die Prozesse in MLOps entworfen worden u Nahtloses Zusammenspiel der einzelnen Aufgaben/Phasen All das kann auch mit anderen Mitteln/Tools umgesetzt werden u Umsetzung mit docker § Die Integration der einzelnen MLOps-Phasen muss ausprogrammiert werden u Einsatz anderer MLOps Tools § DVC u Explizite Re-Programmierung der ML-Modelle § Spark, Kafka, … besitzen eigene ML-Programmiermodelle Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 46. ML auf die Schiene gebracht 46 | 73 Konzepte von MLflow Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 47. ML auf die Schiene gebracht 47 | 73 MLflow MLflow ist eine Open-Source-Plattform, … u um den ML-Lebenszyklus zu verwalten § Einschließlich von ML-Experimenten u die die Reproduzierbarkeit von ML-Modellen gewährleistet u die das Deployment von ML-Modellen ermöglicht Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 48. ML auf die Schiene gebracht 48 | 73 MLflow MLflow ist eine Plattform, um den Lebenszyklus eines ML-Modells zu verwalten MLflow Model & Projects u definieren universelles Austauschformat für ML-Projekte § Modell inkl. Algorithmus § Metriken müssen geprüft werden § Trainings- und Testdaten § Software, in der das Modell geschrieben ist, ist verfügbar § Code zum Testen des Modells Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 49. ML auf die Schiene gebracht 49 | 73 MLflow MLflow ist eine Plattform, um den Lebenszyklus eines ML-Modells zu verwalten MLflow Model & Projects u definieren universelles Austauschformat für ML Projekte u Verstecken die Abhängigkeit zu ML Frameworks u Ermöglichen das Deployment auf unterschiedlichen Ausführungsumgebungen Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 50. ML auf die Schiene gebracht 50 | 73 MLflow – take home MLflow ist eine Plattform um den Lebenszyklus eines ML-Modells zu verwalten ML-Modelle als Softwareprojekte: MLflow Model & Projects MLflow Tracking-Server-Komponente u Verwaltet Experimente § Data Science kann Experimente auf den Tracking-Server laden u Experimente können veröffentlicht werden Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 51. ML auf die Schiene gebracht 51 | 73 MLflow – take home MLflow ist eine Plattform um den Lebenszyklus eines ML-Modells zu verwalten ML-Modelle als Softwareprojekte : MLflow Model & Projects Verwaltung von Experimenten : MLflow Tracking Server MLflow Registry Server u Server-Komponente u Verwaltet veröffentlichte ML-Modelle u Bietet Build und Ausführung der Modelle an u Bietet ‚staging‘-Konzept an Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 52. ML auf die Schiene gebracht 52 | 73 MLflow – Gesamtbild Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 53. ML auf die Schiene gebracht 53 | 73 Experiment Deployment Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home https://www.statworx.com/wp-content/uploads/IC-24_MLFlow_Folie3-1024x576.jpeg
  • 54. ML auf die Schiene gebracht 54 | 73 MLflow – take home MLflow ermöglicht eine nahtlose Entwicklung eines ML-Modells u ML Frameworks und Modellparameter werden durch Data Science definiert u Keine Re-Programmierung MLflow ermöglicht eine durchgängige Beschreibung eines ML-Modells u Keine Re-Programmierung u Definierte Laufzeitumgebung MLflow unterstützt einen CI/CD – Prozess für ML-Modelle u ML-Modelle als Software-Artefakte Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 55. ML auf die Schiene gebracht 55 | 73 Wie haben wir es gemacht? Batch/Streaming Scoring – Vorhersagen aus Streaming-Daten Abfahrten pro Zug REST -API Abfahrten mit Vorhersage Vorhersage Docker Container mit ML-Modell 1 2 Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 56. ML auf die Schiene gebracht 56 | 73 Bemerkungen zu CI/CD MLflow Projects integrieren sich nahtlos in CI/CD-Tools u Git-basiert u API, um Modelle zu testen u API, um Modelle nach Model Registry zu laden u API, um Modelle zu in ‚stages‘ zu verscheiden u API, um Modelle zu laden und deployen Strategien für Test und Auslieferung sind projekt-/unternehmensspezifisch Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 57. ML auf die Schiene gebracht 57 | 73 Agenda Mit welchen Fragen beschäftigen wir uns? Runtime Data Pipeline ML Modelle zur Laufzeit - MLflow Monitoring Gesamtarchitektur Take Home
  • 58. ML auf die Schiene gebracht 58 | 73 Wie haben wir es gemacht - Monitoring
  • 59. ML auf die Schiene gebracht 59 | 73 Monitoring neuen Trainingsdaten Ermittlung Abfahrten Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 60. ML auf die Schiene gebracht 60 | 73 Monitoring neuen Trainingsdaten Ermittlung Abfahrten Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home Zyklische Berechnung Metriken auf neuen Trainingsdaten Apache Airflow
  • 61. ML auf die Schiene gebracht 61 | 73 Monitoring Apache Airflow neuen Trainingsdaten Ermittlung Abfahrten Zyklische Berechnung Metriken auf neuen Trainingsdaten Schlechte Performance Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 62. ML auf die Schiene gebracht 62 | 73 Agenda Mit welchen Fragen beschäftigen wir uns? Runtime Data Pipeline ML Modelle zur Laufzeit – MLflow Monitoring Gesamtarchitektur Take Home
  • 63. ML auf die Schiene gebracht 63 | 73 Gesamtüberblick DB Iris DB Iris DB Iris Kafka Kafka Kafka Abfahrten Abfahrten Abfahrten Docker + ML Model Docker + ML Model Docker + ML-Modell Vorhersage Abfahrten mit Vorhersage Abfahrten mit Vorhersage Abfahrten mit Vorhersage Daten- vorbereitung Daten- einspeisung Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home Kontinuierlicher Strom an Vorhersagen
  • 64. ML auf die Schiene gebracht 64 | 73 Gesamtüberblick DB Iris DB Iris DB Iris Kafka Kafka Kafka Abfahrten Abfahrten Abfahrten Docker + ML Model Docker + ML Model Docker + ML-Modell Vorhersage Abfahrten mit Vorhersage Abfahrten mit Vorhersage Abfahrten mit Vorhersage Daten- vorbereitung Daten- einspeisung Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home Data Pipeline
  • 65. ML auf die Schiene gebracht 65 | 73 Gesamtüberblick DB Iris DB Iris DB Iris Kafka Kafka Kafka Abfahrten Abfahrten Abfahrten Docker + ML Model Docker + ML Model Docker + ML-Modell Apache Airflow Vorhersage Abfahrten mit Vorhersage Abfahrten mit Vorhersage Abfahrten mit Vorhersage Daten- vorbereitung Daten- einspeisung Metriken auf neuen Trainingsdaten Schlechte Performance Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 66. ML auf die Schiene gebracht 66 | 73 experiment Deployment Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 67. ML auf die Schiene gebracht 67 | 73 Gesamtüberblick DB Iris DB Iris DB Iris Kafka Kafka Kafka Abfahrten Abfahrten Abfahrten Docker + ML Model Docker + ML Model Docker + ML-Modell Apache Airflow Vorhersage Abfahrten mit Vorhersage Abfahrten mit Vorhersage Abfahrten mit Vorhersage Daten- vorbereitung Daten- einspeisung Metriken auf neuen Trainingsdaten Periodische Re-Training Schlechte Performance Deployment Neue Trainingsdaten Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 68. ML auf die Schiene gebracht 68 | 73 Agenda Mit welchen Fragen beschäftigen wir uns? Runtime Data Pipeline ML-Modelle zur Laufzeit – MLflow Monitoring Gesamtarchitektur MLOps in der Cloud Take Home
  • 69. ML auf die Schiene gebracht 69 | 73 Data Pipeline in der Cloud – Wie macht es AWS ? AWS (Amazon Web Services) bietet unterschiedliche Streamingplattformen an u Apache Kafka u AWS Kinesis Der Aufbau der Data Pipeline ist konzeptionell gleich Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 70. ML auf die Schiene gebracht 70 | 73 MLOps in der Cloud – Wie macht es AWS? AWS (Amazon Web Services) bietet die MLOps–Plattform SageMaker an u … managed machine learning Service u … unterstützt den vollständigen MLOps-Prozess SageMaker bietet u SageMaker Studio/Notebook zur Exploration u .. viele bereitgestellte Algorithmen, Notebooks, Lösungsschablonen u … Konzepte, um Modelle zu speichern und transferieren/deployen u … unterschiedliche Laufzeitmodelle MLflow lässt Modelle nach SageMaker deployen u … unterstützt das SageMaker-Format Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 71. ML auf die Schiene gebracht 71 | 73 Agenda Mit welchen Fragen beschäftigen wir uns? Runtime Data Pipeline ML-Modelle zur Laufzeit – MLflow Monitoring Gesamtarchitektur Take Home
  • 72. ML auf die Schiene gebracht 72 | 73 Take Home Wir haben MLOps mit Hilfe von Kafka und MLflow ungesetzt u … der fehlenden MLOps-Prozess hemmte eine geschmeidige Entwicklung MLflow hat sich bewährt u … die Phasenübergänge sind nahtlos Was fehlt noch? u Umsetzung des Monitoring mit Apache Airflow Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 73. ML auf die Schiene gebracht 73 | 73 Take Home Wir wollen die Umsetzung des Bahntrackers in einem WS vorstellen Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 74. ML auf die Schiene gebracht 74 | 73 Backup Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 75. ML auf die Schiene gebracht 75 | 73 Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 76. ML auf die Schiene gebracht 76 | 73 MLflow Backend Registry Stores Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 77. ML auf die Schiene gebracht 77 | 73 MLflow – ML Projects Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 78. ML auf die Schiene gebracht 78 | 73 MLflow – ML Projects Tools unterscheiden sich in der Verarbeitung des Test-/Trainingsdaten Ergebnisse hängen von Environment ab u Versionen der Tools/Libraries Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home
  • 79. MLflow ML Projects ist ein Sub-Project von MLflow ML Projects ist eine Format, um für Data Science Code ML Projects ist self-contained u Bündelt alle Informationen, um das Tools und Environment wiederherzustellen ML Project definiert, wie das ML-Modell paketiert wird u Conda, Docker, R ML Projects kann alle Abhängigkeiten im Ziel-Umgebung installieren u Sichert exakt gleiche Laufzeitumgebung zu ML Projects ist i.d.R. ein Git-Repository u Integriert sich in CI/CD-Tools MLflow übernimmt die Ausführung/Build eines ML Projects u Ein ML Project kann aus mehreren Experimenten bestehen ML Projects ist Vorrausetzung für u Vergleichbarkeit von ML-Modellen u Die Auslieferung/Deployment von ML-Modellen
  • 80. ML auf die Schiene gebracht 80 | 73 Mit welchen Fragen beschäftigen wir uns? | Runtime Data Pipeline | ML Modelle zur Laufzeit - MLflow | Monitoring | Gesamtarchitektur | MLOps in der Cloud | Take Home