![Page 1: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/1.jpg)
ML Deployment
Vom Prototyp zur Produktion
Marcel Spitzer Karlsruhe, 15.3.2018
![Page 2: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/2.jpg)
2
Marcel SpitzerBig Data Scientist @ inovex
Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.)
● Data Science mit Python und R
● Deployment von ML Anwendungen
● Big Data, Hadoop, Spark
![Page 3: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/3.jpg)
› Vorhersage von Produkt-
nachfrage auf Tagesbasis
› Bereitstellung in Datenbank
› Zugriff über Analysetools und
Dashboards
3
Beispiel 1: Batch SzenarioDemand Prediction
https://pixabay.com/photo-2860753/
![Page 4: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/4.jpg)
› Produktempfehlungen auf Basis
von Nutzerverhalten
› Bereitstellung als Webservice
› Zugriff über REST API
4
Beispiel 2: (Near-)Realtime SzenarioRecommender System
![Page 5: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/5.jpg)
5
ML Deployment Prozess
TrainingDaten
ScoringDaten
Modell
Prognose Serving
En
twic
klu
ng
Pro
du
ktio
n
https://pixabay.com/photo-3186602/
![Page 6: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/6.jpg)
› Hand-Over in Produktion
› Skalierbarkeit vs. Komplexität
› Monitoring und Modellmanagement
› Inkrementelle Verbesserung
› Hohe Verfügbarkeit
6
Herausforderungen
https://unsplash.com/photos/wrfj-SRaB1Q
![Page 7: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/7.jpg)
7
Data Science und SW Engineering
https://pixabay.com/photo-2029784/, https://pixabay.com/photo-1653351/
![Page 8: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/8.jpg)
8
Data Science
● Experimentell
● Rapid Prototyping, Ad-Hoc Analysen
● Reports, Dashboards
SW Engineering
● Systematisch
● Clean Code, Test-Driven Development, CI/CD
● Wartbare und funktionale Software
Data Science und SW Engineering
![Page 9: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/9.jpg)
› Data Science braucht Iteration
› Prototyping oft in einer Sandbox-Umgebung
› In Produktion müssen ML Anwendungen
realen Bedingungen standhalten
9
Data Science und SW Engineering
![Page 10: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/10.jpg)
DS kann chaotisch sein, deshalb
› Versionskontrolle
› Dependency-Management
› Automatisierter CI-Prozess
10
Data Science und SW Engineering
https://xkcd.com/1838/
![Page 11: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/11.jpg)
› ML Deployment erfordert Engineering Skills
› Frühzeitige Einbindung von SW Engineers
› Praktikable Lösungen und Etablierung von
Standards
11
Data Science und SW Engineering
https://pixabay.com/photo-1294877/
![Page 12: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/12.jpg)
12
Hand-Over von ML Modellen
![Page 13: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/13.jpg)
ProduktionEntwicklung
13
Hand-Over von ML Modellen
Training Modell
Vorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
? ??
Serialisiert
PackageConfig
Container
![Page 14: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/14.jpg)
ProduktionEntwicklung
14
Training Modell
Vorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
sync?
Hand-Over von ML Modellen
![Page 15: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/15.jpg)
ProduktionEntwicklung
15
Training
PipelineVorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
Hand-Over von ML Modellen
![Page 16: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/16.jpg)
ProduktionEntwicklung
16
Training
PipelineVorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
sync?
Hand-Over von ML Modellen
![Page 17: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/17.jpg)
ProduktionEntwicklung
17
Training
PipelineVorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
Data Lake
Hand-Over von ML Modellen
![Page 18: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/18.jpg)
18
Hand-Over von ML Modellen
› Serialisierung erfordert konsistenten SW Stack
› Container bieten größtmögliche Flexibilität
› Pipeline-Konzept erleichtert Reproduzierbarkeit
› Data Lake für konsistente und aktuelle Daten
https://pixabay.com/photo-1294877/
![Page 19: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/19.jpg)
19
Monitoring und Modellmanagement
https://pixabay.com/photo-163709/
![Page 20: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/20.jpg)
20
Monitoring und ModellmanagementBeispiel: Spam-Klassifikation
![Page 21: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/21.jpg)
21
Monitoring und ModellmanagementBeispiel: Spam-Klassifikation
![Page 22: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/22.jpg)
› Verhaltensmuster ändern sich mit der Zeit
› ML Anwendungen müssen adaptierbar sein
› Erfordert Re-Training auf aktuellen Daten
› Automatisiertes Deployment für schnelle
Reaktionsfähigkeit
22
Monitoring und Modellmanagement
https://pixabay.com/photo-1294877/
![Page 23: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/23.jpg)
23
Deployment-Strategien
https://pixabay.com/photo-2010022/
![Page 24: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/24.jpg)
24
Strategie 1: Re-Implementierung
Modell liegt prototypisch in Python oder R vor und wird auf Stack des SW Engineers reimplementiert
› Ineffizient und fehleranfällig
› Korrekte Replikation der Modelle schwierig
› Nur für einfache Modelle realisierbar
![Page 25: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/25.jpg)
25
Strategie 2: ML Frameworks
Verwendung dedizierter ML Frameworks in Entwicklung und Produktion
› Ende-zu-Ende Abdeckung des ML Workflows
› Lokale und Remote Entwicklung
› Multi-Language Support
› Horizontale Skalierbarkeit
› Eingeschränkter Funktionsumfang
![Page 26: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/26.jpg)
26
Strategie 3: Microservices
Modell wird in Python oder R trainiert und als Webservice in einem Container deployt
› Voller Funktionsumfang von Python/R
› Isolation von Abhängigkeiten
› Horizontale Skalierbarkeit
› On-Premise oder Cloud
![Page 27: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/27.jpg)
27
Skalierbarkeit vs. Funktionsumfang
Funktionsumfang
Skal
ierb
arke
it
Cloud & Container
Prototyping & Ad-Hoc Analysis
ML Frameworks
![Page 28: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/28.jpg)
Development Production
28
Beispielarchitektur 1: Batch-Scoring
Client
Predictions
ScoringTraining Data
Training Model Store
ServiceScoring Data
ID Pred
![Page 29: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/29.jpg)
Service
Production
Transform
29
Beispielarchitektur 2: Realtime-Scoring
FactsProducer
Client Scoring
Events
Cache
Requests
Predictions
ID Data
ID
Pred
![Page 30: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/30.jpg)
30
Zusammenfassung
› ML Deployment umfasst den gesamten Lebenszyklus
› Engineering ist essenziell für produktionsreifes ML
› Pipeline-Konzept erleichtert Reproduzierbarkeit
› Kontinuierliches Performance-Monitoring
› ML Frameworks und Container-basierte Ansätze
![Page 31: ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex Wi.-Mathematik (B.Sc.), Wi.-Informatik (M.Sc.) Data Science mit Python und R Deployment von](https://reader030.vdocuments.pub/reader030/viewer/2022041213/5e02ea5ed9e2ea2f2040e380/html5/thumbnails/31.jpg)
Vielen Dank
Marcel Spitzer
Big Data Scientist
inovex GmbH
Ludwig-Erhard-Allee 6
76131 Karlsruhe