1 of 65

I know about Machine Learning but... Am I ready for the real world?

1

2 of 65

SUPPORTERS

DIVERSITY

PREMIUM

BASIC

#SCBCN22

IX EDITION

3 of 65

Elena´s first day deploying to production

3

4 of 65

What do we want to talk about?

01

What is Machine Learning?

For kids

02

My journey

To learn machine learning

03

Challenges

For machine learning engineers

04

Problems and solutions

In Adevinta

05

What have we learned?

Some helpful tips

4

5 of 65

Who are we?

Elena Tajadura

ML Engineer

Jorge Castro

ML Engineer

5

6 of 65

What is Machine Learning?

For Kids…..

6

7 of 65

What is Machine Learning? For kids….

This is a dog

02

What is this?

01

7

8 of 65

What is Machine Learning? For kids….

This is a cat

02

What animal do you see in this picture?

01

8

9 of 65

What is Machine Learning? For kids….

Machine learning for kids

  • Learning things about the world from large amounts of data that we as humans can neither study nor discover.

Machine learning for kids

  • When we teach computers to learn patterns in data from examples so that they can recognize those patterns and apply them to new things it has never seen before.

Or

9

10 of 65

What is Machine Learning? For kids….

This is a dog

02

What animal do you see in this picture?

01

10

11 of 65

What is Machine Learning? For kids….

Inputs

Photography

Input 1

Input 2

Input 3

Outputs

This is a dog

Output 1

Output 2

Output 3

11

12 of 65

What is Machine Learning? For Devs….

12

In addition to developing our backend we have to…

Data

Monitoring

Data

Exploration

Data

Collection

Feature

Engineering

Model training and Parameter tuning

Model

Evaluation

Data

Cleaning

13 of 65

What is Machine Learning? For Devs….

13

In addition to developing our backend we have to…

In addition to deploying and monitoring our backend we have to…

Data

Monitoring

Data

Exploration

Data

Collection

Feature

Engineering

Model training and Parameter tuning

Model

Evaluation

Monitoring

the Model

Model

Deployment

and Integration

Model

Development

Evaluate

Analyze

Errors

Launch!

Data

Cleaning

14 of 65

Machine Learning roles

14

Site

Reliability Engineering

15 of 65

Are you using machine learning in your daily life?

15

16 of 65

Yes, you are using Machine Learning every day

01

Email Spam Filter

gmail, yahoo, outlook….

Recommenders

Netflix, Amazon…

02

Image Recognition

Google Photos, Tesla Autopilot, Filters on Mobile Apps…

03

Text And Speech Recognition

Siri, Ok Google, Alexa…

05

Medical Diagnosis

Improved radiotherapy, Clinical trials, Virus outbreak prediction,

04

Fraud Detection

Phishing, Payment fraud, Identity theft

06

ML for business

16

17 of 65

And now you can use incredible Machine learning products

Machine Learning products

01

Video

02

Easy coding

03

Bio-medicine

04

3D

05

Face edition

06

Image generation

17

18 of 65

My journey

To learn Machine Learning

18

19 of 65

A little bit of history

Evolution to Machine Learning Engineer

04

Master Data Science

02

Software engineer

01

Maths

03

SRE

Machine

Learning

19

20 of 65

Masters’ final project

Objectives

Reusable in Adevinta

01

Solves some customer pain

02

20

21 of 65

Next, deploying it to prod…

21

22 of 65

22

23 of 65

ML model deployment challenges

01

Data acquisition

02

Response time

04

Time and resources

03

Monitoring

23

24 of 65

Masters’ final project

Objectives

Reusable in Adevinta

01

Solves some customer pain

02

24

25 of 65

Can we develop Machine Learning products?

25

26 of 65

Yes, we can.

Even if you are a child.

26

27 of 65

Can we develop machine learning products?

Challenge

  • Integrate ML systems with our products
  • They can scale
  • They can be monitored and observed continuously

Yes, but…

Not a challenge

  • Data acquisition
  • Develop ML models

27

28 of 65

Is this a problem only in Adevinta?

28

29 of 65

No. Companies using ML are facing the same problems everywhere

Artificial Intelligence projects are not going from prototype to production

47%

87%

Data science projects never make it into production

29

87%

47%

2019

2021

30 of 65

Tackling real problems

The Near Past

30

31 of 65

Where do we keep our Machine Learning code?

From Local, Google Drive, Dropbox…

31

Past

Near Past

Topic

Code Versioning

Github

32 of 65

Where do we keep our Machine Learning code?

From Local, Google Drive, Dropbox…

To Github

32

Past

Near Past

Topic

Code Versioning

Github

33 of 65

Git problems with notebooks

*.ipynb

git diff

33

34 of 65

Git friendly notebooks

*.ipynb

*.py

34

35 of 65

Where do we develop our models and training pipelines?

In local machine or on ec2 machine that each developer configures as needed

35

Past

Near Past

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

36 of 65

How can I deploy and serve my model?

Microservices Java

36

Past

Near Past

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

Deploy and Serve ML

In Web Microservices Platform

37 of 65

How can I deploy and serve my model?

From Microservices Java

To Microservices Python

37

Past

Near Past

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

Deploy and Serve ML

In Web Microservices Platform

38 of 65

