Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
2
● Data Science mit Python und R
● ML Engineering, ML Deployment
● Big Data, Hadoop, Spark
@mspitzer243
5
› Identifikation und Extraktion relevanter
Features aus verschiedenen Quellen
› Explorative Analyse und Aufbereitung
› Definition eines experimentellen Setups
› Benchmark verschiedener Modelle
› ...Deployment?!
Creation of the model is generally not the end of the project. [...]
It often involves applying "live" models within an organization’s decision
making processes — for example, real-time personalization of Web pages
or repeated scoring of marketing databases.
6
Pete Chapman, Julian Clinton, Randy Kerber, Thomas Khabaza, Thomas Reinartz, Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0 Step-by-step data mining guides
7
Data Science Lab
Live System /“Production”
› Vorhersage von Produkt-
nachfrage auf Tagesbasis
› Bereitstellung in Datenbank
› Zugriff über Analysetools und
Dashboards
8
› Produktempfehlungen auf Basis
des Nutzerverhaltens
› Bereitstellung als Webservice
› Zugriff über REST API
9
10
TrainingDaten
ScoringDaten
Modell
Prognose Serving
En
twic
klu
ng
Pro
du
ktio
n
11
› Generieren von Erkenntnissen aus
Daten zur Beantwortung einer Fragestellung
› Interaktive Exploration von statischen Daten
› Reports, Dashboards oder Modellprototyp zur
Unterstützung der Entscheidungsfindung
12
› Optimierung von Business-Metriken
durch den Einsatz von ML-Verfahren
› Dynamische Daten und Echtzeit-Feedback
› Entwicklung einer zuverlässigen und nachvollziehbaren
ML-Komponente als Bestandteil eines Datenproduktes
13
14
15
Data Science
● Experimentell
● Rapid Prototyping, Ad-Hoc Analysen
● Reports, Dashboards, Modelle
SW Engineering
● Systematisch
● Clean Code, Test-Driven Development, CI/CD
● Wartbare und funktionale Software
16
› Kurze Iterationen und adaptive Planung
› Aktiver Wissensaustausch in interdisziplinären Teams
› Früh liefern, kontinuierlich verbessern
› Durchführung explorativer Tasks als Spikes
› Discovery/Delivery-Teams (Dual-Track)
17
18
ProduktionEntwicklung
Training Modell
Vorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
ProduktionEntwicklung
19
Training Modell
Vorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
? ??
20
Format BeispielAbhängig-
keitenSprach-
unabhängigModell- support
serialisiertPickles, R
Object FilesJa Nein Hoch
generisch JSON, XML Nein Ja Niedrig
Container Docker Nein Ja Hoch
21
ProduktionEntwicklung
Training Modell
Vorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
ProduktionEntwicklung
22
Training Modell
Vorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
sync?
ProduktionEntwicklung
23
Training
PipelineVorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
24
› Pipelines umfassen Modelle und Datentransformationen
› Gerichteter Graph aus Transformatoren und Schätzern
› Transformatoren verändern oder ergänzen Eingabedaten
› Schätzer konstruieren Transformatoren auf Basis von
Eingabedaten
25
Ersetzen von NULL Werten
One-Hot Encoding Normierung Lineare
Regression
Training
Ersetzen von NULL Werten
One-Hot Encoding Normierung Regressions-
modell
Schätzer
Transformator
ProduktionEntwicklung
26
Training
PipelineVorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
ProduktionEntwicklung
27
Training
PipelineVorbereitung
Daten
Scoring
Vorbereitung
Daten
Prognose
sync?
28
› Abweichende Modellperformance bei Offline-
und Online-Evaluation
› Trainings- und Scoringdaten entstammen
unterschiedlichen Verteilungen
› Ursache z.B. veraltete Trainingsdaten oder
nicht-repräsentatives Sample
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/46178.pdf
age
income
29
30
› Anpassbarkeit an sich kontinuierlich ändernde
Rahmenbedingungen bzw. Verhaltensmuster
› Erfordert Re-Training auf aktuellen Daten, Feature
Engineering oder neue Modellierungsansätze
› Monitoring und automatisiertes Deployment sind
grundlegend für schnelle Reaktionsfähigkeit
31
32
?
33
› Welchen Einfluss haben Änderungen von
Systemparametern (z.B. auf das Nutzerverhalten)?
› Layout einer Website → Click-Through-Rate
› Auch zur Abschätzung des Einflusses von Änderungen an
ML-Komponenten geeignet
34
› Gegenüberstellung der Performance verschiedener
Modelle unter realen Bedingungen
› Einsatz von Business-KPI’s oder geeignete Proxies
Modell A
Modell B
CTR = .017
CTR = .024Anfragen Prognosen
35
› Historisierung von Daten, Modellen, Reports
› Nachvollziehbarkeit von Prognosen und Entscheidungen
› Ermöglicht Benchmark älterer Modelle auf neuen Daten und
Backtesting von neuen Modellen auf älteren Daten
› Grundlage für Audits und Fallback-Strategien
36
› Vermeidbarer Mehraufwand
› Korrekte Replikation der Modelle schwierig
› Fehlende ML Bibliotheken in Produktion
› Nur für einfache Modelle praktikabel
37
Modell liegt als Konzept vor und wird auf Produktions-Stack reimplementiert
38
Verwendung dedizierter Machine Learning Frameworks in Entwicklung und Produktion
› Ende-zu-Ende Abdeckung
› Lokale und Remote Entwicklung
› Multi-Language Support
› Horizontale Skalierbarkeit
› Eingeschränkter Funktionsumfang
39
Modell wird als Webservice in einem Container deployt
› Voller Funktionsumfang von Python, R, etc.
› Isolierte Abhängigkeiten
› Horizontale Skalierbarkeit
› On-Premise oder Cloud
› Erfordert (ein wenig) SW Engineering
40
Funktionsumfang
Skal
ierb
arke
it
Cloud & Container
Prototyping & Ad-Hoc Analysis
ML Frameworks
Development Production
41
Client
Predictions
ScoringTraining Data
Training Model Store
ServiceScoring Data
ID Pred
Service
Production
Transform
42
FactsProducer
Client Scoring
Events
Cache
Requests
Predictions
ID Data
ID
Pred
1. Definition von Problemstellung, Zielsetzung und
angemessenen Performance-Metriken
2. Identifikation von grundlegenden Features und
einfachen Modellierungsansätzen
3. Fokus auf stabile Pipelines und skalierbare
Algorithmen bzw. Frameworks
44
45
› ML Deployment betrifft den gesamten Lebenszyklus
› SW Engineering ist essenziell für produktionsreifes ML
› Pipeline-Konzept erleichtert Reproduzierbarkeit
› Kontinuierliches Performance-Monitoring
› ML Frameworks und Container-basierte Ansätze
Rules of ML, Best Practices for ML Engineering
Data Science in Production: Packaging, Versioning and Continuous Integration
From the Lab to the Factory: Building a Production Machine Learning Infrastructure
The Keys to effective Data Science Projects
Demystifying Docker for Data Scientists
Production Recommendation Systems with Cloudera
Machine Learning for Software Engineers
Overlapping Experiment Infrastructure
46
Marcel Spitzer
Big Data Scientist
inovex GmbH
Ludwig-Erhard-Allee 6
76131 Karlsruhe