ML Deployment
Vom Prototyp zur Produktion
Marcel Spitzer Karlsruhe, 15.3.2018
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
› 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/
› Produktempfehlungen auf Basis
von Nutzerverhalten
› Bereitstellung als Webservice
› Zugriff über REST API
4
Beispiel 2: (Near-)Realtime SzenarioRecommender System
5
ML Deployment Prozess
TrainingDaten
ScoringDaten
Modell
Prognose Serving
En
twic
klu
ng
Pro
du
ktio
n
https://pixabay.com/photo-3186602/
› Hand-Over in Produktion
› Skalierbarkeit vs. Komplexität
› Monitoring und Modellmanagement
› Inkrementelle Verbesserung
› Hohe Verfügbarkeit
6
Herausforderungen
https://unsplash.com/photos/wrfj-SRaB1Q
7
Data Science und SW Engineering
https://pixabay.com/photo-2029784/, https://pixabay.com/photo-1653351/
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
› 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
DS kann chaotisch sein, deshalb
› Versionskontrolle
› Dependency-Management
› Automatisierter CI-Prozess
10
Data Science und SW Engineering
https://xkcd.com/1838/
› 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/
12
Hand-Over von ML Modellen
ProduktionEntwicklung
13
Hand-Over von ML Modellen
Training Modell
Vorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
? ??
Serialisiert
PackageConfig
Container
ProduktionEntwicklung
14
Training Modell
Vorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
sync?
Hand-Over von ML Modellen
ProduktionEntwicklung
15
Training
PipelineVorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
Hand-Over von ML Modellen
ProduktionEntwicklung
16
Training
PipelineVorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
sync?
Hand-Over von ML Modellen
ProduktionEntwicklung
17
Training
PipelineVorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
Data Lake
Hand-Over von ML Modellen
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/
19
Monitoring und Modellmanagement
https://pixabay.com/photo-163709/
20
Monitoring und ModellmanagementBeispiel: Spam-Klassifikation
21
Monitoring und ModellmanagementBeispiel: Spam-Klassifikation
› 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/
23
Deployment-Strategien
https://pixabay.com/photo-2010022/
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
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
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
27
Skalierbarkeit vs. Funktionsumfang
Funktionsumfang
Skal
ierb
arke
it
Cloud & Container
Prototyping & Ad-Hoc Analysis
ML Frameworks
Development Production
28
Beispielarchitektur 1: Batch-Scoring
Client
Predictions
ScoringTraining Data
Training Model Store
ServiceScoring Data
ID Pred
Service
Production
Transform
29
Beispielarchitektur 2: Realtime-Scoring
FactsProducer
Client Scoring
Events
Cache
Requests
Predictions
ID Data
ID
Pred
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
Vielen Dank
Marcel Spitzer
Big Data Scientist
inovex GmbH
Ludwig-Erhard-Allee 6
76131 Karlsruhe