Slide 1

Slide 1 text

Just deploy it! How to ship your ML model to production. M A R I A N N A D I A C H U K 1

Slide 2

Slide 2 text

@dark_matter88_ A B O U T M E • Data scientist based in Kyiv (Ukraine) • Developed and deployed multiple ensemble models • Leaded a small but proud team of 2 scientists and 1 data engineer • Supports use of software engineering best practices in data science 2

Slide 3

Slide 3 text

@dark_matter88_ A G E N D A 1. Things to focus on before deployment 2. How to deploy your model from Jupyter Notebooks 3. How to build a custom solution 3

Slide 4

Slide 4 text

@dark_matter88_ O N C E U P O N A T I M E T H E R E W E R E D ATA S C I E N T I S T S D O I N G T H E I R M A G I C R E S E A R C H … 4

Slide 5

Slide 5 text

@dark_matter88_ O N C E U P O N A T I M E T H E R E W E R E D ATA S C I E N T I S T S D O I N G T H E I R M A G I C R E S E A R C H … 5

Slide 6

Slide 6 text

@dark_matter88_ W H AT T O S TA RT F R O M ? ? ? ? ? 6

Slide 7

Slide 7 text

@dark_matter88_ 7 D ATA S C I E N T I S T

Slide 8

Slide 8 text

@dark_matter88_ 8 quality of predictions insights cleanliness of data D ATA S C I E N T I S T

Slide 9

Slide 9 text

@dark_matter88_ 9 quality of predictions insights cleanliness of data S O F T WA R E E N G I N E E R D ATA S C I E N T I S T

Slide 10

Slide 10 text

@dark_matter88_ 10 quality of predictions insights cleanliness of data quality of code user acceptance test coverage maintainability… S O F T WA R E E N G I N E E R D ATA S C I E N T I S T

Slide 11

Slide 11 text

@dark_matter88_ W H AT D O W E H AV E ? 11

Slide 12

Slide 12 text

@dark_matter88_ W H AT D O W E H AV E ? Model 12

Slide 13

Slide 13 text

@dark_matter88_ W H AT D O W E H AV E ? Model Features 13

Slide 14

Slide 14 text

@dark_matter88_ W H AT D O W E H AV E ? Model Features 14

Slide 15

Slide 15 text

@dark_matter88_ W H AT D O W E H AV E ? Model Features Raw data 15

Slide 16

Slide 16 text

@dark_matter88_ W H AT D O W E H AV E ? Model Features Raw data 16

Slide 17

Slide 17 text

@dark_matter88_ W H AT D O W E H AV E ? Model Features Raw data Pipeline 17

Slide 18

Slide 18 text

@dark_matter88_ W H AT D O W E H AV E ? 18

Slide 19

Slide 19 text

@dark_matter88_ W H AT D O W E H AV E ? 19 Research environment

Slide 20

Slide 20 text

@dark_matter88_ W H AT D O W E H AV E ? 20 System with its characteristics Research environment

Slide 21

Slide 21 text

@dark_matter88_ D E P L O Y M E N T D E S I G N D E P E N D S O N … • Type of production data 21

Slide 22

Slide 22 text

@dark_matter88_ D E P L O Y M E N T D E S I G N D E P E N D S O N … • Type of production data 22 • Architecture of production system

Slide 23

Slide 23 text

@dark_matter88_ A R C H I T E C T U R E O F P R O D U C T I O N S Y S T E M part of monolith system M L 23

Slide 24

Slide 24 text

@dark_matter88_ A R C H I T E C T U R E O F P R O D U C T I O N S Y S T E M part of monolith system M L microservice M L 24

Slide 25

Slide 25 text

@dark_matter88_ A R C H I T E C T U R E O F P R O D U C T I O N S Y S T E M part of monolith system M L microservice M L M L module 25

Slide 26

Slide 26 text

@dark_matter88_ • Type of production data • Architecture of production system • Infrastructure of production system 26 D E P L O Y M E N T D E S I G N D E P E N D S O N …

Slide 27

Slide 27 text

@dark_matter88_ 27 D E P L O Y M E N T D E S I G N D E P E N D S O N …

Slide 28

Slide 28 text

@dark_matter88_ Y O U C A N D E P L O Y Y O U R M O D E L … 28 - as a part of the system

Slide 29

Slide 29 text

@dark_matter88_ Y O U C A N D E P L O Y Y O U R M O D E L … 29 - from - as a part of the system

Slide 30

Slide 30 text

@dark_matter88_ Y O U C A N D E P L O Y Y O U R M O D E L … - moving your pipeline to frontend 30 - from - as a part of the system

Slide 31

Slide 31 text

@dark_matter88_ Y O U C A N D E P L O Y Y O U R M O D E L … 31 - from - as a part of the system

Slide 32

Slide 32 text

@dark_matter88_ D E P L O Y I N G F R O M 32

Slide 33

Slide 33 text

@dark_matter88_ D E P L O Y I N G F R O M I S N O T R E A L LY G O O D ? 33

