Data Science mit Python und R - inovex · Colin Shearer, Rüdiger Wirth (2000); CRISP-DM 1.0...

Preview:

Citation preview

2

● Data Science mit Python und R

● ML Engineering, ML Deployment

● Big Data, Hadoop, Spark

mspitzer@inovex.de

@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

marcel.spitzer@inovex.de

Recommended