+ All Categories
Home > Documents > ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex...

ML Deployment - business-analytics-day.de · 2 Marcel Spitzer Big Data Scientist @ inovex...

Date post: 01-Sep-2019
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
31
ML Deployment Vom Prototyp zur Produktion Marcel Spitzer Karlsruhe, 15.3.2018
Transcript
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

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

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

› 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

› 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

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

› 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

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

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

› 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

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

› 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

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

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

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

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

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

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

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

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

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

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

› 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

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

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

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

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

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

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

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

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

Vielen Dank

Marcel Spitzer

Big Data Scientist

inovex GmbH

Ludwig-Erhard-Allee 6

76131 Karlsruhe

[email protected]


Recommended