Slide 34

Slide 34 text

@dark_matter88_ D E P L O Y I N G F R O M IMHO I S N O T R E A L LY G O O D ? 34

Slide 35

Slide 35 text

@dark_matter88_ D E P L O Y I N G F R O M IMHO I S N O T R E A L LY G O O D ? 35 • Non-linear workflow

Slide 36

Slide 36 text

@dark_matter88_ D E P L O Y I N G F R O M IMHO I S N O T R E A L LY G O O D ? 36 • Hard to test • Non-linear workflow

Slide 37

Slide 37 text

@dark_matter88_ D E P L O Y I N G F R O M IMHO I S N O T R E A L LY G O O D ? 37 • Hard to test • Limits and complicates support • Non-linear workflow

Slide 38

Slide 38 text

@dark_matter88_ 38 D E P L O Y I N G F R O M J U P Y T E R N O T E B O O K S

Slide 39

Slide 39 text

@dark_matter88_ 39 D E P L O Y I N G F R O M J U P Y T E R N O T E B O O K S

Slide 40

Slide 40 text

@dark_matter88_ D E P L O Y I N G F R O M J U P Y T E R N O T E B O O K S 40

Slide 41

Slide 41 text

@dark_matter88_ D E P L O Y I N G F R O M J U P Y T E R N O T E B O O K S 41

Slide 42

Slide 42 text

@dark_matter88_ D E P L O Y I N G F R O M J U P Y T E R N O T E B O O K S 42

Slide 43

Slide 43 text

@dark_matter88_ D E P L O Y I N G F R O M J U P Y T E R N O T E B O O K S 43

Slide 44

Slide 44 text

@dark_matter88_ 44 D E P L O Y I N G F R O M J U P Y T E R N O T E B O O K S

Slide 45

Slide 45 text

@dark_matter88_ 45 D E P L O Y I N G F R O M J U P Y T E R N O T E B O O K S

Slide 46

Slide 46 text

@dark_matter88_ 46 D E P L O Y I N G F R O M J U P Y T E R N O T E B O O K S

Slide 47

Slide 47 text

@dark_matter88_ A P I S Y S T E M request response 47

Slide 48

Slide 48 text

@dark_matter88_ C U S T O M D E P L O Y M E N T A P I 1 48

Slide 49

Slide 49 text

@dark_matter88_ C U S T O M D E P L O Y M E N T A P I 1 2 49

Slide 50

Slide 50 text

@dark_matter88_ C U S T O M D E P L O Y M E N T A P I 3 get prediction prediction 50

Slide 51

Slide 51 text

@dark_matter88_ C U S T O M D E P L O Y M E N T A P I S Y S T E M request response 0 51

Slide 52

Slide 52 text

@dark_matter88_ C U S T O M D E P L O Y M E N T 52

Slide 53

Slide 53 text

@dark_matter88_ C U S T O M D E P L O Y M E N T - lightweight - more freedom in modules design - more adjustments - a lot of built-in features 53

Slide 54

Slide 54 text

@dark_matter88_ C U S T O M D E P L O Y M E N T - lightweight - more freedom in modules design - more adjustments - a lot of built-in features 54

Slide 55

Slide 55 text

@dark_matter88_ C U S T O M D E P L O Y M E N T - lightweight - more freedom in modules design - more adjustments - a lot of built-in features 55

Slide 56

Slide 56 text

@dark_matter88_ C U S T O M D E P L O Y M E N T 2 56

Slide 57

Slide 57 text

@dark_matter88_ C U S T O M D E P L O Y M E N T 57 0 Feature_1 1 Feature_2 2 Feature_3 3 Feature_4 4 Feature_5 5 Feature_6 6 Feature_7

Slide 58

Slide 58 text

@dark_matter88_ C U S T O M D E P L O Y M E N T 58 0 Feature_1 1 Feature_2 2 Feature_3 3 Feature_4 4 Feature_5 5 Feature_6 6 Feature_7 model 1 model 2

Slide 59

Slide 59 text

@dark_matter88_ C U S T O M D E P L O Y M E N T 59

Slide 60

Slide 60 text

@dark_matter88_ M O N I T O R I N G & S C A L I N G 60

Slide 61

Slide 61 text

@dark_matter88_ M O N I T O R I N G & S C A L I N G 61

Slide 62

Slide 62 text

@dark_matter88_ M O N I T O R I N G & S C A L I N G 62

Slide 63

Slide 63 text

@dark_matter88_ J U S T D E P L O Y I T ! 63

Slide 64

Slide 64 text

@dark_matter88_ J U S T D E P L O Y I T ! 64

Slide 65

Slide 65 text

@dark_matter88_ T H A N K Y O U F O R Y O U AT T E N T I O N 65

Slide 66

Slide 66 text

@dark_matter88_ C O N TA C T M E marianna-diachuk @dark_matter88_ @mariaannadiachuk DarkMatter88 66

Slide 67

Slide 67 text

@dark_matter88_ Q & A S E S S I O N 67 ? ? ?