How can I deploy and serve my model?

Java template in web microservices architecture

38

Create/Update Datadog objects

Spinnaker

(deploy)

Create/Update cloudformation stacks

Deploy k8s

es-microxx-prx namespace

39 of 65

How can I deploy and serve my model?

Python template but in Web microservices architecture

39

Create/Update Datadog objects

Spinnaker

(deploy)

Create/Update cloudformation stacks

Deploy k8s

es-microxx-prx namespace

40 of 65

How can I monitor my models in production?

  • Dashboards prepared for web apps but not for ML models
  • We use Datadog & OpenSearch

40

Past

Near Past

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

Deploy and Serve ML

In Web Microservices Platform

Monitoring and Observability

Designed for Web

41 of 65

How can I scale up my models?

Past

Near Past

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

Deploy and Serve ML

In Web Microservices Platform

Monitoring and Observability

Designed for Web

Scaling up trainings and models

Doesn’t exist

What are you talking about? GPUs? TPUs? Teras of RAM? Inferentia chips?

41

42 of 65

Tackling real problems

The Present

42

43 of 65

Where do we keep our Machine Learning code?

Near Past

Today

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

Deploy and Serve ML

In Web Microservices Platform

Monitoring and Observability

Designed for Web

Scaling up trainings and models

Doesn’t exist

  • All teams have seen the benefits: versioning, reverts, find old versions of code……

43

44 of 65

Where do we develop our models and training pipelines?

Near Past

Today

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

Deploy and Serve ML

In Web Microservices Platform

Monitoring and Observability

Designed for Web

Scaling up trainings and models

Doesn’t exist

  • We have created the Adevinta ML Platform (aka Unicron)

44

45 of 65

From Python microservices

in a web ecosystem…

45

Create/Update Datadog objects

Spinnaker

(deploy)

Create/Update cloudformation stacks

Deploy k8s

es-microxx-prx namespace

46 of 65

To Adevinta ML Platform

46

Unicron Templates

47 of 65

From Python microservices

in a web ecosystem…

47

Create/Update Datadog objects

Spinnaker

(deploy)

Create/Update cloudformation stacks

Deploy k8s

es-microxx-prx namespace

48 of 65

Adevinta ML Platform serving pipeline

48

k8s for Web

Argo CD

Train model

ML unicron repository

k8s for ML

Argo CD

49 of 65

To Adevinta ML Platform

49

ML Platform Template

50 of 65

Adevinta ML Platform - Kubeflow Pipelines

50

50

51 of 65

Adevinta ML Platform - ML Flow

51

51

52 of 65

How can I deploy and serve my model?

Near Past

Today

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

Deploy and Serve ML

In Web Microservices Platform

Monitoring and Observability

Designed for Web

Scaling up trainings and models

Doesn’t exist

ML Platform Template

52

53 of 65

Adevinta ML Platform

Gitops - Argo CD - k8s

53

53

54 of 65

Adevinta ML Platform Serving

54

54

55 of 65

How can I monitor my models in production?

Near Past

Today

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

Deploy and Serve ML

In Web Microservices Platform

Monitoring and Observability

Designed for Web

Scaling up trainings and models

Doesn’t exist

You can choose:

Datadog, ELK, Prometheus, Grafana

55

56 of 65

How can I scale up my models and pipelines?

Near Past

Today

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

Deploy and Serve ML

In Web Microservices Platform

Monitoring and Observability

Designed for Web

Scaling up trainings and models

Doesn’t exist

  • ML Platform self-service in a simple way

56

57 of 65

How can I scale up my models and pipelines?

  • ML Platform self-service in a simple way

Near Past

Today

Topic

Code Versioning

Github

Develop and Training Environments

Local or EC2

Deploy and Serve ML

In Web Microservices Platform

Monitoring and Observability

Designed for Web

Scaling up trainings and models

Doesn’t exist

57

58 of 65

Tackling real problems

The near future

58

59 of 65

We are working on….

  • Improving the monitoring of our Machine Learning Metrics
  • Improving ML Platform UX for non Dev Users
  • Tools for No Code ML and Auto ML

59

60 of 65

What have we learned during this time?

60

61 of 65

What have we learned during this time?

03

Highly talented

Talent is not cheap,

nor accessible, nor abundant

02

Software quality

Consolidated best practices

Do you really need ML?

Is there a simpler way to solve the problem?

01

05

ML Software SaaS

You can start with products from the market

Interconnected teams

Tech, Data, Product, Business

04

61

62 of 65

Adevinta Machine Learning Applications

We do the matching for you

Recommenders

Import your CV in one click

PDF CV Parsing

Detecting and preventing fraudulent ads

Fraud detection

Pricing tool, Jobs normalizations, Propensity to purchase…

And much more…

It is complex, yes, but Machine Learning is helping in all business areas

63 of 65

Machine

learning

And all these projects help to…

In the last 10 minutes...

people have found a new home

19

120

5

people have found a new job

connections have been made

8.500

people have connected to find the best mobility solution for their needs.

We contribute to improving people's lives

63

64 of 65

Special Thanks!

For this slides templates:

64

65 of 65

Any questions?

Elena Tajadura

@etajadura

etajadura@gmail.com

Jorge Castro

@nikey_es

nikey.es@gmail.com

65